Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to mcvs-1-0-10:||(view) (annotate)|
Parsing directory sticky tag from CVS/Tag requires slightly different logic from the sticky tags in CVS/Entries. CVS/Entries doesn't distinguish branch and version sticky tags. This change gets rid of the incorrect warning about not all files being on the same tag when the working copy is sticky to a version tag. * code/branch.lisp (parse-sticky): Function renamed to parse-dir-sticky. (parse-entries-sticky): New function. (equal-sticky): New function. (read-cvs-entries): Use parse-entries-sticky. (same-tag-check): Use equal-sticky instead of equal. (what-are-we-sticky-to): Use parse-dir-sticky.
Support -k CVS option in merge and remerge commands. Reported by Jamie Wellnitz. * code/mcvs-main.lisp (*merge-options*, *remerge-options*): Add one argument -k option. * code/merge.lisp (mcvs-merge): Support extra argument for passing command options. Pass them down to mcvs-update. (mcvs-merge-wrapper, mcvs-remerge-wrapper): Don't ignore command options but pass them to mcvs-merge.
* code/branch.lisp (*branch-help*): New string constant. * code/mcvs-main.lisp (*mcvs-command-table*): *branch-help* hooked in.
Error messages no longer specify prefixes like "mcvs:" or "mcvs-remove:". When no restarts are available, the error handler now adds the "mcvs:" prefix when dumping the error text to the standard error stream, and also adds a terminating newline. The inability to write to the MAP file is converted to a more informative error message. New --debug option is supported to set the chatter level to 3.
Fix mistake dating back to April. * code/branch.lisp (mcvs-merge): Symbol T was being invoked as function in the case that merge is invoked on a sandbox that is sticky to a non-branch tag.
* branch.lisp (parse-sticky): New function. (read-cvs-entries): New function. (same-tag-check): New function. (what-tag-are-we-on): Renamed to what-are-we-sticky-to. Calls parse-sticky to return structured tag. (mcvs-merge): Make use of structured tags. (mcvs-list-branches): Make use of structured tags. Indicate when sandbox is inconsistently sticky.
New switch command added, plus sticky tag related bugfixes and enhancement of mcvs list-branches. mcvs-main.lisp (*switch-options*): New constant. (*mcvs-command-table*): New entries. (*usage*): New help text. branch.lisp (what-branch-are-we-on): Function renamed to what-tag-are-we-on. Tests the first letter which is T or N; if it is not T, then it's not a branch tag. If there is a tag, it returns two values; the second value is NIL if it is not a branch tag, T otherwise. (mcvs-merge): Modified to use what-tag-are-we-on. (mcvs-list-branches): Show additional information about the current sticky tag. (mcvs-merge-wrapper): Fix wrong parenthesization introduced earlier today. (mcvs-switch-wrapper): New function.
Branch listing command shows the current branch.
* branch.lisp (branch-tag-check): Check reserved symbol HEAD.
New command to list branches. * mcvs-main.lisp (*list-branches-options*): New constant. (*mcvs-command-table*): Entries for new command added. (*usage*): Help text added. * branch.lisp (mcvs-list-branches, mcvs-list-branches-wrapper): New functions.
* branch.lisp (where-is-the-repository): New function. (cvs-make-or-advance-tag): Pass down CVSROOT to cvs rtag using the -d global option.
* branch.lisp (what-module-is-this): New function. (cvs-make-or-advance-tag): Use rtag rather than tag for tagging the branch being merged. This fixes the failure to merge added files. (mcvs-merge): Use mcvs-update rather than directly using cvs.
Implemented remerge command; redo a merge without moving around any tags. * branch.lisp (mcvs-merge): New keyword parameter remerge-p to indicate that a re-merge should be done, plus logic for doing so. (mcvs-remerge-wrapper): New function. * mcvs-main.lisp (*remerge-options*): New constant. (*mcvs-command-table*): New entry for remerge command.
Use more human readable symbols for tracking merges.
First cut at implementing more automated branching and merging. * mcvs-main.lisp (*branch-options*, *merge-options*): New constants. (*mcvs-command-table*): New entries for branch and merge commands. (*usage*): New help text. * branch.lisp: New file. (*branch-char*): New constant. (tags-from-cvs-log, what-branch-are-we-on, branch-tag-check, mcvs-branch, mcvs-branch-wrapper, cvs-make-or-advance-tag, mcvs-merge, mcvs-merge-wrapper): New functions.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|