[Cl-darcs-cvs] r150 - cl-darcs/trunk
mhenoch at common-lisp.net
mhenoch at common-lisp.net
Tue Jan 8 18:04:03 UTC 2008
Author: mhenoch
Date: Tue Jan 8 13:04:02 2008
New Revision: 150
Modified:
cl-darcs/trunk/diff.lisp
Log:
Signal an error when adding a file or directory that already exists
Modified: cl-darcs/trunk/diff.lisp
==============================================================================
--- cl-darcs/trunk/diff.lisp (original)
+++ cl-darcs/trunk/diff.lisp Tue Jan 8 13:04:02 2008
@@ -1,4 +1,4 @@
-;;; Copyright (C) 2006, 2007 Magnus Henoch
+;;; Copyright (C) 2006, 2007, 2008 Magnus Henoch
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
@@ -157,7 +157,10 @@
(typecase p
(add-file-patch
(let ((pathname-string (pathname-to-string (patch-filename p)))
+ (old-file (merge-pathnames (patch-filename p) pristine))
(new-file (merge-pathnames (patch-filename p) repo)))
+ (when (fad:file-exists-p old-file)
+ (error "Pending add of file ~A, but it already exists in the repository." pathname-string))
(setf patches
(nconc patches
(list* p
@@ -165,6 +168,10 @@
(diff-binary-file nil new-file :filename pathname-string)
(diff-file nil new-file :filename pathname-string)))))))
(add-dir-patch
+ (let ((pathname-string (pathname-to-string (patch-directory p)))
+ (old-dir (merge-pathnames (patch-directory p) pristine)))
+ (when (fad:directory-exists-p old-dir)
+ (error "Pending add of directory ~A, but it already exists in the repository." pathname-string)))
(setf patches (nconc patches (list p))))
(t
(push p pruned-pending))))
More information about the Cl-darcs-cvs
mailing list