Package: cvs Version: 1:1.12.13-8 Severity: normal I've hit this problem on production CVS server, when tagging (cvs tag XXX a b c/ d/) a part of distribution of some proprietary s/w for release. One directory was not tagged and hence didn't get into the export (cvs export -r XXX some_sw).
I've set up a cvsd environment on my WS to reproduce the problem. Here is the file/dir layout of working directory: > [EMAIL PROTECTED]:/tmp/t$ find . | grep -v CVS | xargs ls -ld > drwxr-xr-x 6 xrgtn xrgtn 48 2007-04-27 11:02 . > drwxr-xr-x 3 xrgtn xrgtn 24 2007-04-27 11:02 ./d1 > -rw-r--r-- 1 xrgtn xrgtn 0 2007-04-27 10:27 ./d1/f1 > drwxr-xr-x 4 xrgtn xrgtn 32 2007-04-27 11:02 ./D2 > drwxr-xr-x 3 xrgtn xrgtn 24 2007-04-27 11:02 ./D2/d3 > -rw-r--r-- 1 xrgtn xrgtn 0 2007-04-27 10:27 ./D2/d3/f3 > -rw-r--r-- 1 xrgtn xrgtn 0 2007-04-27 10:27 ./D2/f2 > drwxr-xr-x 3 xrgtn xrgtn 24 2007-04-27 11:02 ./d4 > -rw-r--r-- 1 xrgtn xrgtn 0 2007-04-27 10:27 ./d4/f4 > -rw-r--r-- 1 xrgtn xrgtn 0 2007-04-27 10:27 ./f0 You can see 1st-level _shallow_ directories d1 and d4 plus 1st-level _deep_ directory D2. `cvs tag XXX` works OK when no other arguments except tag name are given on commandline, but when I want to tag specific directories and files, `cvs tag XXX ...` mysteriously skips directories followed by slash: > [EMAIL PROTECTED]:/tmp/t$ cvs -q tag XXX d1/ d4 f0 ; cvs -Q tag -d XXX > T f0 > T d4/f4 > [EMAIL PROTECTED]:/tmp/t$ cvs -q tag XXX d1 d4/ f0 ; cvs -Q tag -d XXX > T f0 > T d1/f1 > [EMAIL PROTECTED]:/tmp/t$ cvs -q tag XXX f0 d1/ d4/ ; cvs -Q tag -d XXX > T f0 If a directory name on cmdline is not followed by slash, it's tagged OK: > [EMAIL PROTECTED]:/tmp/t$ cvs -q tag XXX f0 d1 d4 ; cvs -Q tag -d XXX > T f0 > T d1/f1 > T d4/f4 Also, if a directory name is alone on a cmdline (after tag name), it's tagged OK regardless of the trailing slash: > [EMAIL PROTECTED]:/tmp/t$ cvs -q tag XXX d1/ ; cvs -Q tag -d XXX > T d1/f1 Moreover, only _shallow_ directories are prone to be skipped, looks like _deep_ ones (i.e. those having subdirectories inside them) are tagged OK regardless of the trailing slash: > [EMAIL PROTECTED]:/tmp/t$ cvs -q tag XXX f0 d1/ D2/ d4/ ; cvs -Q tag -d XXX > T f0 > T D2/f2 > T D2/d3/f3 Because directories are skipped _silently_, i.e. without giving any error message, the bug can easily lead to producing broken releases if tagging part of working directory. -- System Information: Debian Release: 4.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-grsec Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages cvs depends on: ii debconf [debconf-2.0] 1.5.11 Debian configuration management sy ii libc6 2.3.6.ds1-10 GNU C Library: Shared libraries ii libpam-runtime 0.79-4 Runtime support for the PAM librar ii libpam0g 0.79-4 Pluggable Authentication Modules l ii update-inetd 4.27-0.2 inetd.conf updater ii zlib1g 1:1.2.3-13 compression library - runtime Versions of packages cvs recommends: ii emacs21 [info-browser] 21.4a+1-3 The GNU Emacs editor ii info [info-browser] 4.8.dfsg.1-4 Standalone GNU Info documentation ii konqueror [info-browse 4:3.5.5a.dfsg.1-6 KDE's advanced file manager, web b ii netbase 4.29 Basic TCP/IP networking system -- debconf information: cvs/rotatekeep: 7 cvs/badrepositories: create cvs/rotatekeep_nondefault: no cvs/rotate_individual: true cvs/pserver_repos_individual: true cvs/pserver_setspawnlimit: false cvs/rotatekeep_individual: 7 cvs/pserver_repos: all * cvs/pserver: false * cvs/repositories: /var/lib/cvs cvs/pserver_spawnlimit: 400 cvs/rotatehistory: no -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]