ViewVC logotype

Contents of /meta-cvs/F-B3689DBB46386B16F4B2331934B69223

Parent Directory Parent Directory | Revision Log Revision Log

Revision - (show annotations)
Fri Apr 5 00:02:06 2002 UTC (12 years ago) by kaz
Branch: deferred-adds-branch
Changes since 1.48: +5 -0 lines
Deferred adds feature, to get around the bug in cvs whereby
one cannot add files and then create a branch and switch to
it and commit them there.

add.lisp (mcvs-add): Do not execute cvs add commands, but instead
save them in a local MCVS metafile called ADD-LOCAL.
(complete-local-adds): New function, performs the deferred adds
and then removes ADD-LOCAL.
(mcvs-commit-wrapper): Function moved here out of generic.lisp.
Calls complete-local-adds before doing the commit.

generlic.lisp (mcvs-commit-wrapper): Function moved to add.lisp.

import.lisp (mcvs-import): Put ADD-LOCAL name under .cvsignore .

mapping.lisp (*mcvs-add-local-name*, *mcvs-add-local*): New
1 Release Notes for Meta-CVS
3 Release 0.11, 2002-04-??:
5 Bugfix: when branch invokes rtag, it now takes the CVSROOT information
6 from CVS/Root and passes it via -d. This is necessary because rtag does not
7 look at a local CVS subdirectory for this information, only the
8 -d option or the environment variable.
10 Command for listing branches added (list-branches or lb). Also shows
11 what sticky tag the sandbox is updated to.
13 Command for switching branches added (switch or sw).
15 Merge detects that working copy is on non-branch tag and bails.
17 Add operation defers invoking cvs add; instead the cvs add commands
18 are shunted into a local file. They are later performed at commit time.
19 This allows files to be locally added, but then later commited to a different
20 branch. It's a use case that is broken in CVS, hence the need to defer.
22 Release 0.10, 2002-04-03:
24 Automatic merging implemented. Branch is created using branch command,
25 and merging from another branch is done using simple merge command.
26 Meta-CVS maintains the tags to keep track of what has been merged
27 from what branch to what branch.
29 Bugfix: checkout -d foo bar was complaining about directory bar already
30 existing, even though it should only care about foo.
32 The remove command now requires explicit -R option to recursively remove
33 a directory. It has more detailed error reporting.
35 The move command has better error reporting.
37 Release 0.9, 2002-03-14:
39 Bugfix: the .cvsignore file is now subject to tagging, status, etc,
40 (unless --nometa is specified, of course).
42 The mcvs filt command takes -r <revision> or -D <date> parameters.
43 This means to retrieve the MAP file as of the specified revision or
44 date and use that mapping to perform the filtering translation,
45 rather than using MAP-LOCAL.
47 The mcvs update command takes filename arguments now and also
48 supports the -p option.
50 Release 0.8, 2002-03-13:
52 Bug fixed in mcvs add; it was not ignoring files that are already
53 listed as :ignore in MCVS/TYPES.
55 Bug fixed in mcvs move: a target with a trailing slash is now treated
56 as a directory (if it does not already exist and is a non-directory).
58 The -d option of mcvs checkout can now be used to override the checkout
59 directory, which is normally the same as the module name.
61 The global options --version, --help, -q, -Q and -e are now supported.
63 New global options --error-continue and --error-terminate to disable
64 interactive error handling in two different ways.
66 Log level of many messages has changed; many messages have been
67 relegated to debug level.
69 The import command now creates a .cvsignore file containing the name
72 Release 0.7, 2002-03-09:
74 The import command collects a list of the file suffixes and brings up
75 a text editor to allow the user to edit their CVS keyword expansion
76 behavior. This information is kept in a new metafile called TYPES. The
77 add command also updates TYPES; it identifies any suffixes which are new,
78 and brings up an editor. The F- files now carry suffixes, which
79 simplifies interfacing with CVS, and also allows cvswrappers to work.
81 Recursive add works (mcvs add -R ...).
83 New command line option --nometa allows metafiles to be excluded from
84 diff, tag, and other commands; without the option they are inserted
85 into the list of files to be processed.
87 The commit option now takes an optional list of files or directories,
88 just like tag, diff, and others.
90 Release 0.6, 2002-02-16:
92 The add operation was horribly broken in 0.5, it is fixed.
94 User can interactively select whether to clobber local files or leave
95 everything alone. Effects on the mapping file of a mcvs move are undone,
96 if the restructuring is rolled back, or raises a condition that leads
97 to termination.
99 Meta-CVS now keeps a new meta-file called MCVS/TYPES. This is created
100 during import, and specifies the CVS keyword expansion mode for files
101 having given suffixes, and can also tell Meta-CVS to ignore certain files
102 when importing or adding.
104 Release 0.5, 2002-02-10:
106 Much improved error handling. Filesystem rearranging code performs
107 sanity checks to prevent adds and moves from accidentally clobbering
108 local files. A rearranging gone bad can be rolled back. Effects
109 of a failed mcvs add can also be rolled back.
111 MAP-LOCAL is now sorted in the same way as MAP.
113 Release 0.4, 2002-02-04:
115 CVS is invoked using internal function resembling the xargs utility,
116 which ensures that multiple command lines are generated if necessary to
117 avoid surpassing the operating system limit on argument and environment
118 vector size. This is important when someone wants to diff or stat a
119 subdirectory, which requires Meta-CVS to pick out the individual files
120 at the CVS level.
122 The tag, log, status and annotate commands are now available.
124 The MAP file is sorted on F- file names now, not path names. This
125 improves merging, since files do not move within the file when
126 they are renamed.
128 Release 0.3, 2002-02-02:
130 Process termination done is properly in top level handler, by a nonlocal
131 exit. The program properly indicates failed termination when it exits
132 due to an error condition.
134 Corrections are made in the command line option processing. If z is an
135 option that takes an argument, and the argument is -zx, then x is
136 treated as the argument to the option. Long options arguments are
137 recognized properly, according to the --opt=arg convention. The option
138 processing is restructured. Most of the commands now take the
139 appropriate cvs command-specific options.
141 The update algorithm performs dupe checking over the map, which could
142 happen during a merge.
144 Some more bugfixing has been done to the move command. It was still not
145 handling right some cases of an unversioned file being clobbered. Also,
146 it wasn't renaming a directory containing just one file.
148 I did some performance investigation for larger file sets, and
149 ended up rewriting the code that computes filesystem restructuring
150 changes and map duplicates.
152 Release 0.2, 2002-01-30:
154 Changed official name from MCVS to Meta-CVS. The move command now
155 performs some filesystem tests so it does the right thing when a versioned
156 file is moved over a non-versioned file, or when a file is moved into
157 a directory not known to Meta-CVS. Factored out reading and writing of
158 map files into functions.
160 Release 0.1, 2002-01-28:
162 Support for mcvs diff -u added. The -R option works for mcvs add command.
163 Bug fixed in mcvs mv command; it wasn't working analogously to the Unix
164 mv command when copying a directory to an existing directory.
166 Release 0.0, 2002-01-27:
168 This is alpha software. It is not complete, and lacks documentation.
169 However, it is already usable in its present state and is being used for
170 version control by its author. If you can program in Common Lisp and would
171 like to help, take a look through the TODO file. Send me patches, ideas,
172 feature requests.

  ViewVC Help
Powered by ViewVC 1.1.5