unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Thien-Thi Nguyen <ttn@glug.org>
Subject: Re: patch for documentation about version control
Date: 10 Nov 2004 04:00:36 -0500	[thread overview]
Message-ID: <jkpt2mf58r.fsf@glug.org> (raw)
In-Reply-To: Stefan Monnier's message of "Tue, 09 Nov 2004 16:34:14 -0500"

Stefan Monnier <monnier@iro.umontreal.ca> writes:

   I'd also suggest we don't recommend RCS any more.

although RCS is old (and somewhat quirky), it is still
useful.  i'm about to check in the following (changing
the names to have vc-rcs- prefix), which should extend
the lifetime of RCS ,v files if not the RCS executable
programs installed in ${bindir}, for a while yet.

i suppose support for ,v file munging does not conflict
directly w/ not recommending RCS any more, but it still
seems to me a slightly inconsistent message.

thi


_____________________________________________
;;; comma-v.el
;;;
;;; Rel:standalone-comma-v-el-2-0-0
;;;
;;; Copyright (C) 2004 Thien-Thi Nguyen
;;; This file is part of ttn's personal elisp library, released under GNU
;;; GPL with ABSOLUTELY NO WARRANTY.  See the file COPYING for details.
;;;
;;; Description: Read and write RCS-style masterfiles directly.

;;; Commentary:

;; Emacs is forever, but who knows whether or not ci(1) and co(1) will be
;; around in 20 years?  In any case, the true test for a data format is
;; how many programs can (easily) munge it.  Long live the ,v files!
;;
;; This library provides, at heart, two reciprocal functions:
;;   (comma-v-parse &optional buffer) => TREE
;;   (comma-v-unparse TREE &optional buffer)
;;
;; These have been tested only on simple ASCII files w/ "linear" revisions
;; (no branches, locks, access lists or other things).  There is some
;; quirkiness w/ RCS whitespace that probably will result in subtle errors.
;; Ahh, code-enhancement opportunities...
;;
;; Anyway, for the morbidly curious, here is the simple testing command:
;;
;; (defun comma-v-roundtrip (comma-v-file)
;;   (interactive "fRCS masterfile: ")
;;   (let* ((buf (find-file comma-v-file))
;;          (tree (comma-v-parse buf)))
;;     (switch-to-buffer "*comma-v-roundtrip*")
;;     (erase-buffer)
;;     (comma-v-unparse tree)
;;     (goto-char (point-min))
;;     (split-window-vertically)
;;     (switch-to-buffer-other-window buf)
;;     (goto-char (point-min))))
;;
;; You can then try `M-x compare-windows' and `C-u M-x compare-windows'.
;; Then for more fun, try it on a CVS-created ,v file.  This is known to
;; reveal miscompares for old ,v files where the year was stored as a two-
;; digit number (for example, 98 instead of 1998).  Obviously, overwriting
;; with a four-digit year is one way to prevent subsequent miscompares.
;;
;; Also provided are the functions:
;;   (comma-v-annotate-command file buffer &optional revision)
;;   (comma-v-annotate-current-time)
;;   (comma-v-annotate-time)
;;   (comma-v-annotate-extract-revision-at-line)
;;   (setup-anticipatory-vc-rcs-annotation)
;;
;; The last is a command that makes `C-x v g' work for RCS files
;; by hooking the other functions into the Emacs VC framework.
;; After some refinement they should be added to Emacs directly
;; along w/ -parse and -unparse, and comma-v.el declared obsolete.

;;; Code:

[snipped (to be added to vc-rcs.el in the next couple days) --ttn]

  parent reply	other threads:[~2004-11-10  9:00 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-09  6:55 patch for documentation about version control Alex Ott
2004-11-09  9:13 ` Andre Spiegel
2004-11-12  9:11   ` Alex Ott
2004-11-09 18:21 ` Karl Fogel
2004-11-09 21:32   ` Stefan Monnier
2004-11-09 21:34   ` Stefan Monnier
2004-11-09 22:09     ` David Kastrup
2004-11-10  9:00     ` Thien-Thi Nguyen [this message]
2004-11-10  9:22       ` Andre Spiegel
2004-11-10 16:43         ` Thien-Thi Nguyen
2004-11-11 11:55           ` Andre Spiegel
2004-11-11 15:11             ` Stefan
2004-11-11 15:36               ` Andre Spiegel
2004-11-11 15:25             ` Thien-Thi Nguyen
2004-11-11 16:06             ` Thien-Thi Nguyen
2004-11-11 18:25             ` Thien-Thi Nguyen
2004-11-11 20:59               ` Andre Spiegel
2004-11-12  9:33                 ` Thien-Thi Nguyen
2004-11-10  9:30     ` Andre Spiegel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jkpt2mf58r.fsf@glug.org \
    --to=ttn@glug.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).