r8018: Automated commit for Debian build of vcs-tree upstream-version-0.2
[vcs-tree.git] / main.lisp
index 85c3aff36b8d47353112d7e553563340393b5371..b3437eb32573a426d643752e0d963ef92402b356 100644 (file)
--- a/main.lisp
+++ b/main.lisp
@@ -100,23 +100,24 @@ Returns a list of directories managed by CVS or SVN."
 
 (defun process-vcs-directory (dir action options)
   (flet ((process (dir type-name)
-          (let ((cmd
-                 (ecase action
-                   (:update
-                    (format nil "~A update" type-name)) 
-                   (:status
-                    (format nil "~A status" type-name)) 
-                   (:commit
-                    (format nil "~A commit~A" type-name
-                            (aif (find "m" options :key #'car :test 'string=)
-                                 (format nil " -m \"~A\"" (cdr it))
-                                 ""))))))
+          (let* ((vcs-cmd
+                  (ecase action
+                    (:update
+                     (format nil "~A update" type-name)) 
+                    (:status
+                     (format nil "~A status" type-name)) 
+                    (:commit
+                     (format nil "~A commit~A" type-name
+                             (aif (find "m" options :key #'car :test 'string=)
+                                  (format nil " -m \"~A\"" (cdr it))
+                                  "")))))
+                 (cmd (format nil "(cd ~A; ~A)" (namestring dir) vcs-cmd)))
+            (format t "~A ~A:~%" vcs-cmd (namestring dir))
             (multiple-value-bind (output error status)
-              (shell-command-output cmd :directory dir :whole t)
+                (shell-command-output cmd :directory dir :whole t)
               (if (zerop status)
-                  (format t "~A ~A: ~A~%" cmd (namestring dir) output)
-                  (format t "~A ~A: ~A ~A ~A~%" cmd (namestring dir) output
-                          error status))))))
+                  (format t "~A~%" output)
+                  (format t "Exit status ~D: ~A ~A~%" status output error))))))
     (cond
       ((is-cvs-managed dir)
        (process dir "cvs"))