NetBSD-Bugs archive

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

bin/55365: cvs(1) mishandles paths to other directories



>Number:         55365
>Category:       bin
>Synopsis:       cvs(1) mishandles paths to other directories
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 11 03:45:00 +0000 2020
>Originator:     David A. Holland
>Release:        NetBSD 9.99.49 (20200310)
>Organization:
>Environment:
System: NetBSD macaran 9.99.49 NetBSD 9.99.49 (MACARAN) #59: Tue Mar 10 20:34:11 EDT 2020  dholland@macaran:/usr/src/sys/arch/amd64/compile/MACARAN amd64
Architecture: x86_64
Machine: amd64
>Description:

It appears that giving cvs diff files in other directories before
files in the current directory confuses it. I'm getting "cannot find
revision control file". May specifically involve paths with "..".

The effect is not limited to cvs diff; it also affects at least
annotate, log, and update. The effect on update is particularly
problematic because it doesn't fail but instead persuades itself the
file's been deleted upstream.

Also seen on 8.99 so affects at least -9, and given circumstances
probably goes back a lot further than that.

>How-To-Repeat:

% cd src/sys/kern
% echo abc >> vfs_vnops.c; echo abc >> ../sys/vnode.h
% cvs diff vfs_vnops.c
Index: vfs_vnops.c
===================================================================
RCS file: /cvsroot/src/sys/kern/vfs_vnops.c,v
retrieving revision 1.207
diff -r1.207 vfs_vnops.c
1233a1234
> abc
Exit 1
% cvs diff ../sys/vnode.h
Index: ../sys/vnode.h
===================================================================
RCS file: /cvsroot/src/sys/sys/vnode.h,v
retrieving revision 1.292
diff -r1.292 vnode.h
597a598
> abc
Exit 1
% cvs diff ../sys/vnode.h vfs_vnops.c
Index: ../sys/vnode.h
===================================================================
RCS file: /cvsroot/src/sys/sys/vnode.h,v
retrieving revision 1.292
diff -r1.292 vnode.h
597a598
> abc
cvs diff: cannot find revision control file for vfs_vnops.c
Exit 1
% 

>Fix:

Dunno. Putting the file in the current directory first eliminates the
problem. Asking for ./vfs_vnops.c does not, but ../kern/vfs_vnops.c
does.



Home | Main Index | Thread Index | Old Index