# HG changeset patch # User Patrick Mezard # Date 2009-10-05 20:57:15 # Node ID 56a5f80556f5b27b4d8579d1949dcbfeaf62e030 # Parent 5287de171d74061b00cf55f3d9224dc76f832d7c convert/cvs: stop supporting external cvsps diff --git a/hgext/convert/__init__.py b/hgext/convert/__init__.py --- a/hgext/convert/__init__.py +++ b/hgext/convert/__init__.py @@ -142,23 +142,8 @@ def convert(ui, src, dest=None, revmapfi converted, and that any directory reorganization in the CVS sandbox is ignored. - Because CVS does not have changesets, it is necessary to collect - individual commits to CVS and merge them into changesets. CVS - source uses its internal changeset merging code by default but can - be configured to call the external 'cvsps' program by setting:: - - --config convert.cvsps='cvsps -A -u --cvs-direct -q' - - This option is deprecated and will be removed in Mercurial 1.4. - The options shown are the defaults. - Internal cvsps is selected by setting :: - - --config convert.cvsps=builtin - - and has a few more configurable options: - --config convert.cvsps.cache=True (boolean) Set to False to disable remote log caching, for testing and debugging purposes. diff --git a/hgext/convert/cvs.py b/hgext/convert/cvs.py --- a/hgext/convert/cvs.py +++ b/hgext/convert/cvs.py @@ -22,21 +22,11 @@ class convert_cvs(converter_source): raise NoRepo("%s does not look like a CVS checkout" % path) checktool('cvs') - self.cmd = ui.config('convert', 'cvsps', 'builtin') - cvspsexe = self.cmd.split(None, 1)[0] - self.builtin = cvspsexe == 'builtin' - if not self.builtin: - ui.warn(_('warning: support for external cvsps is deprecated and ' - 'will be removed in Mercurial 1.4\n')) - - if not self.builtin: - checktool(cvspsexe) self.changeset = None self.files = {} self.tags = {} self.lastbranch = {} - self.parent = {} self.socket = None self.cvsroot = open(os.path.join(cvs, "Root")).read()[:-1] self.cvsrepo = open(os.path.join(cvs, "Repository")).read()[:-1] @@ -50,19 +40,13 @@ class convert_cvs(converter_source): self.changeset = {} maxrev = 0 - cmd = self.cmd if self.rev: # TODO: handle tags try: # patchset number? maxrev = int(self.rev) except ValueError: - try: - # date - util.parsedate(self.rev, ['%Y/%m/%d %H:%M:%S']) - cmd = '%s -d "1970/01/01 00:00:01" -d "%s"' % (cmd, self.rev) - except util.Abort: - raise util.Abort(_('revision %s is not a patchset number or date') % self.rev) + raise util.Abort(_('revision %s is not a patchset number') % self.rev) d = os.getcwd() try: @@ -71,116 +55,36 @@ class convert_cvs(converter_source): state = 0 filerevids = {} - if self.builtin: - # builtin cvsps code - self.ui.status(_('using builtin cvsps\n')) - - cache = 'update' - if not self.ui.configbool('convert', 'cvsps.cache', True): - cache = None - db = cvsps.createlog(self.ui, cache=cache) - db = cvsps.createchangeset(self.ui, db, - fuzz=int(self.ui.config('convert', 'cvsps.fuzz', 60)), - mergeto=self.ui.config('convert', 'cvsps.mergeto', None), - mergefrom=self.ui.config('convert', 'cvsps.mergefrom', None)) - - for cs in db: - if maxrev and cs.id>maxrev: - break - id = str(cs.id) - cs.author = self.recode(cs.author) - self.lastbranch[cs.branch] = id - cs.comment = self.recode(cs.comment) - date = util.datestr(cs.date) - self.tags.update(dict.fromkeys(cs.tags, id)) - - files = {} - for f in cs.entries: - files[f.file] = "%s%s" % ('.'.join([str(x) for x in f.revision]), - ['', '(DEAD)'][f.dead]) + cache = 'update' + if not self.ui.configbool('convert', 'cvsps.cache', True): + cache = None + db = cvsps.createlog(self.ui, cache=cache) + db = cvsps.createchangeset(self.ui, db, + fuzz=int(self.ui.config('convert', 'cvsps.fuzz', 60)), + mergeto=self.ui.config('convert', 'cvsps.mergeto', None), + mergefrom=self.ui.config('convert', 'cvsps.mergefrom', None)) - # add current commit to set - c = commit(author=cs.author, date=date, - parents=[str(p.id) for p in cs.parents], - desc=cs.comment, branch=cs.branch or '') - self.changeset[id] = c - self.files[id] = files - else: - # external cvsps - for l in util.popen(cmd): - if state == 0: # header - if l.startswith("PatchSet"): - id = l[9:-2] - if maxrev and int(id) > maxrev: - # ignore everything - state = 3 - elif l.startswith("Date:"): - date = util.parsedate(l[6:-1], ["%Y/%m/%d %H:%M:%S"]) - date = util.datestr(date) - elif l.startswith("Branch:"): - branch = l[8:-1] - self.parent[id] = self.lastbranch.get(branch, 'bad') - self.lastbranch[branch] = id - elif l.startswith("Ancestor branch:"): - ancestor = l[17:-1] - # figure out the parent later - self.parent[id] = self.lastbranch[ancestor] - elif l.startswith("Author:"): - author = self.recode(l[8:-1]) - elif l.startswith("Tag:") or l.startswith("Tags:"): - t = l[l.index(':')+1:] - t = [ut.strip() for ut in t.split(',')] - if (len(t) > 1) or (t[0] and (t[0] != "(none)")): - self.tags.update(dict.fromkeys(t, id)) - elif l.startswith("Log:"): - # switch to gathering log - state = 1 - log = "" - elif state == 1: # log - if l == "Members: \n": - # switch to gathering members - files = {} - oldrevs = [] - log = self.recode(log[:-1]) - state = 2 - else: - # gather log - log += l - elif state == 2: # members - if l == "\n": # start of next entry - state = 0 - p = [self.parent[id]] - if id == "1": - p = [] - if branch == "HEAD": - branch = "" - if branch: - latest = 0 - # the last changeset that contains a base - # file is our parent - for r in oldrevs: - latest = max(filerevids.get(r, 0), latest) - if latest: - p = [latest] + for cs in db: + if maxrev and cs.id>maxrev: + break + id = str(cs.id) + cs.author = self.recode(cs.author) + self.lastbranch[cs.branch] = id + cs.comment = self.recode(cs.comment) + date = util.datestr(cs.date) + self.tags.update(dict.fromkeys(cs.tags, id)) - # add current commit to set - c = commit(author=author, date=date, parents=p, - desc=log, branch=branch) - self.changeset[id] = c - self.files[id] = files - else: - colon = l.rfind(':') - file = l[1:colon] - rev = l[colon+1:-2] - oldrev, rev = rev.split("->") - files[file] = rev + files = {} + for f in cs.entries: + files[f.file] = "%s%s" % ('.'.join([str(x) for x in f.revision]), + ['', '(DEAD)'][f.dead]) - # save some information for identifying branch points - oldrevs.append("%s:%s" % (oldrev, file)) - filerevids["%s:%s" % (rev, file)] = id - elif state == 3: - # swallow all input - continue + # add current commit to set + c = commit(author=cs.author, date=date, + parents=[str(p.id) for p in cs.parents], + desc=cs.comment, branch=cs.branch or '') + self.changeset[id] = c + self.files[id] = files self.heads = self.lastbranch.values() finally: diff --git a/tests/hghave b/tests/hghave --- a/tests/hghave +++ b/tests/hghave @@ -47,9 +47,6 @@ def has_cvs(): re = r'Concurrent Versions System.*?server' return matchoutput('cvs --version 2>&1', re) -def has_cvsps(): - return matchoutput('cvsps -h -q 2>&1', r'cvsps version', True) - def has_darcs(): return matchoutput('darcs --version', r'2\.[2-9]', True) @@ -186,7 +183,6 @@ checks = { "bzr": (has_bzr, "Canonical's Bazaar client"), "bzr114": (has_bzr114, "Canonical's Bazaar client >= 1.14"), "cvs": (has_cvs, "cvs client/server"), - "cvsps": (has_cvsps, "cvsps utility"), "darcs": (has_darcs, "darcs client"), "eol-in-paths": (has_eol_in_paths, "end-of-lines in paths"), "execbit": (has_executablebit, "executable bit"), diff --git a/tests/test-convert-cvs b/tests/test-convert-cvs --- a/tests/test-convert-cvs +++ b/tests/test-convert-cvs @@ -1,10 +1,10 @@ #!/bin/sh -"$TESTDIR/hghave" cvs cvsps || exit 80 +"$TESTDIR/hghave" cvs || exit 80 cvscall() { - cvs -f $@ + cvs -f "$@" } hgcat() @@ -12,12 +12,9 @@ hgcat() hg --cwd src-hg cat -r tip "$1" } -# Test legacy configuration with external cvsps echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "graphlog = " >> $HGRCPATH -echo "[convert]" >> $HGRCPATH -echo "cvsps=cvsps -A -u --cvs-direct -q" >> $HGRCPATH echo % create cvs repository mkdir cvsrepo @@ -95,11 +92,29 @@ cd .. echo % convert again hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' -hgcat a hgcat b/c echo % convert again with --filemap hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' hgcat b/c hg -R src-filemap log --template '{rev} {desc} files: {files}\n' + +echo % commit a new revision with funny log message +cd src +sleep 1 +echo e >> a +cvscall -q commit -m'funny +---------------------------- +log message' . | grep '<--' |\ + sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' +cd .. + +echo % convert again +hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' + +echo "graphlog = " >> $HGRCPATH hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n' + +echo % testing debugcvsps +cd src +hg debugcvsps | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/' diff --git a/tests/test-convert-cvs-branch b/tests/test-convert-cvs-branch --- a/tests/test-convert-cvs-branch +++ b/tests/test-convert-cvs-branch @@ -14,7 +14,6 @@ echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "graphlog = " >> $HGRCPATH echo "[convert]" >> $HGRCPATH -echo "cvsps=builtin" >> $HGRCPATH echo "cvsps.cache=0" >> $HGRCPATH echo % create cvs repository diff --git a/tests/test-convert-cvs-branch.out b/tests/test-convert-cvs-branch.out --- a/tests/test-convert-cvs-branch.out +++ b/tests/test-convert-cvs-branch.out @@ -25,7 +25,6 @@ assuming destination src-hg initializing destination src-hg repository connecting to cvsrepo scanning source... -using builtin cvsps collecting CVS rlog 7 log entries creating changesets diff --git a/tests/test-convert-cvs-builtincvsps b/tests/test-convert-cvs-builtincvsps deleted file mode 100755 --- a/tests/test-convert-cvs-builtincvsps +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/sh - -"$TESTDIR/hghave" cvs || exit 80 - -cvscall() -{ - cvs -f "$@" -} - -hgcat() -{ - hg --cwd src-hg cat -r tip "$1" -} - -echo "[extensions]" >> $HGRCPATH -echo "convert = " >> $HGRCPATH -echo "graphlog = " >> $HGRCPATH -echo "[convert]" >> $HGRCPATH -echo "cvsps=builtin" >> $HGRCPATH - -echo % create cvs repository -mkdir cvsrepo -cd cvsrepo -CVSROOT=`pwd` -export CVSROOT -CVS_OPTIONS=-f -export CVS_OPTIONS -cd .. - -cvscall -q -d "$CVSROOT" init - -echo % create source directory -mkdir src-temp -cd src-temp -echo a > a -mkdir b -cd b -echo c > c -cd .. - -echo % import source directory -cvscall -q import -m import src INITIAL start -cd .. - -echo % checkout source directory -cvscall -q checkout src - -echo % commit a new revision changing b/c -cd src -sleep 1 -echo c >> b/c -cvscall -q commit -mci0 . | grep '<--' |\ - sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' -cd .. - -echo % convert fresh repo -hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' -hgcat a -hgcat b/c - -echo % convert fresh repo with --filemap -echo include b/c > filemap -hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' -hgcat b/c -hg -R src-filemap log --template '{rev} {desc} files: {files}\n' - -echo % commit new file revisions -cd src -echo a >> a -echo c >> b/c -cvscall -q commit -mci1 . | grep '<--' |\ - sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' -cd .. - -echo % convert again -hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' -hgcat a -hgcat b/c - -echo % convert again with --filemap -hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' -hgcat b/c -hg -R src-filemap log --template '{rev} {desc} files: {files}\n' - -echo % commit branch -cd src -cvs -q update -r1.1 b/c -cvs -q tag -b branch -cvs -q update -r branch > /dev/null -echo d >> b/c -cvs -q commit -mci2 . | grep '<--' |\ - sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' -cd .. - -echo % convert again -hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' -hgcat b/c - -echo % convert again with --filemap -hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' -hgcat b/c -hg -R src-filemap log --template '{rev} {desc} files: {files}\n' - -echo % commit a new revision with funny log message -cd src -sleep 1 -echo e >> a -cvscall -q commit -m'funny ----------------------------- -log message' . | grep '<--' |\ - sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' -cd .. - -echo % convert again -hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' - -echo "graphlog = " >> $HGRCPATH -hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n' - -echo % testing debugcvsps -cd src -hg debugcvsps | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/' diff --git a/tests/test-convert-cvs-builtincvsps.out b/tests/test-convert-cvs-builtincvsps.out deleted file mode 100644 --- a/tests/test-convert-cvs-builtincvsps.out +++ /dev/null @@ -1,261 +0,0 @@ -% create cvs repository -% create source directory -% import source directory -N src/a -N src/b/c - -No conflicts created by this import - -% checkout source directory -U src/a -U src/b/c -% commit a new revision changing b/c -checking in src/b/c,v -% convert fresh repo -initializing destination src-hg repository -connecting to cvsrepo -scanning source... -using builtin cvsps -collecting CVS rlog -5 log entries -creating changesets -3 changeset entries -sorting... -converting... -2 Initial revision -1 import -0 ci0 -updating tags -a -c -c -% convert fresh repo with --filemap -initializing destination src-filemap repository -connecting to cvsrepo -scanning source... -using builtin cvsps -collecting CVS rlog -5 log entries -creating changesets -3 changeset entries -sorting... -converting... -2 Initial revision -1 import -filtering out empty revision -rolling back last transaction -0 ci0 -updating tags -c -c -2 update tags files: .hgtags -1 ci0 files: b/c -0 Initial revision files: b/c -% commit new file revisions -checking in src/a,v -checking in src/b/c,v -% convert again -connecting to cvsrepo -scanning source... -using builtin cvsps -collecting CVS rlog -7 log entries -creating changesets -4 changeset entries -sorting... -converting... -0 ci1 -a -a -c -c -c -% convert again with --filemap -connecting to cvsrepo -scanning source... -using builtin cvsps -collecting CVS rlog -7 log entries -creating changesets -4 changeset entries -sorting... -converting... -0 ci1 -c -c -c -3 ci1 files: b/c -2 update tags files: .hgtags -1 ci0 files: b/c -0 Initial revision files: b/c -% commit branch -U b/c -T a -T b/c -checking in src/b/c,v -% convert again -connecting to cvsrepo -scanning source... -using builtin cvsps -collecting CVS rlog -8 log entries -creating changesets -5 changeset entries -sorting... -converting... -0 ci2 -c -d -% convert again with --filemap -connecting to cvsrepo -scanning source... -using builtin cvsps -collecting CVS rlog -8 log entries -creating changesets -5 changeset entries -sorting... -converting... -0 ci2 -c -d -4 ci2 files: b/c -3 ci1 files: b/c -2 update tags files: .hgtags -1 ci0 files: b/c -0 Initial revision files: b/c -% commit a new revision with funny log message -checking in src/a,v -% convert again -connecting to cvsrepo -scanning source... -using builtin cvsps -collecting CVS rlog -9 log entries -creating changesets -6 changeset entries -sorting... -converting... -0 funny -o 6 (branch) funny -| ---------------------------- -| log message files: a -o 5 (branch) ci2 files: b/c - -o 4 () ci1 files: a b/c -| -o 3 () update tags files: .hgtags -| -o 2 () ci0 files: b/c -| -| o 1 (INITIAL) import files: -|/ -o 0 () Initial revision files: a b/c - -% testing debugcvsps -collecting CVS rlog -9 log entries -creating changesets -8 changeset entries ---------------------- -PatchSet 1 -Date: -Author: -Branch: HEAD -Tag: (none) -Branchpoints: INITIAL -Log: -Initial revision - -Members: - a:INITIAL->1.1 - ---------------------- -PatchSet 2 -Date: -Author: -Branch: HEAD -Tag: (none) -Branchpoints: INITIAL, branch -Log: -Initial revision - -Members: - b/c:INITIAL->1.1 - ---------------------- -PatchSet 3 -Date: -Author: -Branch: INITIAL -Tag: start -Log: -import - -Members: - a:1.1->1.1.1.1 - b/c:1.1->1.1.1.1 - ---------------------- -PatchSet 4 -Date: -Author: -Branch: HEAD -Tag: (none) -Log: -ci0 - -Members: - b/c:1.1->1.2 - ---------------------- -PatchSet 5 -Date: -Author: -Branch: HEAD -Tag: (none) -Branchpoints: branch -Log: -ci1 - -Members: - a:1.1->1.2 - ---------------------- -PatchSet 6 -Date: -Author: -Branch: HEAD -Tag: (none) -Log: -ci1 - -Members: - b/c:1.2->1.3 - ---------------------- -PatchSet 7 -Date: -Author: -Branch: branch -Tag: (none) -Log: -ci2 - -Members: - b/c:1.1->1.1.2.1 - ---------------------- -PatchSet 8 -Date: -Author: -Branch: branch -Tag: (none) -Log: -funny ----------------------------- -log message - -Members: - a:1.2->1.2.2.1 - diff --git a/tests/test-convert-cvs-detectmerge b/tests/test-convert-cvs-detectmerge --- a/tests/test-convert-cvs-detectmerge +++ b/tests/test-convert-cvs-detectmerge @@ -34,7 +34,6 @@ echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "graphlog = " >> $HGRCPATH echo "[convert]" >> $HGRCPATH -echo "cvsps=builtin" >> $HGRCPATH echo "cvsps.cache=0" >> $HGRCPATH echo "cvsps.mergefrom=\[MERGE from (\S+)\]" >> $HGRCPATH diff --git a/tests/test-convert-cvs-detectmerge.out b/tests/test-convert-cvs-detectmerge.out --- a/tests/test-convert-cvs-detectmerge.out +++ b/tests/test-convert-cvs-detectmerge.out @@ -77,7 +77,6 @@ fix file1 [MERGE from v1-1] initializing destination proj.hg repository connecting to *REPO* scanning source... -using builtin cvsps collecting CVS rlog 12 log entries creating changesets diff --git a/tests/test-convert-cvs-synthetic b/tests/test-convert-cvs-synthetic --- a/tests/test-convert-cvs-synthetic +++ b/tests/test-convert-cvs-synthetic @@ -8,8 +8,6 @@ set -e echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "graphlog = " >> $HGRCPATH -echo "[convert]" >> $HGRCPATH -echo "cvsps=builtin" >> $HGRCPATH echo % create cvs repository with one project mkdir cvsrepo diff --git a/tests/test-convert-cvs-synthetic.out b/tests/test-convert-cvs-synthetic.out --- a/tests/test-convert-cvs-synthetic.out +++ b/tests/test-convert-cvs-synthetic.out @@ -66,7 +66,6 @@ revision 1.1.2.1 initializing destination proj.hg repository connecting to *REPO* scanning source... -using builtin cvsps collecting CVS rlog 15 log entries creating changesets @@ -102,7 +101,6 @@ o 0 add file1 on trunk initializing destination proj.hg2 repository connecting to *REPO* scanning source... -using builtin cvsps collecting CVS rlog 15 log entries creating changesets diff --git a/tests/test-convert-cvs.out b/tests/test-convert-cvs.out --- a/tests/test-convert-cvs.out +++ b/tests/test-convert-cvs.out @@ -12,10 +12,13 @@ U src/b/c % commit a new revision changing b/c checking in src/b/c,v % convert fresh repo -warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 initializing destination src-hg repository connecting to cvsrepo scanning source... +collecting CVS rlog +5 log entries +creating changesets +3 changeset entries sorting... converting... 2 Initial revision @@ -26,10 +29,13 @@ a c c % convert fresh repo with --filemap -warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 initializing destination src-filemap repository connecting to cvsrepo scanning source... +collecting CVS rlog +5 log entries +creating changesets +3 changeset entries sorting... converting... 2 Initial revision @@ -47,9 +53,12 @@ 0 Initial revision files: b/c checking in src/a,v checking in src/b/c,v % convert again -warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 connecting to cvsrepo scanning source... +collecting CVS rlog +7 log entries +creating changesets +4 changeset entries sorting... converting... 0 ci1 @@ -59,9 +68,12 @@ c c c % convert again with --filemap -warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 connecting to cvsrepo scanning source... +collecting CVS rlog +7 log entries +creating changesets +4 changeset entries sorting... converting... 0 ci1 @@ -78,19 +90,24 @@ T a T b/c checking in src/b/c,v % convert again -warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 connecting to cvsrepo scanning source... +collecting CVS rlog +8 log entries +creating changesets +5 changeset entries sorting... converting... 0 ci2 -a c d % convert again with --filemap -warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 connecting to cvsrepo scanning source... +collecting CVS rlog +8 log entries +creating changesets +5 changeset entries sorting... converting... 0 ci2 @@ -101,15 +118,137 @@ 3 ci1 files: b/c 2 update tags files: .hgtags 1 ci0 files: b/c 0 Initial revision files: b/c +% commit a new revision with funny log message +checking in src/a,v +% convert again +connecting to cvsrepo +scanning source... +collecting CVS rlog +9 log entries +creating changesets +6 changeset entries +sorting... +converting... +0 funny +o 6 (branch) funny +| ---------------------------- +| log message files: a o 5 (branch) ci2 files: b/c + +o 4 () ci1 files: a b/c | -| o 4 () ci1 files: a b/c -| | -| o 3 () update tags files: .hgtags -| | -| o 2 () ci0 files: b/c -|/ +o 3 () update tags files: .hgtags +| +o 2 () ci0 files: b/c +| | o 1 (INITIAL) import files: |/ o 0 () Initial revision files: a b/c +% testing debugcvsps +collecting CVS rlog +9 log entries +creating changesets +8 changeset entries +--------------------- +PatchSet 1 +Date: +Author: +Branch: HEAD +Tag: (none) +Branchpoints: INITIAL +Log: +Initial revision + +Members: + a:INITIAL->1.1 + +--------------------- +PatchSet 2 +Date: +Author: +Branch: HEAD +Tag: (none) +Branchpoints: INITIAL, branch +Log: +Initial revision + +Members: + b/c:INITIAL->1.1 + +--------------------- +PatchSet 3 +Date: +Author: +Branch: INITIAL +Tag: start +Log: +import + +Members: + a:1.1->1.1.1.1 + b/c:1.1->1.1.1.1 + +--------------------- +PatchSet 4 +Date: +Author: +Branch: HEAD +Tag: (none) +Log: +ci0 + +Members: + b/c:1.1->1.2 + +--------------------- +PatchSet 5 +Date: +Author: +Branch: HEAD +Tag: (none) +Branchpoints: branch +Log: +ci1 + +Members: + a:1.1->1.2 + +--------------------- +PatchSet 6 +Date: +Author: +Branch: HEAD +Tag: (none) +Log: +ci1 + +Members: + b/c:1.2->1.3 + +--------------------- +PatchSet 7 +Date: +Author: +Branch: branch +Tag: (none) +Log: +ci2 + +Members: + b/c:1.1->1.1.2.1 + +--------------------- +PatchSet 8 +Date: +Author: +Branch: branch +Tag: (none) +Log: +funny +---------------------------- +log message + +Members: + a:1.2->1.2.2.1 + diff --git a/tests/test-convert-cvsnt-mergepoints b/tests/test-convert-cvsnt-mergepoints --- a/tests/test-convert-cvsnt-mergepoints +++ b/tests/test-convert-cvsnt-mergepoints @@ -29,8 +29,6 @@ hgcat() echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "graphlog = " >> $HGRCPATH -echo "[convert]" >> $HGRCPATH -echo "cvsps=builtin" >> $HGRCPATH echo "% create cvs repository" mkdir cvsmaster diff --git a/tests/test-convert.out b/tests/test-convert.out --- a/tests/test-convert.out +++ b/tests/test-convert.out @@ -117,23 +117,8 @@ convert a foreign SCM repository to a Me starting directory will be converted, and that any directory reorganization in the CVS sandbox is ignored. - Because CVS does not have changesets, it is necessary to collect - individual commits to CVS and merge them into changesets. CVS source uses - its internal changeset merging code by default but can be configured to - call the external 'cvsps' program by setting: - - --config convert.cvsps='cvsps -A -u --cvs-direct -q' - - This option is deprecated and will be removed in Mercurial 1.4. - The options shown are the defaults. - Internal cvsps is selected by setting - - --config convert.cvsps=builtin - - and has a few more configurable options: - --config convert.cvsps.cache=True (boolean) Set to False to disable remote log caching, for testing and debugging purposes.