--- a/hgext/convert/__init__.py Mon Oct 05 22:17:39 2009 +0200
+++ b/hgext/convert/__init__.py Mon Oct 05 22:57:15 2009 +0200
@@ -142,23 +142,8 @@
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.
--- a/hgext/convert/cvs.py Mon Oct 05 22:17:39 2009 +0200
+++ b/hgext/convert/cvs.py Mon Oct 05 22:57:15 2009 +0200
@@ -22,21 +22,11 @@
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 @@
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 @@
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:
--- a/tests/hghave Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/hghave Mon Oct 05 22:57:15 2009 +0200
@@ -47,9 +47,6 @@
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 @@
"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"),
--- a/tests/test-convert-cvs Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvs Mon Oct 05 22:57:15 2009 +0200
@@ -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 @@
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 @@
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:/'
--- a/tests/test-convert-cvs-branch Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvs-branch Mon Oct 05 22:57:15 2009 +0200
@@ -14,7 +14,6 @@
echo "convert = " >> $HGRCPATH
echo "graphlog = " >> $HGRCPATH
echo "[convert]" >> $HGRCPATH
-echo "cvsps=builtin" >> $HGRCPATH
echo "cvsps.cache=0" >> $HGRCPATH
echo % create cvs repository
--- a/tests/test-convert-cvs-branch.out Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvs-branch.out Mon Oct 05 22:57:15 2009 +0200
@@ -25,7 +25,6 @@
initializing destination src-hg repository
connecting to cvsrepo
scanning source...
-using builtin cvsps
collecting CVS rlog
7 log entries
creating changesets
--- a/tests/test-convert-cvs-builtincvsps Mon Oct 05 22:17:39 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -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:/'
--- a/tests/test-convert-cvs-builtincvsps.out Mon Oct 05 22:17:39 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -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
-
--- a/tests/test-convert-cvs-detectmerge Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvs-detectmerge Mon Oct 05 22:57:15 2009 +0200
@@ -34,7 +34,6 @@
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
--- a/tests/test-convert-cvs-detectmerge.out Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvs-detectmerge.out Mon Oct 05 22:57:15 2009 +0200
@@ -77,7 +77,6 @@
initializing destination proj.hg repository
connecting to *REPO*
scanning source...
-using builtin cvsps
collecting CVS rlog
12 log entries
creating changesets
--- a/tests/test-convert-cvs-synthetic Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvs-synthetic Mon Oct 05 22:57:15 2009 +0200
@@ -8,8 +8,6 @@
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
--- a/tests/test-convert-cvs-synthetic.out Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvs-synthetic.out Mon Oct 05 22:57:15 2009 +0200
@@ -66,7 +66,6 @@
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 @@
initializing destination proj.hg2 repository
connecting to *REPO*
scanning source...
-using builtin cvsps
collecting CVS rlog
15 log entries
creating changesets
--- a/tests/test-convert-cvs.out Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvs.out Mon Oct 05 22:57:15 2009 +0200
@@ -12,10 +12,13 @@
% 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 @@
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 @@
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
% 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 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 @@
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
+
--- a/tests/test-convert-cvsnt-mergepoints Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert-cvsnt-mergepoints Mon Oct 05 22:57:15 2009 +0200
@@ -29,8 +29,6 @@
echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo "graphlog = " >> $HGRCPATH
-echo "[convert]" >> $HGRCPATH
-echo "cvsps=builtin" >> $HGRCPATH
echo "% create cvs repository"
mkdir cvsmaster
--- a/tests/test-convert.out Mon Oct 05 22:17:39 2009 +0200
+++ b/tests/test-convert.out Mon Oct 05 22:57:15 2009 +0200
@@ -117,23 +117,8 @@
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.