Mercurial > hg
changeset 10695:b4b16e90712f stable
convert: teach cvsps to handle . repository (issue1649)
For a CVS repository checked out with "cvs co .", the prefix used to strip of
what we get from CVS was previously erroneously set to "repopath/.".
We now prevent the dot to be added.
Test folded in test-convert-cvs and simplified by Patrick Mézard
<pmezard@gmail.com>.
author | Mathieu Clabaut <mathieu.clabaut@systerel.fr> |
---|---|
date | Tue, 09 Mar 2010 12:09:57 +0100 |
parents | a778a367c20b |
children | 28e9a9907236 c90d923fff64 |
files | hgext/convert/cvsps.py tests/test-convert-cvs tests/test-convert-cvs.out |
diffstat | 3 files changed, 37 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/convert/cvsps.py Sun Mar 14 18:46:38 2010 +0100 +++ b/hgext/convert/cvsps.py Tue Mar 09 12:09:57 2010 +0100 @@ -124,9 +124,9 @@ # Get the real directory in the repository try: prefix = open(os.path.join('CVS','Repository')).read().strip() + directory = prefix if prefix == ".": prefix = "" - directory = prefix except IOError: raise logerror('Not a CVS sandbox') @@ -184,7 +184,11 @@ p = util.normpath(getrepopath(root)) if not p.endswith('/'): p += '/' - prefix = p + util.normpath(prefix) + if prefix: + # looks like normpath replaces "" by "." + prefix = p + util.normpath(prefix) + else: + prefix = p cmd.append(['log', 'rlog'][rlog]) if date: # no space between option and date string
--- a/tests/test-convert-cvs Sun Mar 14 18:46:38 2010 +0100 +++ b/tests/test-convert-cvs Tue Mar 09 12:09:57 2010 +0100 @@ -75,6 +75,15 @@ hgcat b/c hg -R src-filemap log --template '{rev} {desc} files: {files}\n' +echo % 'convert full repository (issue1649)' +cvscall -q -d "$CVSROOT" checkout -d srcfull "." | grep -v CVSROOT +ls srcfull +hg convert srcfull srcfull-hg \ + | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' \ + | grep -v 'log entries' | grep -v 'hook:' +hg cat -r tip srcfull-hg/src/a +hg cat -r tip srcfull-hg/src/b/c + echo % commit new file revisions cd src echo a >> a
--- a/tests/test-convert-cvs.out Sun Mar 14 18:46:38 2010 +0100 +++ b/tests/test-convert-cvs.out Tue Mar 09 12:09:57 2010 +0100 @@ -53,6 +53,28 @@ 2 update tags files: .hgtags 1 ci0 files: b/c 0 Initial revision files: b/c +% convert full repository (issue1649) +U srcfull/src/a +U srcfull/src/b/c +CVS +CVSROOT +src +initializing destination srcfull-hg repository +connecting to cvsrepo +scanning source... +collecting CVS rlog +creating changesets +4 changeset entries +sorting... +converting... +3 Initial revision +2 import +1 initial checkin +0 ci0 +updating tags +a +c +c % commit new file revisions checking in src/a,v checking in src/b/c,v