bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[21.2]: VC/RCS changes default branch when dealing with branch re vision


From: Marshall, Simon
Subject: [21.2]: VC/RCS changes default branch when dealing with branch re vision
Date: Fri, 14 Jun 2002 17:16:10 +0100

In GNU Emacs 21.2.1 (sparc-sun-solaris2.6, GNU/LessTif Version 2.1
Release 0.93.3)
 of 2002-03-21 on ashanti
configured using `configure  --prefix=/rvcarma/marshals/slash/usr/local
--x-includes=/usr/openwin/include:/rvcarma/marshals/slash/usr/local/incl
ude:/rvcarma/marshals/slash/usr/local/include/X11
--x-libraries=/usr/openwin/lib:/rvcarma/marshals/slash/usr/local/lib:/rv
carma/marshals/slash/usr/local/lib/X11 --with-x-toolkit=motif'
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: en_UK
  value of $LC_CTYPE: en_UK
  value of $LC_MESSAGES: C
  value of $LC_MONETARY: en_UK
  value of $LC_NUMERIC: en_UK
  value of $LC_TIME: en_UK
  value of $LANG: en_UK
  locale-coding-system: iso-latin-1
  default-enable-multibyte-characters: t

If I use RCS shell commands to checkout a branch revision, lock the
file, edit it, check it in, then do "co file", I get the trunk
revision.  This is what I would expect: rlog says:

        head: 1.1
        branch:

If I use Emacs to checkout a branch revision, lock the file, edit it,
check it in, then do "co file" in a shell, I get the branch revision
instead.  This is not what I would expect.
The reason is that the branch has been set: rlog says:

        head: 1.1
        branch: 1.1.1

--- SETUP ---

\rm -fr RCS foo.bar
mkdir RCS
echo '$Header: $' > foo.bar
ci -f -m"trunk foo.bar" -l1 -ntrunk -t-"file foo.bar" foo.bar
ci -f -m"branch foo.bar" -u1.1.1 foo.bar
rcs -nbranch:1.1.1 foo.bar
co foo.bar

This creates a file foo.bar with a revision 1.1 (label trunk) and
revision 1.1.1.1 (label branch).  OK, rlog says:

        head: 1.1
        branch:

--- To test the command line behaviour ---

First do the setup above.  Then checkout & lock & modify & checkin the
branch:

co -l -rbranch foo.bar
date >> foo.bar
ci -u -m"branch modification" foo.bar

This leaves me with revision 1.1.1.2 of foo.bar.  OK, and rlog says:

        head: 1.1
        branch:

so when I do:

co foo.bar

I get the trunk revision of foo.bar.  This is what I would expect.

--- To test Emacs behaviour ---

First do the setup above.  Then:

C-x C-f foo.bar RET C-u C-x v v branch RET C-x C-q

to checkout & lock the branch.  Modify it (e.g., add a line) & checkin:

C-x C-s C-x C-q C-c C-c

This leaves me with revision 1.1.1.2 of foo.bar.  OK, but rlog says:

        head: 1.1
        branch: 1.1.1

so when I do:

co foo.bar

in a shell I get the branch revision of foo.bar.  This is not what I
would expect, and is different from the way it works on the command
line.

Emacs has set the default branch revision in RCS.  AFAICS this happens
when I C-u C-x v v to change to edit the branch revision.  Perhaps Emacs
has (or had) good reason to change the default branch, but I think it is
wrong.  C-u C-x v v is the only way to checkout a branch revision, e.g.,
for editing, but it doesn't mean I want the branch revision to be the
default revision in RCS.

Simon.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]