ViewVC logotype

Log of /meta-cvs/F-BE2DE9340254D8E8E6E2649A55D3A742

Parent Directory Parent Directory | Revision Log Revision Log

Links to HEAD: (view) (annotate)
Links to mcvs-1-0-branch~merged-to-HEAD-1: (view) (annotate)
Sticky Tag:

Revision - (view) (annotate) - [select for diffs]
Sun Apr 13 06:22:43 2003 UTC (11 years ago) by kaz
Branch: mcvs-1-0-branch
CVS Tags: mcvs-1-0-10, mcvs-1-0-11, mcvs-1-0-12, mcvs-1-0-13, mcvs-1-0-6, mcvs-1-0-7, mcvs-1-0-8, mcvs-1-0-9, mcvs-1-0-branch~merged-to-HEAD-0, mcvs-1-0-branch~merged-to-HEAD-1
Changes since +35 -19 lines
Diff to previous , to branch point 1.6 , to next main 1.12
Revamped the synchronization logic. Synchronization now happens
in a specific direction.  For example, if we are doing a diff,
we just need to push changes from the tree to the MCVS directory,
not the other way around. Or: before an update or commit, we push from
the tree to MCVS, then after the update, in the other direction.

* code/update.lisp (mcvs-update): The before update is done
in the :left direction only, and the after update in the :right.

* code/move.lisp (mcvs-move): The just-in-case sync is done
in the :left direction only.

* code/link.lisp (mcvs-link): Likewise.

* code/remove.lisp (mcvs-remove): Likewise.

* code/add.lisp (mcvs-add): Get rid of mapping-synchronize call;
it's completely unnecessary, since the new files are not even
in the MAP-LOCAL, and the add logic explicitly links them into
the MCVS directory.

* code/generic.lisp (mcvs-generic): New keyword parameter,
need-sync-before. Before-synchronization done in :left direction,
after-synchronization in :right direction. Before-synchronization
is now not done by default; need-sync-before must be specified.
(mcvs-commit-wrapper): Specify before and after sync.
(mcvs-diff-wrapper, mcvs-status-wrapper,
mcvs-edit-wrapper): Explicitly specify before sync.
(mcvs-tag-wrapper, mcvs-annotate-wrapper): Implicitly specify no sync.
(mcvs-unedit-wrapper): Add before sync.

* code/sync.lisp (synchronize-files):  New key parameter :direction,
values can be :left, :right or :either. Default is :either.
If the value is :left or :right, then a sync is done only in that
direction, otherwise the value :no-sync is returned.
Behavior change: if the left file is missing (F- file in MCVS
directory) it is not re-created, but rather :no-sync is returned.
Also, if both files exist, have the same timestamp, and are
distinct objects, if the direction is :left or :right, then
the appropriate restart is automatically chosen. So this will
do the right thing on filesystems where link() is performed by
copying, without bothering the user with the error.

* code/mapping.lisp (mapping-synchronize): New :direction key
parameter, passed down to synchronize-filed. The new :no-sync
return value from synchronize-files is handled.
(mapping-update): Select the :right direction for synchronizing
moves, adds or rollbacks.

Revision - (view) (annotate) - [select for diffs]
Tue Dec 3 08:04:58 2002 UTC (11 years, 4 months ago) by kaz
Branch: mcvs-1-0-branch
CVS Tags: mcvs-1-0, mcvs-1-0-1, mcvs-1-0-2, mcvs-1-0-4, mcvs-1-0-5
Changes since +7 -7 lines
Diff to previous , to branch point 1.6
* code/sync.lisp (synchronize-files): Call exec-check using
file info object, rather than file name. This cuts in half
the number of calls to stat().

Revision - (view) (annotate) - [select for diffs]
Mon Nov 4 02:07:35 2002 UTC (11 years, 5 months ago) by kaz
Branch: mcvs-1-0-branch
CVS Tags: mcvs-0-99
Changes since 1.6: +26 -19 lines
Diff to previous 1.6
More support for -n option.

* code/mcvs-main.lisp (*usage*): Document -n option.

* code/move.lisp (mcvs-move-wrapper): Remove bogus error check
for presence of global options.

* code/options.lisp (honor-dry-run): New macro for conditionally
not executing some forms if it's a dry run, and logging some
debugging information.

* code/sync.lisp (synchronize-files): Honor dry run.

* code/mapping.lisp (mapping-synchronize, mapping-update): Likewise.

