[Cvsnt] Latest Updates
John Lehmann
JLehmann at cgi-australia.com
Thu Apr 11 02:34:25 BST 2002
This is a MIME message. If you are reading this text, you may want to
consider changing to a mail reader or gateway that understands how to
properly handle MIME multipart messages.
--
Very briefly tested ;)
John Lehmann
Senior Developer
CGI Information Systems and Management Consultants Pty Ltd
Sydney, NSW, Australia
*** Confidentiality Notice ***
Proprietary/Confidential Information belonging to CGI may be contained in this
message. If you are not a recipient indicated or intended in this message (or
responsible for delivery of this message to such person), or you think for any
reason that this message may have been addressed to you in error, you may
not use or copy or deliver this message to anyone else. In such case, you
should destroy this message and kindly notify the sender by reply e-mail.
>>> Brian Smith <brian-l-smith at uiowa.edu> 04/11/02 10:22am >>>
Tony Hoyle wrote:
> cvsnt 1.11.1.3 build 57b
>
> Merge a few changes in from the main branch.
> Add support for {} in cvsroot, currently interpreted
> by 'ext' as an override for CVS_RSH - eg:
> :ext:{ssh}foo at bar:/usr/local/cvs
> Version stuff.
This is very cool. It would be cool if somebody could write a script or
(to be bundled with CVSNT) or a new cvs client command that can
"migrate" all the Repository files from one root to another. examples:
cvsroot_update :ext:(ssh)foo at bar:/usr/local/cvs
Old Repository file contents: :ext:foo at bar:/usr/local/cvs
New Repository file contents: :ext:(ssh)foo at bar:/usr/local/cvs
or cvs root :sspi:bar:/usr/local/cvs
Old Repository file contents: :ntserver:bar:/usr/local/cvs
New Repository file contents: :sspi:bar:/usr/local/cvs
Unfortunately, I cannot volunteer to do this because I've been too busy :(
- Brian
_______________________________________________
Cvsnt mailing list
Cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
--
"""
"migrate" all the Repository files from one root to another. examples:
cvsroot_update :ext:(ssh)foo at bar:/usr/local/cvs
Old Repository file contents: :ext:foo at bar:/usr/local/cvs
New Repository file contents: :ext:(ssh)foo at bar:/usr/local/cvs
or cvs root :sspi:bar:/usr/local/cvs
Old Repository file contents: :ntserver:bar:/usr/local/cvs
New Repository file contents: :sspi:bar:/usr/local/cvs
Copyright (C) 2002 John Lehmann
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
"""
import sys, os, string
USAGE = """
%s -m <newcvsroot> targetdir
"migrate" all the Repository files in the target directory from one root to another.
"""%(sys.argv[0])
def migrate_repository(targetdir, newcvsroot):
def migratefunc(data, directory, files):
if os.path.split(directory)[1] == "CVS":
if "Root" in files:
p = os.path.join(directory, "Root")
open(p, 'w').write(data['newcvsroot'])
data['count'] = data['count'] + 1
if not os.path.isdir( targetdir ):
print USAGE
print "Directory %s not found."%(targetdir)
return
data = {}
data['newcvsroot'] = newcvsroot + "\n"
data['count'] = 0
os.path.walk( targetdir, migratefunc, data )
print "Repository changed to %s in %d directories"%(newcvsroot, data['count'])
def main():
args = sys.argv
opt = args[1]
if opt == "-m":
if len(args) == 4:
newroot = args[2]
tgt = args[3]
return migrate_repository(tgt, newroot)
print USAGE
if __name__ == "__main__":
main()
_______________________________________________
Cvsnt mailing list
Cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
More information about the cvsnt
mailing list