ViewVC logotype

Contents of /meta-cvs/F-B3689DBB46386B16F4B2331934B69223

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1.106 - (hide annotations)
Wed Sep 11 05:20:49 2002 UTC (11 years, 7 months ago) by kaz
Branch: MAIN
Changes since 1.105: +4 -0 lines
Describe motivation behind 0.95 warp.
1 kaz 1.3 Release Notes for Meta-CVS
2 kaz 1.1
3 kaz 1.104 Release 0.95, 2002-09-??:
5     The install.sh script no longer uses a borrowed copy of the clisp-link
6     script or the linkkit/ directory. These are CLISP materials which
7     we should use from the installation of CLISP; in addition, the
8     material under linkkit/ is machine-architecture-specific!
10 kaz 1.105 A bug in mcvs filt was fixed; it wasn't handling F- names that aren't found
11     in the map.
13 kaz 1.106 The release number is being warped to 0.95, which means that
14     Meta-CVS is gearing toward an official, stable 1.0 release.
15     The 0.9X series will only be bugfixes.
17 kaz 1.103 Release 0.24, 2002-09-08:
18 kaz 1.98
19 kaz 1.99 The mapping entries for both symlinks and files have extensible property
20     lists now. These are stored in the optional fourth and fifth list elements,
21     respectively of the :FILE and :SYMLINK map entries.
23     Versioning of the execute permission of files is supported, represented as
24     the :EXEC property of a :FILE mapping entry.
25 kaz 1.98
26 kaz 1.100 Some lame syntax is provided for manipulating properties:
28 kaz 1.102 mcvs prop --set foo --clear bar --remove baz main.c list.c
29 kaz 1.100
30     will set the property FOO to true, set the property BAR to false,
31     and remove the property BAZ, in the files main.c and list.c.
32     The execute permission is represented by the property EXEC.
34 kaz 1.97 Release 0.23, 2002-09-02:
35 kaz 1.95
36 kaz 1.96 Bugfix: the grab command notices edited symlinks and incorporates the
37     changes into the mapping.
39     The grab command now figures out moved symlinks. Moved symlinks are those
40     whose pathname has changed, but which continue to point to the same object
41     (which may also have been moved).
42 kaz 1.95
43 kaz 1.94 Release 0.22, 2002-08-31:
44 kaz 1.93
45     Symbolic links are now versioned objects. The format of the MAP file
46     changes to accomodate this; the new Meta-CVS will read old MAP
47     files; when it writes it will write the new format. Old Meta-CVS won't
48     read the new format.
50     When a new module is created from an existing file tree, symbolic
51     links will be recognized and added. The add command will also add
52     symbolic links. Symbolic links can be renamed and moved; this does
53     nothing with their contents. They can point outside of the sandbox
54     using relative or absolute paths.
56 kaz 1.94 TODO:
58 kaz 1.93 There doesn't exist yet a special command to create symbolic links, nor to
59     retarget them; retargetting a link can be done manually by editing MCVS/MAP
60     and updating. Retargetting a link using the ln -s command, won't
61 kaz 1.94 backpropagate to the MAP file; an update will clobber the link.
63     The grab command does not yet compute symbolic link moves; a moved symbolic
64     link is treated as a remove and add. This will be easy to fix.
66     The remap command ignores symlinks.
67 kaz 1.93
68 kaz 1.92 Release 0.21, 2002-08-04:
69 kaz 1.88
70 kaz 1.89 Syntax of grab command changed. The branch is no longer specified as an
71     argument, but using the -r command option. If no revision is specified with
72     -r, then a -A must be specified to make the grab go to the main trunk. This
73     is a safety feature, since grabbing foreign snapshots to the trunk is almost
74     always wrong, though it could be useful during backup recovery, or for fixing
75     mistakes.
77 kaz 1.91 The way operating system functions are targetted has changed. Instead of
78     relying on the ``linuxlibc6'' module provided by CLISP, Meta-CVS now
79     has its own module for calling foreign functions. This module is portable;
80     it does not depend on the layout of glibc data structures. So Meta-CVS
81     is in theory now portable to other Unixes (provided they have /dev/urandom).
83 kaz 1.87 Release 0.20, 2002-07-27:
84 kaz 1.86
85     The commit command does a true global commit when given no file or directory
86     parameters, and not given the --metaonly option. This means commiting all
87     changes in the MCVS directory, even if they are in F-files that are not
88     currently mapped.
90 kaz 1.85 Release 0.19, 2002-07-16:
91 kaz 1.81
92     When moving multiple files or directories to a subdirectory, a
93     restart is now provided to skip over bad ones and continue.
95 kaz 1.83 Grab no longer scans files if there are only added files, or only removed
96     files. There are no moves to deduce in that case.
98 kaz 1.84 Restore properly creates lost+found at the root of a partial sandbox,
99     rather than at the abstract root of the module.
101 kaz 1.83 Some other algorithmic improvements made.
102 kaz 1.82
103     The first few sections of a user guide have been written.
105 kaz 1.80 Release 0.18, 2002-07-07:
106 kaz 1.77
107 kaz 1.78 Cool new feature: checkout takes an extra argument, which specifies a
108     subdirectory of the project. Specifying a subdirectory results in a ``partial
109     sandbox'', whose root directory is the specified subdirectory of the larger
110     project. The rest of the project is ``invisible'' to that sandbox. A
111     subdirectory argument can also be given to mcvs grab, which will cause it to
112     integrate the new source tree against a subtree of the Meta-CVS project
113 kaz 1.79 rather than the entire project. The subtree doesn't have to exist; in
114     that case you get an empty sandbox. Adding files to this sandbox will cause
115     the tree to exist in the project.
116 kaz 1.78
117 kaz 1.77 Bugfix: mcvs grab was not computing moves properly over small file sets,
118     wrongly treating them as removes and adds.
120 kaz 1.76 Release 0.17, 2002-07-02:
121 kaz 1.71
122     The create command no longer takes a vendor branch. Instead the symbol
123     ``Created-by-Meta-CVS'' is used as the vendor tag to satisfy CVS.
125 kaz 1.72 The grab command no longer does useless synchronization on files that
126     are about to be deleted.
128 kaz 1.75 New purge command; does ``cvs rm'' on deleted files, that is to say, F- files
129     that have no mapping.
131     New restore command; re-enters deleted files into the mapping, under
132     the ``lost+found'' directory, using their F- names as sandbox names.
133 kaz 1.73
134 kaz 1.74 Bugfix: when a checkout bails because it is requested over top of an existing
135     working copy, it must not delete that working copy's MCVS sub directory.
137 kaz 1.70 Release 0.16, 2002-06-29:
138 kaz 1.67
139     Added new heuristics to grab command. Paths are analyzed to determine
140     move distance. Greater distances reduce the confidence in a move.
141     These rules help sort out grabs in a project where similar or
142     duplicate files are subject to parallel moves, the ambiguity being
143 kaz 1.68 resolved by favoring shorter moves. Word comparisons are case-insensitive
144     now. Common words (those that appear in many files) are ignored when
145     comparing files.
146 kaz 1.67
147 kaz 1.69 New options, --meta and --metaonly. This area of Meta-CVS is cleaned
148     up a little bit. Most reporting commands like log or diff no longer
149     operate on meta files by default; they must be explicitly told to do
150     so with --meta or --metaonly. Only the commit command implicitly includes
151     metafiles by default, and so if this is not wanted, --nometa must be
152     selected. The update command remains special; if it is given file
153     arguments, it does not include meta files. If given no arguments, it
154     does a global CVS up across the entire project.
156 kaz 1.66 Release 0.15, 2002-06-25:
157 kaz 1.61
158 kaz 1.65 Optimized a string splitting routine which is used heavily for processing
159     paths; the result is a noticeable performance improvement in some commands
160     that process large numbers of files.
161 kaz 1.61
162 kaz 1.62 Renamed ``import'' command to ``create''.
164 kaz 1.65 Bugfix: checkout and create showed errors when removing directory, due to
165     broken :postorder support in directory walking function.
166 kaz 1.63
167 kaz 1.65 Bugfix: on failure, checkout was failing to delete the MCVS directory when
168     the checkout was directed to an existing directory.
170 kaz 1.66 New feature: ``mcvs grab'' command imports third-party snapshots to a
171 kaz 1.65 branch. This is invoked in the root directory of the source tree to import.
172     It determines what files have been added and removed in the snapshot, and
173     tries to compute which removes and adds are actually moves. This is done by
174     analyzing the actual contents of the files according to a crude algorithm to
175     do fuzzy comparisons, so that even files which were modified as well as moved
176     are discovered.
177 kaz 1.64
178 kaz 1.60 Release 0.14, 2002-06-21:
179 kaz 1.59
180     Bugfix: mcvs add was broken for files that have no suffix, causing
181 kaz 1.60 the underlying cvs add to fail. This was broken in 0.7 when type
182     handling was added.
183 kaz 1.59
184 kaz 1.58 Release 0.13, 2002-06-06:
185 kaz 1.55
186     Sandbox synchronization now handles the case of two files having
187     the same timestamp. An error is signaled, with interactive resolution
188     to synchronize either way, or do nothing.
190 kaz 1.56 If a file must be deleted on update, and this cannot be done, it
191     is now a continuable error.
193     Bugfix: pass -I ! to cvs import so that it won't ignore some F- files
194     whose suffix is one of the ones cvs ignores by default.
196 kaz 1.57 New command: mcvs remap. The user can move or delete files directly without
197     going through Meta-CVS. When mcvs remap is invoked, it will hunt down the
198     moves and deletions, and reconstruct the mapping accordingly; that is,
199     it remaps the new structure. This command uses inode numbers to identify
200     files; if a file is copied and then the original is deleted, that won't
201     be recognized as a move.
203 kaz 1.53 Release 0.12, 2002-04-18:
204 kaz 1.51
205     Bugfix: remove was broken in 0.10, fixed now.
207 kaz 1.54 Bugfix: status, diff, etc. work in empty project rather than complaining
208     ``. not known to Meta-CVS''.
210 kaz 1.52 The checkout operation now can now populate an existing directory, including
211     the current working directory (mcvs co -d . modulename). Of course, the
212     target directory cannot be an existing Meta-CVS sandbox.
213     This is a useful feature, which allows sandboxes to blend with an
214     existing directory structure.
216     Checkout now uses the same function for generating the sandbox
217     structure as does update. This is now necessary, because local files
218     can be clobbered by the checkout.
220 kaz 1.50 Release 0.11, 2002-04-12:
221 kaz 1.46
222     Bugfix: when branch invokes rtag, it now takes the CVSROOT information
223     from CVS/Root and passes it via -d. This is necessary because rtag does not
224     look at a local CVS subdirectory for this information, only the
225     -d option or the environment variable.
227 kaz 1.48 Command for listing branches added (list-branches or lb). Also shows
228     what sticky tag the sandbox is updated to.
230     Command for switching branches added (switch or sw).
232     Merge detects that working copy is on non-branch tag and bails.
233 kaz 1.47
234 kaz 1.49 Absolute paths can now be specified as file arguments. These are
235     based from the root directory of the sandbox, not the actual filesystem root
236     directory.
238 kaz 1.45 Release 0.10, 2002-04-03:
239 kaz 1.44
240     Automatic merging implemented. Branch is created using branch command,
241     and merging from another branch is done using simple merge command.
242     Meta-CVS maintains the tags to keep track of what has been merged
243     from what branch to what branch.
244 kaz 1.40
245     Bugfix: checkout -d foo bar was complaining about directory bar already
246     existing, even though it should only care about foo.
248 kaz 1.41 The remove command now requires explicit -R option to recursively remove
249 kaz 1.42 a directory. It has more detailed error reporting.
250 kaz 1.41
251 kaz 1.43 The move command has better error reporting.
253 kaz 1.39 Release 0.9, 2002-03-14:
254 kaz 1.37
255     Bugfix: the .cvsignore file is now subject to tagging, status, etc,
256     (unless --nometa is specified, of course).
257 kaz 1.38
258     The mcvs filt command takes -r <revision> or -D <date> parameters.
259     This means to retrieve the MAP file as of the specified revision or
260     date and use that mapping to perform the filtering translation,
261     rather than using MAP-LOCAL.
262 kaz 1.39
263     The mcvs update command takes filename arguments now and also
264     supports the -p option.
265 kaz 1.37
266 kaz 1.36 Release 0.8, 2002-03-13:
267 kaz 1.28
268 kaz 1.29 Bug fixed in mcvs add; it was not ignoring files that are already
269     listed as :ignore in MCVS/TYPES.
271 kaz 1.34 Bug fixed in mcvs move: a target with a trailing slash is now treated
272     as a directory (if it does not already exist and is a non-directory).
274 kaz 1.30 The -d option of mcvs checkout can now be used to override the checkout
275     directory, which is normally the same as the module name.
277 kaz 1.31 The global options --version, --help, -q, -Q and -e are now supported.
279 kaz 1.33 New global options --error-continue and --error-terminate to disable
280     interactive error handling in two different ways.
282 kaz 1.32 Log level of many messages has changed; many messages have been
283     relegated to debug level.
285 kaz 1.35 The import command now creates a .cvsignore file containing the name
286     MAP-LOCAL.
288 kaz 1.24 Release 0.7, 2002-03-09:
290 kaz 1.27 The import command collects a list of the file suffixes and brings up
291     a text editor to allow the user to edit their CVS keyword expansion
292     behavior. This information is kept in a new metafile called TYPES. The
293     add command also updates TYPES; it identifies any suffixes which are new,
294     and brings up an editor. The F- files now carry suffixes, which
295     simplifies interfacing with CVS, and also allows cvswrappers to work.
297     Recursive add works (mcvs add -R ...).
299     New command line option --nometa allows metafiles to be excluded from
300     diff, tag, and other commands; without the option they are inserted
301     into the list of files to be processed.
302 kaz 1.25
303 kaz 1.27 The commit option now takes an optional list of files or directories,
304     just like tag, diff, and others.
305 kaz 1.26
306 kaz 1.23 Release 0.6, 2002-02-16:
307 kaz 1.19
308 kaz 1.27 The add operation was horribly broken in 0.5, it is fixed.
309 kaz 1.21
310 kaz 1.27 User can interactively select whether to clobber local files or leave
311     everything alone. Effects on the mapping file of a mcvs move are undone,
312     if the restructuring is rolled back, or raises a condition that leads
313     to termination.
315     Meta-CVS now keeps a new meta-file called MCVS/TYPES. This is created
316     during import, and specifies the CVS keyword expansion mode for files
317     having given suffixes, and can also tell Meta-CVS to ignore certain files
318     when importing or adding.
319 kaz 1.22
320 kaz 1.18 Release 0.5, 2002-02-10:
321 kaz 1.14
322 kaz 1.27 Much improved error handling. Filesystem rearranging code performs
323     sanity checks to prevent adds and moves from accidentally clobbering
324     local files. A rearranging gone bad can be rolled back. Effects
325     of a failed mcvs add can also be rolled back.
326 kaz 1.14
327 kaz 1.27 MAP-LOCAL is now sorted in the same way as MAP.
328 kaz 1.15
329 kaz 1.13 Release 0.4, 2002-02-04:
330 kaz 1.10
331 kaz 1.27 CVS is invoked using internal function resembling the xargs utility,
332     which ensures that multiple command lines are generated if necessary to
333     avoid surpassing the operating system limit on argument and environment
334     vector size. This is important when someone wants to diff or stat a
335     subdirectory, which requires Meta-CVS to pick out the individual files
336     at the CVS level.
338     The tag, log, status and annotate commands are now available.
340     The MAP file is sorted on F- file names now, not path names. This
341     improves merging, since files do not move within the file when
342     they are renamed.
343 kaz 1.12
344 kaz 1.5 Release 0.3, 2002-02-02:
346 kaz 1.27 Process termination done is properly in top level handler, by a nonlocal
347     exit. The program properly indicates failed termination when it exits
348     due to an error condition.
350     Corrections are made in the command line option processing. If z is an
351     option that takes an argument, and the argument is -zx, then x is
352     treated as the argument to the option. Long options arguments are
353     recognized properly, according to the --opt=arg convention. The option
354     processing is restructured. Most of the commands now take the
355     appropriate cvs command-specific options.
357     The update algorithm performs dupe checking over the map, which could
358     happen during a merge.
360     Some more bugfixing has been done to the move command. It was still not
361     handling right some cases of an unversioned file being clobbered. Also,
362     it wasn't renaming a directory containing just one file.
364     I did some performance investigation for larger file sets, and
365     ended up rewriting the code that computes filesystem restructuring
366     changes and map duplicates.
367 kaz 1.5
368 kaz 1.4 Release 0.2, 2002-01-30:
370 kaz 1.27 Changed official name from MCVS to Meta-CVS. The move command now
371     performs some filesystem tests so it does the right thing when a versioned
372     file is moved over a non-versioned file, or when a file is moved into
373     a directory not known to Meta-CVS. Factored out reading and writing of
374     map files into functions.
375 kaz 1.4
376 kaz 1.2 Release 0.1, 2002-01-28:
378 kaz 1.27 Support for mcvs diff -u added. The -R option works for mcvs add command.
379     Bug fixed in mcvs mv command; it wasn't working analogously to the Unix
380     mv command when copying a directory to an existing directory.
381 kaz 1.2
382     Release 0.0, 2002-01-27:
383 kaz 1.1
384 kaz 1.27 This is alpha software. It is not complete, and lacks documentation.
385     However, it is already usable in its present state and is being used for
386     version control by its author. If you can program in Common Lisp and would
387     like to help, take a look through the TODO file. Send me patches, ideas,
388     feature requests.

  ViewVC Help
Powered by ViewVC 1.1.5