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

Diff of /meta-cvs/F-FFF16CA4956A36F19290AC9E1EBAFFD8

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.59 by kaz, Tue Mar 4 05:55:11 2003 UTC revision 1.60 by kaz, Sun Apr 13 14:39:13 2003 UTC
# Line 284  for duplicate entries" Line 284  for duplicate entries"
284      ;;      ;;
285      (if (streamp source)      (if (streamp source)
286        (setf filemap (mapping-read-raw-map source))        (setf filemap (mapping-read-raw-map source))
287        (with-open-file (stream source :direction :input)        (restart-case
288          (setf filemap (mapping-read-raw-map stream))))          (with-open-file (stream source :direction :input)
289              (setf filemap (mapping-read-raw-map stream)))
290            (continue ()
291              :report "Pretend that an empty map was correctly read."
292              (setf filemap nil))))
293      ;;      ;;
294      ;; Distinguish between the old-style Meta-CVS map and      ;; Distinguish between the old-style Meta-CVS map and
295      ;; the new one. The old one is a list of lists of strings.      ;; the new one. The old one is a list of lists of strings.
# Line 315  for duplicate entries" Line 319  for duplicate entries"
319            (terpri file)))            (terpri file)))
320        (error (cond) (error "unable to write mapping file: ~a" cond)))))        (error (cond) (error "unable to write mapping file: ~a" cond)))))
321    
322  (defun mapping-synchronize (&optional filemap)  (defun mapping-synchronize (&key filemap (direction :either))
323  "Synchronizes the contents of files in the sandbox, and their corresponding  "Synchronizes the contents of files in the sandbox, and their corresponding
324  CVS files in the Meta-CVS directory. This must be done before any CVS operation  CVS files in the Meta-CVS directory. This must be done before any CVS operation
325  such as commit or update, so that the Meta-CVS files have the correct contents  such as commit or update, so that the Meta-CVS files have the correct contents
# Line 329  to ensure that the newly incorporated ch Line 333  to ensure that the newly incorporated ch
333              (case kind              (case kind
334                ((:file)                ((:file)
335                   (let ((left id) (right (abstract-to-real-path path)))                   (let ((left id) (right (abstract-to-real-path path)))
336                     (case (synchronize-files left right executable)                     (case (synchronize-files left right executable
337                                                :direction direction)
338                       ((:left)                       ((:left)
339                         (chatter-info "sync ~a -> ~a~%" left right))                         (chatter-info "sync ~a -> ~a~%" left right))
340                       ((:right)                       ((:right)
341                         (chatter-info "sync ~a <- ~a~%" left right))                         (chatter-info "sync ~a <- ~a~%" left right))
342                       ((:same))                       ((:same :no-sync))
343                       ((:dir)                       ((:dir)
344                         (error "cannot sync, either ~a or ~a is a directory."                         (error "cannot sync, either ~a or ~a is a directory."
345                                left right))                                left right))
# Line 480  whether they came from the CVS repositor Line 485  whether they came from the CVS repositor
485                                              (unlink real-new)))                                              (unlink real-new)))
486                        (case kind                        (case kind
487                          ((:file)                          ((:file)
488                             (synchronize-files new-id real-new executable))                             (synchronize-files new-id real-new executable
489                                                  :direction :right))
490                          ((:symlink)                          ((:symlink)
491                             (honor-dry-run (target real-new)                             (honor-dry-run (target real-new)
492                               (ensure-directories-exist real-new)                               (ensure-directories-exist real-new)
# Line 497  whether they came from the CVS repositor Line 503  whether they came from the CVS repositor
503                    (case kind                    (case kind
504                      ((:file)                      ((:file)
505                         (chatter-terse "adding ~a~%" real)                         (chatter-terse "adding ~a~%" real)
506                         (synchronize-files id real executable))                         (synchronize-files id real executable
507                                              :direction :right))
508                      ((:symlink)                      ((:symlink)
509                         (chatter-terse "linking ~a -> ~a~%" real target)                         (chatter-terse "linking ~a -> ~a~%" real target)
510                         (honor-dry-run (real)                         (honor-dry-run (real)
# Line 518  whether they came from the CVS repositor Line 525  whether they came from the CVS repositor
525                (chatter-terse "restoring ~a~%" real)                (chatter-terse "restoring ~a~%" real)
526                (case kind                (case kind
527                  ((:file)                  ((:file)
528                     (synchronize-files id real executable))                     (synchronize-files id real executable :direction :right))
529                  ((:symlink)                  ((:symlink)
530                     (honor-dry-run (real)                     (honor-dry-run (real)
531                       (ensure-directories-exist real)                       (ensure-directories-exist real)

Legend:
Removed from v.1.59  
changed lines
  Added in v.1.60

  ViewVC Help
Powered by ViewVC 1.1.5