/[meta-cvs]/meta-cvs/F-B3689DBB46386B16F4B2331934B69223
ViewVC logotype

Contents of /meta-cvs/F-B3689DBB46386B16F4B2331934B69223

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.57 - (show annotations)
Mon May 20 17:49:12 2002 UTC (11 years, 11 months ago) by kaz
Branch: MAIN
Changes since 1.56: +7 -0 lines
Adding mcvs remap command.

* dirwalk.lisp (dirwalk-fi, dirwalk, for-each-file-info): Default
behavior is now preorder (visit directory before its entries).
A keyword is provided to select the old postorder behavior.
A catch is provided in dirwalk-fi that allows the caller to
skip processing the currently traversed directory. The for-each-*
macros provide a local function called (skip) to do this.
(delete-recursive): This function depends on postorder behavior
in for-each-file-info, so it explicitly selects it now.

* mcvs.lisp (*remap-options*): New constant.
(*mcvs-command-table*): Add entry for new function.
(*usage*): Describes new function.

* remap.lisp: New file.
(mcvs-remap, mcvs-remap-wrapper): New functions.
1 Release Notes for Meta-CVS
2
3 Release 0.13, 2002-05-??:
4
5 Sandbox synchronization now handles the case of two files having
6 the same timestamp. An error is signaled, with interactive resolution
7 to synchronize either way, or do nothing.
8
9 If a file must be deleted on update, and this cannot be done, it
10 is now a continuable error.
11
12 Bugfix: pass -I ! to cvs import so that it won't ignore some F- files
13 whose suffix is one of the ones cvs ignores by default.
14
15 New command: mcvs remap. The user can move or delete files directly without
16 going through Meta-CVS. When mcvs remap is invoked, it will hunt down the
17 moves and deletions, and reconstruct the mapping accordingly; that is,
18 it remaps the new structure. This command uses inode numbers to identify
19 files; if a file is copied and then the original is deleted, that won't
20 be recognized as a move.
21
22 Release 0.12, 2002-04-18:
23
24 Bugfix: remove was broken in 0.10, fixed now.
25
26 Bugfix: status, diff, etc. work in empty project rather than complaining
27 ``. not known to Meta-CVS''.
28
29 The checkout operation now can now populate an existing directory, including
30 the current working directory (mcvs co -d . modulename). Of course, the
31 target directory cannot be an existing Meta-CVS sandbox.
32 This is a useful feature, which allows sandboxes to blend with an
33 existing directory structure.
34
35 Checkout now uses the same function for generating the sandbox
36 structure as does update. This is now necessary, because local files
37 can be clobbered by the checkout.
38
39 Release 0.11, 2002-04-12:
40
41 Bugfix: when branch invokes rtag, it now takes the CVSROOT information
42 from CVS/Root and passes it via -d. This is necessary because rtag does not
43 look at a local CVS subdirectory for this information, only the
44 -d option or the environment variable.
45
46 Command for listing branches added (list-branches or lb). Also shows
47 what sticky tag the sandbox is updated to.
48
49 Command for switching branches added (switch or sw).
50
51 Merge detects that working copy is on non-branch tag and bails.
52
53 Absolute paths can now be specified as file arguments. These are
54 based from the root directory of the sandbox, not the actual filesystem root
55 directory.
56
57 Release 0.10, 2002-04-03:
58
59 Automatic merging implemented. Branch is created using branch command,
60 and merging from another branch is done using simple merge command.
61 Meta-CVS maintains the tags to keep track of what has been merged
62 from what branch to what branch.
63
64 Bugfix: checkout -d foo bar was complaining about directory bar already
65 existing, even though it should only care about foo.
66
67 The remove command now requires explicit -R option to recursively remove
68 a directory. It has more detailed error reporting.
69
70 The move command has better error reporting.
71
72 Release 0.9, 2002-03-14:
73
74 Bugfix: the .cvsignore file is now subject to tagging, status, etc,
75 (unless --nometa is specified, of course).
76
77 The mcvs filt command takes -r <revision> or -D <date> parameters.
78 This means to retrieve the MAP file as of the specified revision or
79 date and use that mapping to perform the filtering translation,
80 rather than using MAP-LOCAL.
81
82 The mcvs update command takes filename arguments now and also
83 supports the -p option.
84
85 Release 0.8, 2002-03-13:
86
87 Bug fixed in mcvs add; it was not ignoring files that are already
88 listed as :ignore in MCVS/TYPES.
89
90 Bug fixed in mcvs move: a target with a trailing slash is now treated
91 as a directory (if it does not already exist and is a non-directory).
92
93 The -d option of mcvs checkout can now be used to override the checkout
94 directory, which is normally the same as the module name.
95
96 The global options --version, --help, -q, -Q and -e are now supported.
97
98 New global options --error-continue and --error-terminate to disable
99 interactive error handling in two different ways.
100
101 Log level of many messages has changed; many messages have been
102 relegated to debug level.
103
104 The import command now creates a .cvsignore file containing the name
105 MAP-LOCAL.
106
107 Release 0.7, 2002-03-09:
108
109 The import command collects a list of the file suffixes and brings up
110 a text editor to allow the user to edit their CVS keyword expansion
111 behavior. This information is kept in a new metafile called TYPES. The
112 add command also updates TYPES; it identifies any suffixes which are new,
113 and brings up an editor. The F- files now carry suffixes, which
114 simplifies interfacing with CVS, and also allows cvswrappers to work.
115
116 Recursive add works (mcvs add -R ...).
117
118 New command line option --nometa allows metafiles to be excluded from
119 diff, tag, and other commands; without the option they are inserted
120 into the list of files to be processed.
121
122 The commit option now takes an optional list of files or directories,
123 just like tag, diff, and others.
124
125 Release 0.6, 2002-02-16:
126
127 The add operation was horribly broken in 0.5, it is fixed.
128
129 User can interactively select whether to clobber local files or leave
130 everything alone. Effects on the mapping file of a mcvs move are undone,
131 if the restructuring is rolled back, or raises a condition that leads
132 to termination.
133
134 Meta-CVS now keeps a new meta-file called MCVS/TYPES. This is created
135 during import, and specifies the CVS keyword expansion mode for files
136 having given suffixes, and can also tell Meta-CVS to ignore certain files
137 when importing or adding.
138
139 Release 0.5, 2002-02-10:
140
141 Much improved error handling. Filesystem rearranging code performs
142 sanity checks to prevent adds and moves from accidentally clobbering
143 local files. A rearranging gone bad can be rolled back. Effects
144 of a failed mcvs add can also be rolled back.
145
146 MAP-LOCAL is now sorted in the same way as MAP.
147
148 Release 0.4, 2002-02-04:
149
150 CVS is invoked using internal function resembling the xargs utility,
151 which ensures that multiple command lines are generated if necessary to
152 avoid surpassing the operating system limit on argument and environment
153 vector size. This is important when someone wants to diff or stat a
154 subdirectory, which requires Meta-CVS to pick out the individual files
155 at the CVS level.
156
157 The tag, log, status and annotate commands are now available.
158
159 The MAP file is sorted on F- file names now, not path names. This
160 improves merging, since files do not move within the file when
161 they are renamed.
162
163 Release 0.3, 2002-02-02:
164
165 Process termination done is properly in top level handler, by a nonlocal
166 exit. The program properly indicates failed termination when it exits
167 due to an error condition.
168
169 Corrections are made in the command line option processing. If z is an
170 option that takes an argument, and the argument is -zx, then x is
171 treated as the argument to the option. Long options arguments are
172 recognized properly, according to the --opt=arg convention. The option
173 processing is restructured. Most of the commands now take the
174 appropriate cvs command-specific options.
175
176 The update algorithm performs dupe checking over the map, which could
177 happen during a merge.
178
179 Some more bugfixing has been done to the move command. It was still not
180 handling right some cases of an unversioned file being clobbered. Also,
181 it wasn't renaming a directory containing just one file.
182
183 I did some performance investigation for larger file sets, and
184 ended up rewriting the code that computes filesystem restructuring
185 changes and map duplicates.
186
187 Release 0.2, 2002-01-30:
188
189 Changed official name from MCVS to Meta-CVS. The move command now
190 performs some filesystem tests so it does the right thing when a versioned
191 file is moved over a non-versioned file, or when a file is moved into
192 a directory not known to Meta-CVS. Factored out reading and writing of
193 map files into functions.
194
195 Release 0.1, 2002-01-28:
196
197 Support for mcvs diff -u added. The -R option works for mcvs add command.
198 Bug fixed in mcvs mv command; it wasn't working analogously to the Unix
199 mv command when copying a directory to an existing directory.
200
201 Release 0.0, 2002-01-27:
202
203 This is alpha software. It is not complete, and lacks documentation.
204 However, it is already usable in its present state and is being used for
205 version control by its author. If you can program in Common Lisp and would
206 like to help, take a look through the TODO file. Send me patches, ideas,
207 feature requests.

  ViewVC Help
Powered by ViewVC 1.1.5