Subject: Bug#149196: emacs20: vc.el adds new files at v2.1 if other v2.x file found
From: era eriksson <[email-masked]>
To: [email-masked]
Date: Thu, 06 Jun 2002 14:20:13 +0300

Package: emacs20
Version: 20.7-2
Severity: normal

It seems that the version control mode vc.el has a "feature" with CVS
which causes it to check in new files beginning at version number 2.1
if there is another file whose version number is 2.x in the same
directory (i.e. CVS module / project).

I had been noticing this more and more frequently over time, but
hadn't been able to diagnose it correctly. Now here are the steps to
repro this.

* Set up a toy CVS repository and populate it with a project

  mkdir /tmp/toycvs
  cvs -d /tmp/toycvs init
  mkdir /tmp/toycvs/foo

* Check out the project and check in a new file "bar"

  cd /tmp
  cvs -d /tmp/toycvs co foo
  cd foo
  emacs -nw bar
    C-x v v   # initiate CVS add
    C-c C-c   # submit for addition -- you should get CVS@@ on the mode line
    C-x v v   # initiate initial check-in
    C-c C-c   # submit for check-in -- mode line should now have CVS-1.1

* Play around with other files and verify that they get checked in at 1.1

* Now modify the bar file and check in at 2.x

    C-u C-x v v  # initiate check in at named version level
    2            # enter version level 2
    C-c C-c      # submit for check in -- you should now see CVS-2.1

* Add new files and find that they too get checked in at initial version 2.1

I'm not altogether sure that what I see is positively an error, but
this behavior has been quite baffling and I could find no mention of
it in the manuals. Even if it makes sense in some contexts, it would
be nice to be able to specify that I like a different behavior -- that
version numbers of files in the same project should not influence each
other.

The behavior also appears to be incompatible with what CVS itself
does, and on those grounds alone could be regarded as buggy, even if
somebody quite consciously designed vc.el to do this.

Feel free to route this upstream if you like; I imagine that would be
the sane thing to do in this case.

Sorry for submitting this against emacs20, I have had no opportunity
to move to Emacs v21 yet.

/* era */

-- System Information
Debian Release: 2.2
Kernel Version: Linux there 2.2.17 #1 Sun Jun 25 09:24:41 EST 2000 i586 unknown

Versions of the packages emacs20 depends on:
ii  emacsen-common 1.4.12         Common facilities for all emacsen.
ii  libc6          2.1.3-20       GNU C Library: Shared libraries and Timezone
ii  liblockfile1   1.01           Shared library with NFS-safe locking functio
ii  libncurses5    5.0-6.0potato2 Shared libraries for terminal handling
ii  xlib6g         3.3.6-11potato shared libraries required by X clients