Revision 1.6 - (view) (annotate) - [select for diffs]
Fri Sep 6 02:17:27 2002 UTC (11 years, 7 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-0-24, mcvs-0-95, mcvs-0-96, mcvs-0-97, mcvs-0-98, mcvs-1-0-branch~branch-point
Branch point for: mcvs-1-0-branch
Changes since 1.5: +53 -42 lines
Diff to previous 1.5
Low level support for versioning executable bit.

* code/unix-bindings/unix.lisp (unix-funcs:chmod): New callout

* code/clisp-unix.lisp (executable-p, make-executable,
make-non-executable): New generic functions.
(executable-p (file-info), make-executable (file-info),
make-executable (string), make-non-executable (file-info),
make-non-executable (string)): New methods.

* code/add.lisp (mcvs-add): Record whether new file is
executable or not, by setting executable slot in mapping-entry.

* code/create.lisp (mcvs-create): Likewise.

* code/sync.lisp (synchronize-files): New parameter,
should-be-executable, tells function which way to set
permissions after synchronizing files.

* code/mapping.lisp (mapping-entry): New slot, executable.
(mapping-entry-parse-attributes): New function, parses
new optional property list from :FILE entries in a mapping.
(mapping-convert-in): Parse property list that may be present in fourth
list element of a :FILE entry.
(mapping-convert-out): Write out executable flag as
:EXEC property, if true.
(mapping-synchronize): Pass executable flag down to synchronize-files.

Revision 1.5 - (view) (annotate) - [select for diffs]
Wed May 15 13:52:41 2002 UTC (11 years, 11 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-0-13, mcvs-0-14, mcvs-0-15, mcvs-0-16, mcvs-0-17, mcvs-0-18, mcvs-0-19, mcvs-0-20, mcvs-0-21, mcvs-0-22, mcvs-0-23, old-convert-hacking-branch~branch-point, partial-sandbox-branch~branch-point, partial-sandbox-branch~merged-to-HEAD-0, symlink-branch~branch-point, symlink-branch~merged-to-HEAD-0
Branch point for: old-convert-hacking-branch, partial-sandbox-branch, symlink-branch
Changes since 1.4: +18 -2 lines
Diff to previous 1.4
* sync.lisp (synchronize-files): Signal an error when the two files
to be synchronized have the same time stamp. Provide two restarts
for doing the synchronization either way.

Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Feb 8 06:51:45 2002 UTC (12 years, 2 months ago) by kaz
Branch: MAIN
CVS Tags: deferred-adds-branch~branch-point, latest-patch, mcvs-0-10, mcvs-0-11, mcvs-0-12, mcvs-0-5, mcvs-0-6, mcvs-0-7, mcvs-0-8, mcvs-0-9
Branch point for: deferred-adds-branch
Changes since 1.3: +6 -3 lines
Diff to previous 1.3
* sync.lisp (synchronize-files): Return :dir symbol when either
argument is a directory.
* mapping.lisp (mapping-synchronize): Chatter output messages
are shorter. Handles :dir return value from synchronize-files.
(mapping-update): New sanity checks for moved and added
files, to avoid clobbering local files. Removed redundant
call to ensure-directories-exit in move logic, because
synchronize-files will do it anyway. Chatter messages reordered
to occur before their corresponding action is done.

* mcvs-main.lisp (*mcvs-error-treatment*): Special variable
can have new domain value, namely :decline.
(mcvs-top-error-handler): Print error message when terminating
non-restartable error. Handle new :decline treatment by
simply returning.
(mcvs-debug-shell): Set *mcvs-error-treatment* to :decline
so that errors are caught by debugger.

Revision 1.3 - (view) (annotate) - [select for diffs]
Thu Jan 31 05:35:02 2002 UTC (12 years, 2 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-0-2, mcvs-0-3, mcvs-0-4
Changes since 1.2: +1 -1 lines
Diff to previous 1.2
MCVS is being renamed to Meta-CVS.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sat Jan 26 02:37:53 2002 UTC (12 years, 2 months ago) by kaz
Branch: MAIN
CVS Tags: cvs-options-passthrough, mcvs-0-0, mcvs-0-1
Changes since 1.1: +4 -0 lines
Diff to previous 1.1
Copyright notices.

Revision 1.1 - (view) (annotate) - [select for diffs]
Sun Jan 20 07:12:03 2002 UTC (12 years, 3 months ago) by kaz
Branch: MAIN
Adding all existing source files.

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5