aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond2008-05-01 19:13:16 +0000
committerEric S. Raymond2008-05-01 19:13:16 +0000
commit3702367bcef4d8987b1c6aa06ab29ec0390d6887 (patch)
tree28e5ebf63522f5a5b0930eeccaf573a613b6b0b3
parenta84615c77a3642de1ddc4f488017adfab586a33e (diff)
downloademacs-3702367bcef4d8987b1c6aa06ab29ec0390d6887.tar.gz
emacs-3702367bcef4d8987b1c6aa06ab29ec0390d6887.zip
Change 'needs-patch to 'needs-update.
-rw-r--r--lisp/ChangeLog16
-rw-r--r--lisp/vc-arch.el2
-rw-r--r--lisp/vc-bzr.el2
-rw-r--r--lisp/vc-cvs.el6
-rw-r--r--lisp/vc-git.el14
-rw-r--r--lisp/vc-hooks.el13
-rw-r--r--lisp/vc-mtn.el2
-rw-r--r--lisp/vc-rcs.el38
-rw-r--r--lisp/vc-sccs.el28
-rw-r--r--lisp/vc-svn.el2
-rw-r--r--lisp/vc.el27
11 files changed, 82 insertions, 68 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index cadc3d43105..275e6dbeb0b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,19 @@
12008-05-01 Eric S. Raymond <esr@snark.thyrsus.com>
2
3 * vc-bzr.el (vc-bzr-state): Allow this to return 'ignored
4 when appropriate.
5 * vc-sccs.el (vc-sccs-state): Call vc-sccs-unregistered so
6 we report the 'unregistered state reliably.
7 * vc-rcs.el (vc-rcs-state): Call vc-rcs-unregistered so
8 we report the 'unregistered state reliably.
9 * vc-git.el (vc-git-state): Call vc-git-unregistered so
10 we report the 'unregistered state reliably.
11 * vc-hooks (vc-state): Document that vc-unregistered is
12 now expected to be returned reliably.
13 * vc.el (vc-default-dired-state): Change needs-patch state to
14 needs-update, since the name now shows up in dir-status listings
15 and was somewhat misleading.
16
12008-05-01 Sam Steingold <sds@gnu.org> 172008-05-01 Sam Steingold <sds@gnu.org>
2 18
3 * vc.el (vc-delete-file): Check if the file has uncommitted changed. 19 * vc.el (vc-delete-file): Check if the file has uncommitted changed.
diff --git a/lisp/vc-arch.el b/lisp/vc-arch.el
index 58a3bd0183d..77e36dd335e 100644
--- a/lisp/vc-arch.el
+++ b/lisp/vc-arch.el
@@ -329,7 +329,7 @@ Return non-nil if FILE is unchanged."
329 (setq rev (replace-match (cdr rule) t nil rev)))) 329 (setq rev (replace-match (cdr rule) t nil rev))))
330 (format "Arch%c%s" 330 (format "Arch%c%s"
331 (case (vc-state file) 331 (case (vc-state file)
332 ((up-to-date needs-patch) ?-) 332 ((up-to-date needs-update) ?-)
333 (added ?@) 333 (added ?@)
334 (t ?:)) 334 (t ?:))
335 rev))) 335 rev)))
diff --git a/lisp/vc-bzr.el b/lisp/vc-bzr.el
index aca00409fac..3d8990a6157 100644
--- a/lisp/vc-bzr.el
+++ b/lisp/vc-bzr.el
@@ -275,7 +275,7 @@ If any error occurred in running `bzr status', then return nil."
275 (renamed . edited) 275 (renamed . edited)
276 (modified . edited) 276 (modified . edited)
277 (removed . removed) 277 (removed . removed)
278 (ignored . unregistered) 278 (ignored . ignored)
279 (unknown . unregistered) 279 (unknown . unregistered)
280 (unchanged . up-to-date))))))) 280 (unchanged . up-to-date)))))))
281 281
diff --git a/lisp/vc-cvs.el b/lisp/vc-cvs.el
index eec813859d2..ba80153a60c 100644
--- a/lisp/vc-cvs.el
+++ b/lisp/vc-cvs.el
@@ -838,7 +838,7 @@ state."
838 ((string-match "Locally Modified" status) 'edited) 838 ((string-match "Locally Modified" status) 'edited)
839 ((string-match "Needs Merge" status) 'needs-merge) 839 ((string-match "Needs Merge" status) 'needs-merge)
840 ((string-match "Needs \\(Checkout\\|Patch\\)" status) 840 ((string-match "Needs \\(Checkout\\|Patch\\)" status)
841 (if missing 'missing 'needs-patch)) 841 (if missing 'missing 'needs-update))
842 ((string-match "Locally Added" status) 'added) 842 ((string-match "Locally Added" status) 'added)
843 ((string-match "Locally Removed" status) 'removed) 843 ((string-match "Locally Removed" status) 'removed)
844 ((string-match "File had conflicts " status) 'conflict) 844 ((string-match "File had conflicts " status) 'conflict)
@@ -903,7 +903,7 @@ state."
903 ((string-match "Locally Modified" status-str) 'edited) 903 ((string-match "Locally Modified" status-str) 'edited)
904 ((string-match "Needs Merge" status-str) 'needs-merge) 904 ((string-match "Needs Merge" status-str) 'needs-merge)
905 ((string-match "Needs \\(Checkout\\|Patch\\)" status-str) 905 ((string-match "Needs \\(Checkout\\|Patch\\)" status-str)
906 (if missing 'missing 'needs-patch)) 906 (if missing 'missing 'needs-update))
907 ((string-match "Locally Added" status-str) 'added) 907 ((string-match "Locally Added" status-str) 'added)
908 ((string-match "Locally Removed" status-str) 'removed) 908 ((string-match "Locally Removed" status-str) 'removed)
909 ((string-match "File had conflicts " status-str) 'conflict) 909 ((string-match "File had conflicts " status-str) 'conflict)
@@ -922,7 +922,7 @@ state."
922 ;; (?M . edited) 922 ;; (?M . edited)
923 ;; (?P . needs-merge) 923 ;; (?P . needs-merge)
924 ;; (?R . removed) 924 ;; (?R . removed)
925 ;; (?U . needs-patch)))) 925 ;; (?U . needs-update))))
926 ;; (goto-char (point-min)) 926 ;; (goto-char (point-min))
927 ;; (while (not (eobp)) 927 ;; (while (not (eobp))
928 ;; (if (looking-at "^[ACMPRU?] \\(.*\\)$") 928 ;; (if (looking-at "^[ACMPRU?] \\(.*\\)$")
diff --git a/lisp/vc-git.el b/lisp/vc-git.el
index 757263fa11e..0c718cb8677 100644
--- a/lisp/vc-git.el
+++ b/lisp/vc-git.el
@@ -156,12 +156,14 @@
156(defun vc-git-state (file) 156(defun vc-git-state (file)
157 "Git-specific version of `vc-state'." 157 "Git-specific version of `vc-state'."
158 ;; FIXME: This can't set 'ignored yet 158 ;; FIXME: This can't set 'ignored yet
159 (vc-git--call nil "add" "--refresh" "--" (file-relative-name file)) 159 (if (not (vc-git-registered file))
160 (let ((diff (vc-git--run-command-string file "diff-index" "-z" "HEAD" "--"))) 160 'unregistered
161 (if (and diff (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0" 161 (vc-git--call nil "add" "--refresh" "--" (file-relative-name file))
162 diff)) 162 (let ((diff (vc-git--run-command-string file "diff-index" "-z" "HEAD" "--")))
163 (vc-git--state-code (match-string 1 diff)) 163 (if (and diff (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0"
164 (if (vc-git--empty-db-p) 'added 'up-to-date)))) 164 diff))
165 (vc-git--state-code (match-string 1 diff))
166 (if (vc-git--empty-db-p) 'added 'up-to-date)))))
165 167
166(defun vc-git--ls-files-state (state &rest args) 168(defun vc-git--ls-files-state (state &rest args)
167 "Set state to STATE on all files found with git-ls-files ARGS." 169 "Set state to STATE on all files found with git-ls-files ARGS."
diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el
index e75f6ebce7b..3c17c816e58 100644
--- a/lisp/vc-hooks.el
+++ b/lisp/vc-hooks.el
@@ -491,7 +491,7 @@ For registered files, the value returned is one of:
491 USER The current version of the working file is locked by 491 USER The current version of the working file is locked by
492 some other USER (a string). 492 some other USER (a string).
493 493
494 'needs-patch The file has not been edited by the user, but there is 494 'needs-update The file has not been edited by the user, but there is
495 a more recent version on the current branch stored 495 a more recent version on the current branch stored
496 in the master file. 496 in the master file.
497 497
@@ -528,12 +528,7 @@ For registered files, the value returned is one of:
528 that any file with vc-state nil might be ignorable 528 that any file with vc-state nil might be ignorable
529 without VC knowing it. 529 without VC knowing it.
530 530
531 'unregistered The file showed up in a dir-state listing with a flag 531 'unregistered The file is not under version control.
532 indicating that it is not under version control.
533 Note: This property is not set reliably (some VCSes
534 don't have useful directory-status commands) so assume
535 that any file with vc-state nil might be unregistered
536 without VC knowing it.
537 532
538A return of nil from this function means we have no information on the 533A return of nil from this function means we have no information on the
539status of this file. 534status of this file.
@@ -856,7 +851,7 @@ This function assumes that the file is registered."
856 (rev (vc-working-revision file))) 851 (rev (vc-working-revision file)))
857 (propertize 852 (propertize
858 (cond ((or (eq state 'up-to-date) 853 (cond ((or (eq state 'up-to-date)
859 (eq state 'needs-patch)) 854 (eq state 'needs-update))
860 (setq state-echo "Up to date file") 855 (setq state-echo "Up to date file")
861 (concat backend "-" rev)) 856 (concat backend "-" rev))
862 ((stringp state) 857 ((stringp state)
@@ -877,7 +872,7 @@ This function assumes that the file is registered."
877 (t 872 (t
878 ;; Not just for the 'edited state, but also a fallback 873 ;; Not just for the 'edited state, but also a fallback
879 ;; for all other states. Think about different symbols 874 ;; for all other states. Think about different symbols
880 ;; for 'needs-patch and 'needs-merge. 875 ;; for 'needs-update and 'needs-merge.
881 (setq state-echo "Locally modified file") 876 (setq state-echo "Locally modified file")
882 (concat backend ":" rev))) 877 (concat backend ":" rev)))
883 'help-echo (concat state-echo " under the " backend 878 'help-echo (concat state-echo " under the " backend
diff --git a/lisp/vc-mtn.el b/lisp/vc-mtn.el
index faa28964be7..9f300a8f8eb 100644
--- a/lisp/vc-mtn.el
+++ b/lisp/vc-mtn.el
@@ -125,7 +125,7 @@
125 (setq branch (replace-match (cdr rule) t nil branch)))) 125 (setq branch (replace-match (cdr rule) t nil branch))))
126 (format "Mtn%c%s" 126 (format "Mtn%c%s"
127 (case (vc-state file) 127 (case (vc-state file)
128 ((up-to-date needs-patch) ?-) 128 ((up-to-date needs-update) ?-)
129 (added ?@) 129 (added ?@)
130 (t ?:)) 130 (t ?:))
131 branch))) 131 branch)))
diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el
index a1b10aaa541..e87abef125f 100644
--- a/lisp/vc-rcs.el
+++ b/lisp/vc-rcs.el
@@ -118,23 +118,25 @@ For a description of possible values, see `vc-check-master-templates'."
118 118
119(defun vc-rcs-state (file) 119(defun vc-rcs-state (file)
120 "Implementation of `vc-state' for RCS." 120 "Implementation of `vc-state' for RCS."
121 (or (boundp 'vc-rcs-headers-result) 121 (if (not (vc-rc-registered f))
122 (and vc-consult-headers 122 'unregistered
123 (vc-rcs-consult-headers file))) 123 (or (boundp 'vc-rcs-headers-result)
124 (let ((state 124 (and vc-consult-headers
125 ;; vc-working-revision might not be known; in that case the 125 (vc-rcs-consult-headers file)))
126 ;; property is nil. vc-rcs-fetch-master-state knows how to 126 (let ((state
127 ;; handle that. 127 ;; vc-working-revision might not be known; in that case the
128 (vc-rcs-fetch-master-state file 128 ;; property is nil. vc-rcs-fetch-master-state knows how to
129 (vc-file-getprop file 129 ;; handle that.
130 'vc-working-revision)))) 130 (vc-rcs-fetch-master-state file
131 (if (not (eq state 'up-to-date)) 131 (vc-file-getprop file
132 state 132 'vc-working-revision))))
133 (if (vc-workfile-unchanged-p file) 133 (if (not (eq state 'up-to-date))
134 'up-to-date 134 state
135 (if (eq (vc-rcs-checkout-model file) 'locking) 135 (if (vc-workfile-unchanged-p file)
136 'unlocked-changes 136 'up-to-date
137 'edited))))) 137 (if (eq (vc-rcs-checkout-model file) 'locking)
138 'unlocked-changes
139 'edited))))))
138 140
139(defun vc-rcs-state-heuristic (file) 141(defun vc-rcs-state-heuristic (file)
140 "State heuristic for RCS." 142 "State heuristic for RCS."
@@ -889,7 +891,7 @@ file."
889 ;; workfile version is latest on branch 891 ;; workfile version is latest on branch
890 'up-to-date 892 'up-to-date
891 ;; workfile version is not latest on branch 893 ;; workfile version is not latest on branch
892 'needs-patch)) 894 'needs-update))
893 ;; locked by the calling user 895 ;; locked by the calling user
894 ((and (stringp locking-user) 896 ((and (stringp locking-user)
895 (string= locking-user (vc-user-login-name file))) 897 (string= locking-user (vc-user-login-name file)))
diff --git a/lisp/vc-sccs.el b/lisp/vc-sccs.el
index 3bcc10416b8..dd9c464f8ef 100644
--- a/lisp/vc-sccs.el
+++ b/lisp/vc-sccs.el
@@ -117,19 +117,21 @@ For a description of possible values, see `vc-check-master-templates'."
117 117
118(defun vc-sccs-state (file) 118(defun vc-sccs-state (file)
119 "SCCS-specific function to compute the version control state." 119 "SCCS-specific function to compute the version control state."
120 (with-temp-buffer 120 (if (not (vc-sccs-registered file))
121 (if (vc-insert-file (vc-sccs-lock-file file)) 121 'unregistered
122 (let* ((locks (vc-sccs-parse-locks)) 122 (with-temp-buffer
123 (working-revision (vc-working-revision file)) 123 (if (vc-insert-file (vc-sccs-lock-file file))
124 (locking-user (cdr (assoc working-revision locks)))) 124 (let* ((locks (vc-sccs-parse-locks))
125 (if (not locking-user) 125 (working-revision (vc-working-revision file))
126 (if (vc-workfile-unchanged-p file) 126 (locking-user (cdr (assoc working-revision locks))))
127 'up-to-date 127 (if (not locking-user)
128 'unlocked-changes) 128 (if (vc-workfile-unchanged-p file)
129 (if (string= locking-user (vc-user-login-name file)) 129 'up-to-date
130 'edited 130 'unlocked-changes)
131 locking-user))) 131 (if (string= locking-user (vc-user-login-name file))
132 'up-to-date))) 132 'edited
133 locking-user)))
134 'up-to-date))))
133 135
134(defun vc-sccs-state-heuristic (file) 136(defun vc-sccs-state-heuristic (file)
135 "SCCS-specific state heuristic." 137 "SCCS-specific state heuristic."
diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el
index 31d346ea87a..053c7fd1965 100644
--- a/lisp/vc-svn.el
+++ b/lisp/vc-svn.el
@@ -625,7 +625,7 @@ information about FILENAME and return its status."
625 (cond 625 (cond
626 ((eq status ?\ ) 626 ((eq status ?\ )
627 (if (eq (char-after (match-beginning 1)) ?*) 627 (if (eq (char-after (match-beginning 1)) ?*)
628 'needs-patch 628 'needs-update
629 (vc-file-setprop file 'vc-checkout-time 629 (vc-file-setprop file 'vc-checkout-time
630 (nth 5 (file-attributes file))) 630 (nth 5 (file-attributes file)))
631 'up-to-date)) 631 'up-to-date))
diff --git a/lisp/vc.el b/lisp/vc.el
index d39aa0e8153..f31d741ca14 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -148,7 +148,8 @@
148;; possible values, see `vc-state'. This function should do a full and 148;; possible values, see `vc-state'. This function should do a full and
149;; reliable state computation; it is usually called immediately after 149;; reliable state computation; it is usually called immediately after
150;; C-x v v. If you want to use a faster heuristic when visiting a 150;; C-x v v. If you want to use a faster heuristic when visiting a
151;; file, put that into `state-heuristic' below. 151;; file, put that into `state-heuristic' below. Note that under most
152;; VCSes this won't be called at all, dir-state or dir-stus is used instead.
152;; 153;;
153;; - state-heuristic (file) 154;; - state-heuristic (file)
154;; 155;;
@@ -618,12 +619,6 @@
618;; - make it easier to write logs. Maybe C-x 4 a should add to the log 619;; - make it easier to write logs. Maybe C-x 4 a should add to the log
619;; buffer, if one is present, instead of adding to the ChangeLog. 620;; buffer, if one is present, instead of adding to the ChangeLog.
620;; 621;;
621;; - make vc-state for all backends return 'unregistered instead of
622;; nil for unregistered files, then update vc-next-action.
623;;
624;; - vc-default-registered should return 'unregistered not nil for
625;; unregistered files.
626;;
627;; - vc-register should register a fileset at a time. The backends 622;; - vc-register should register a fileset at a time. The backends
628;; already support this, only the front-end needs to be changed to 623;; already support this, only the front-end needs to be changed to
629;; handle multiple files at a time. 624;; handle multiple files at a time.
@@ -1661,12 +1656,11 @@ merge in the changes into your working copy."
1661 ;; Do the right thing 1656 ;; Do the right thing
1662 (cond 1657 (cond
1663 ;; Files aren't registered 1658 ;; Files aren't registered
1664 ((or (not state) ;; RCS uses nil for unregistered files. 1659 ((or (eq state 'unregistered)
1665 (eq state 'unregistered)
1666 (eq state 'ignored)) 1660 (eq state 'ignored))
1667 (mapc 'vc-register files)) 1661 (mapc 'vc-register files))
1668 ;; Files are up-to-date, or need a merge and user specified a revision 1662 ;; Files are up-to-date, or need a merge and user specified a revision
1669 ((or (eq state 'up-to-date) (and verbose (eq state 'needs-patch))) 1663 ((or (eq state 'up-to-date) (and verbose (eq state 'needs-update)))
1670 (cond 1664 (cond
1671 (verbose 1665 (verbose
1672 ;; go to a different revision 1666 ;; go to a different revision
@@ -1745,8 +1739,8 @@ merge in the changes into your working copy."
1745 ;; conflict 1739 ;; conflict
1746 ((eq state 'conflict) 1740 ((eq state 'conflict)
1747 (vc-mark-resolved files)) 1741 (vc-mark-resolved files))
1748 ;; needs-patch 1742 ;; needs-update
1749 ((eq state 'needs-patch) 1743 ((eq state 'needs-update)
1750 (dolist (file files) 1744 (dolist (file files)
1751 (if (yes-or-no-p (format 1745 (if (yes-or-no-p (format
1752 "%s is not up-to-date. Get latest revision? " 1746 "%s is not up-to-date. Get latest revision? "
@@ -1789,7 +1783,10 @@ merge in the changes into your working copy."
1789 "Revert to checked-in revision, instead? ")) 1783 "Revert to checked-in revision, instead? "))
1790 (error "Checkout aborted") 1784 (error "Checkout aborted")
1791 (vc-revert-buffer-internal t t) 1785 (vc-revert-buffer-internal t t)
1792 (vc-checkout file t)))))))) 1786 (vc-checkout file t)))))
1787 ;; Unknown fileset state
1788 (t
1789 (error "Fileset is in an unknown state %s" state)))))
1793 1790
1794(defun vc-create-repo (backend) 1791(defun vc-create-repo (backend)
1795 "Create an empty repository in the current directory." 1792 "Create an empty repository in the current directory."
@@ -1974,7 +1971,7 @@ After check-out, runs the normal hook `vc-checkout-hook'."
1974 (not writable)) 1971 (not writable))
1975 (if (vc-call latest-on-branch-p file) 1972 (if (vc-call latest-on-branch-p file)
1976 'up-to-date 1973 'up-to-date
1977 'needs-patch) 1974 'needs-update)
1978 'edited)) 1975 'edited))
1979 (vc-checkout-time . ,(nth 5 (file-attributes file)))))) 1976 (vc-checkout-time . ,(nth 5 (file-attributes file))))))
1980 (vc-resynch-buffer file t t) 1977 (vc-resynch-buffer file t t)
@@ -4277,7 +4274,7 @@ to provide the `find-revision' operation instead."
4277 ((stringp state) (concat "(" state ")")) 4274 ((stringp state) (concat "(" state ")"))
4278 ((eq state 'edited) "(modified)") 4275 ((eq state 'edited) "(modified)")
4279 ((eq state 'needs-merge) "(merge)") 4276 ((eq state 'needs-merge) "(merge)")
4280 ((eq state 'needs-patch) "(patch)") 4277 ((eq state 'needs-update) "(update)")
4281 ((eq state 'added) "(added)") 4278 ((eq state 'added) "(added)")
4282 ((eq state 'removed) "(removed)") 4279 ((eq state 'removed) "(removed)")
4283 ((eq state 'ignored) "(ignored)") ;; dired-hook filters this out 4280 ((eq state 'ignored) "(ignored)") ;; dired-hook filters this out