]> code.delx.au - gnu-emacs/blobdiff - lisp/pcvs-info.el
New directory
[gnu-emacs] / lisp / pcvs-info.el
index 04368643e5b73bc3ab3b7b12d1813aee73e8392d..79cee63303a58ec561d068082cee28c635ba1462 100644 (file)
@@ -4,7 +4,6 @@
 
 ;; 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.
 
@@ -170,7 +169,7 @@ to confuse some users sometimes."
                 ;; untouched version resides.
 
   ;; The meaning of the type field:
-  
+
   ;; Value           ---Used by---     Explanation
   ;;                 update status
   ;; NEED-UPDATE               x       file needs update
@@ -269,9 +268,9 @@ to confuse some users sometimes."
       (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)
@@ -452,8 +451,13 @@ DIR can also be a file."
               ((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)))