/[meta-cvs]/meta-cvs/F-205A90D152A06EE04D552B256CDAF850
ViewVC logotype

Diff of /meta-cvs/F-205A90D152A06EE04D552B256CDAF850

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

revision 1.15 by kaz, Sat Jun 29 14:15:25 2002 UTC revision 1.15.6.6 by kaz, Wed Jul 16 15:44:11 2003 UTC
# Line 12  Line 12 
12  (defun mcvs-update (&optional cvs-options cvs-update-options files)  (defun mcvs-update (&optional cvs-options cvs-update-options files)
13    (let ((need-sync (not (find "p" cvs-update-options    (let ((need-sync (not (find "p" cvs-update-options
14                                :key #'first :test #'string=))))                                :key #'first :test #'string=))))
15      (if files      (if (or files *metaonly-option* *nometa-option*)
16        (mcvs-generic "update" cvs-options cvs-update-options nil        (mcvs-generic "update" cvs-options cvs-update-options nil
17                      files :need-sync-after need-sync                      files :need-sync-after need-sync
18                      :need-update-after t                      :need-update-after t)
                     :default-include-meta-files nil)  
19        (in-sandbox-root-dir        (in-sandbox-root-dir
20          (if need-sync          (if need-sync
21            (progn            (progn
22                ;; Push changes in tree to CVS sandbox, so they can be merged
23                ;; with stuff coming from repository.
24              (chatter-debug "Synchronizing.~%")              (chatter-debug "Synchronizing.~%")
25              (mapping-synchronize)              (mapping-synchronize :direction :left)
26    
27              (current-dir-restore              (current-dir-restore
28                (chdir *mcvs-dir*)                (chdir *mcvs-dir*)
29                (tagbody                (super-restart-case
30                  :again                  (progn
31                  (chatter-debug "Invoking CVS.~%")                    (chatter-debug "Invoking CVS.~%")
32                  (if (not (execute-program `("cvs" ,@(format-opt cvs-options)                    (unless (execute-program `("cvs" ,@(format-opt cvs-options)
33                                              "up" ,@(format-opt cvs-update-options))))                                               "up" ,@(format-opt
34                    (restart-case (error "CVS update failed.")                                                        cvs-update-options)))
35                      (continue () :report "Update file structure and re-synchronize.")                      (error "CVS update failed.")))
36                      (retry () :report "Try invoking CVS again." (go :again))))))                  (continue ()
37                      :report "Update file structure and re-synchronize."
38                      (unwind))
39                    (retry ()
40                      :report "Try invoking CVS again."
41                      (retry))))
42    
43              (chatter-debug "Updating file structure.~%")              (chatter-debug "Updating file structure.~%")
44              (mapping-update)              (mapping-update)
45              (chatter-debug "Synchronizing again.~%")              (chatter-debug "Synchronizing again.~%")
46              (mapping-synchronize))              (mapping-synchronize :direction :right))
47            (current-dir-restore            (current-dir-restore
48              (chdir *mcvs-dir*)              (chdir *mcvs-dir*)
49              (chatter-debug "Invoking CVS.~%")              (chatter-debug "Invoking CVS.~%")
50              (if (not (execute-program `("cvs" ,@(format-opt cvs-options)              (unless (execute-program `("cvs" ,@(format-opt cvs-options)
51                                          "up" ,@(format-opt cvs-update-options))))                                         "up" ,@(format-opt cvs-update-options))))
52                (error "CVS update failed.")))))))                (error "CVS update failed."))))))
53    (values))    (values))
54    
55  (defun mcvs-update-wrapper (cvs-options cvs-command-options mcvs-args)  (defun mcvs-update-wrapper (cvs-options cvs-command-options mcvs-args)

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.15.6.6

  ViewVC Help
Powered by ViewVC 1.1.5