;;; pcvs-info.el --- internal representation of a fileinfo entry
-;; Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+;; 2000, 2004 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@cs.yale.edu>
;; Keywords: pcl-cvs
-;; Revision: $Id: pcvs-info.el,v 1.12 2002/06/18 23:03:55 monnier Exp $
;; This file is part of GNU Emacs.
"The prefix that CVS prepends to files when rcsmerge'ing.")
(easy-mmode-defmap cvs-status-map
- '(([(mouse-2)] . cvs-mouse-toggle-mark))
+ '(([(mouse-2)] . cvs-mode-toggle-mark))
"Local keymap for text properties of status")
;; Constructor:
;; untouched version resides.
;; The meaning of the type field:
-
+
;; Value ---Used by--- Explanation
;; update status
;; NEED-UPDATE x file needs update
(file (cvs-fileinfo->file fileinfo))
(default-directory (file-name-as-directory (expand-file-name dir)))
(files (directory-files "." nil
- (concat "^" (regexp-quote cvs-bakprefix)
- (regexp-quote file) "\\.")))
+ (concat "\\`" (regexp-quote cvs-bakprefix)
+ (regexp-quote file) "\\(\\.[0-9]+\\.[0-9]+\\)+\\'")))
bf)
(dolist (f files bf)
(when (and (file-readable-p f)
(error "Invalid :%s in cvs-fileinfo %s" check fi))))
\f
-;;;;
+;;;;
;;;; State table to indicate what you can do when.
-;;;;
+;;;;
(defconst cvs-states
- `((NEED-UPDATE update diff)
+ `((NEED-UPDATE update diff ignore)
(UP-TO-DATE update nil remove diff safe-rm revert)
(MODIFIED update commit undo remove diff merge diff-base)
(ADDED update commit remove)
((equal date "Result of merge") (setq subtype 'MERGED))
((let ((mtime (nth 5 (file-attributes (concat dir f))))
(system-time-locale "C"))
- (equal (setq timestamp (format-time-string "%c" mtime 'utc))
- date))
+ (setq timestamp (format-time-string "%c" mtime 'utc))
+ ;; Solaris sometimes uses "Wed Sep 05", not "Wed Sep 5".
+ ;; See "grep '[^a-z_]ctime' cvs/src/*.c" for reference.
+ (if (= (aref timestamp 8) ?0)
+ (setq timestamp (concat (substring timestamp 0 8)
+ " " (substring timestamp 9))))
+ (equal timestamp date))
(setq type (if all 'UP-TO-DATE)))
((equal date (concat "Result of merge+" timestamp))
(setq type 'CONFLICT)))
(provide 'pcvs-info)
+;; arch-tag: d85dde07-bdc2-400a-882f-92f398c7b0ba
;;; pcvs-info.el ends here