;;; vc.el --- drive a version-control system from within Emacs
-;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000,
+;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
;; Author: FSF (see below for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Credits:
;; This mode is fully documented in the Emacs user's manual.
;;
-;; Supported version-control systems presently include SCCS, RCS, and CVS.
+;; Supported version-control systems presently include CVS, RCS, GNU Arch,
+;; Subversion, Meta-CVS, and SCCS (or its free replacement, CSSC).
;;
;; Some features will not work with old RCS versions. Where
;; appropriate, VC finds out which version you have, and allows or
;;
;; The vc code maintains some internal state in order to reduce expensive
;; version-control operations to a minimum. Some names are only computed
-;; once. If you perform version control operations with RCS/SCCS/CVS while
+;; once. If you perform version control operations with the backend while
;; vc's back is turned, or move/rename master files while vc is running,
;; vc may get seriously confused. Don't do these things!
;;
;; Annotate customization
(defcustom vc-annotate-color-map
- '(( 20. . "#FF0000")
- ( 40. . "#FF3800")
- ( 60. . "#FF7000")
- ( 80. . "#FFA800")
- (100. . "#FFE000")
- (120. . "#E7FF00")
- (140. . "#AFFF00")
- (160. . "#77FF00")
- (180. . "#3FFF00")
- (200. . "#07FF00")
- (220. . "#00FF31")
- (240. . "#00FF69")
- (260. . "#00FFA1")
- (280. . "#00FFD9")
- (300. . "#00EEFF")
- (320. . "#00B6FF")
- (340. . "#007EFF"))
+ '(( 20. . "#FFCC00")
+ ( 40. . "#FF6666")
+ ( 60. . "#FF6600")
+ ( 80. . "#FF3300")
+ (100. . "#FF00FF")
+ (120. . "#FF0000")
+ (140. . "#CCCC00")
+ (160. . "#CC00CC")
+ (180. . "#BC8F8F")
+ (200. . "#99CC00")
+ (220. . "#999900")
+ (240. . "#7AC5CD")
+ (260. . "#66CC00")
+ (280. . "#33CC33")
+ (300. . "#00CCFF")
+ (320. . "#00CC99")
+ (340. . "#0099FF"))
"*Association list of age versus color, for \\[vc-annotate].
Ages are given in units of fractional days. Default is eighteen steps
using a twenty day increment."
;; functions that operate on RCS revision numbers. This code should
;; also be moved into the backends. It stays for now, however, since
;; it is used in code below.
+;;;###autoload
(defun vc-trunk-p (rev)
"Return t if REV is a revision on the trunk."
(not (eq nil (string-match "\\`[0-9]+\\.[0-9]+\\'" rev))))
;;;###autoload
(defun vc-annotate (prefix &optional revision display-mode)
- "Display the edit history of the current file using colours.
+ "Display the edit history of the current file using colors.
This command creates a buffer that shows, for each line of the current
-file, when it was last edited and by whom. Additionally, colours are
+file, when it was last edited and by whom. Additionally, colors are
used to show the age of each line--blue means oldest, red means
-youngest, and intermediate colours indicate intermediate ages. By
+youngest, and intermediate colors indicate intermediate ages. By
default, the time scale stretches back one year into the past;
everything that is older than that is shown in blue.