comparison hgext/convert/__init__.py @ 6798:ceb28b67204e

convert: add documentation for CVS source
author Frank Kingswood <frank@kingswood-consulting.co.uk>
date Tue, 24 Jun 2008 10:40:41 +0100
parents 53465a7464e2
children 6e253aa04ff7
comparison
equal deleted inserted replaced
6797:8909070fd05e 6798:ceb28b67204e
84 ----------------- 84 -----------------
85 85
86 --config convert.hg.saverev=True (boolean) 86 --config convert.hg.saverev=True (boolean)
87 allow target to preserve source revision ID 87 allow target to preserve source revision ID
88 88
89 CVS Source
90 ----------
91
92 CVS source will use a sandbox (i.e. a checked-out copy) from CVS
93 to indicate the starting point of what will be converted. Direct
94 access to the repository files is not needed, unless of course
95 the repository is :local:. The conversion uses the top level
96 directory in the sandbox to find the CVS repository, and then uses
97 CVS rlog commands to find files to convert. This means that unless
98 a filemap is given, all files under the starting directory will be
99 converted, and that any directory reorganisation in the CVS
100 sandbox is ignored.
101
102 Because CVS does not have changesets, it is necessary to collect
103 individual commits to CVS and merge them into changesets. CVS source
104 can use the external 'cvsps' program (this is a legacy option and may
105 be removed in future) or use its internal changeset merging code.
106 External cvsps is default, and options may be passed to it by setting
107 --config convert.cvsps='cvsps -A -u --cvs-direct -q'
108 The options shown are the defaults.
109
110 Internal cvsps is selected by setting
111 --config convert.cvsps=builtin
112 and has a few more configurable options:
113 --config convert.cvsps.fuzz=60 (integer)
114 Specify the maximum time (in seconds) that is allowed between
115 commits with identical user and log message in a single
116 changeset. When very large files were checked in as part
117 of a changeset then the default may not be long enough.
118 --config convert.cvsps.mergeto='{{mergetobranch ([-\w]+)}}'
119 Specify a regular expression to which commit log messages are
120 matched. If a match occurs, then the conversion process will
121 insert a dummy revision merging the branch on which this log
122 message occurs to the branch indicated in the regex.
123 --config convert.cvsps.mergefrom='{{mergefrombranch ([-\w]+)}}'
124 Specify a regular expression to which commit log messages are
125 matched. If a match occurs, then the conversion process will
126 add the most recent revision on the branch indicated in the
127 regex as the second parent of the changeset.
128
129 The hgext/convert/cvsps wrapper script allows the builtin changeset
130 merging code to be run without doing a conversion. Its parameters and
131 output are similar to that of cvsps 2.1.
132
89 Subversion Source 133 Subversion Source
90 ----------------- 134 -----------------
91 135
92 Subversion source detects classical trunk/branches/tags layouts. 136 Subversion source detects classical trunk/branches/tags layouts.
93 By default, the supplied "svn://repo/path/" source URL is 137 By default, the supplied "svn://repo/path/" source URL is