927 |
;; This is intentionally different from the algorithm that CVS uses |
;; This is intentionally different from the algorithm that CVS uses |
928 |
;; (which is based on textual comparison), because there can be problems |
;; (which is based on textual comparison), because there can be problems |
929 |
;; generating a time string that looks exactly like the one from CVS. |
;; generating a time string that looks exactly like the one from CVS. |
930 |
(let ((mtime (nth 5 (file-attributes file))) |
(let ((mtime (nth 5 (file-attributes file)))) |
931 |
(parsed-time |
(require 'parse-time) |
932 |
(parse-time-string (concat (match-string 2) " +0000")))) |
(let ((parsed-time |
933 |
(cond ((and (not (string-match "\\+" (match-string 2))) |
(parse-time-string (concat (match-string 2) " +0000")))) |
934 |
(car parsed-time) |
(cond ((and (not (string-match "\\+" (match-string 2))) |
935 |
(equal mtime (apply 'encode-time parsed-time))) |
(car parsed-time) |
936 |
(vc-file-setprop file 'vc-checkout-time mtime) |
(equal mtime (apply 'encode-time parsed-time))) |
937 |
(if set-state (vc-file-setprop file 'vc-state 'up-to-date))) |
(vc-file-setprop file 'vc-checkout-time mtime) |
938 |
(t |
(if set-state (vc-file-setprop file 'vc-state 'up-to-date))) |
939 |
(vc-file-setprop file 'vc-checkout-time 0) |
(t |
940 |
(if set-state (vc-file-setprop file 'vc-state 'edited)))))))) |
(vc-file-setprop file 'vc-checkout-time 0) |
941 |
|
(if set-state (vc-file-setprop file 'vc-state 'edited))))))))) |
942 |
|
|
943 |
(provide 'vc-cvs) |
(provide 'vc-cvs) |
944 |
|
|