summaryrefslogtreecommitdiff
path: root/usr.bin/cvs
diff options
context:
space:
mode:
authorJoshua Elsasser <joshe@cvs.openbsd.org>2010-09-27 14:08:42 +0000
committerJoshua Elsasser <joshe@cvs.openbsd.org>2010-09-27 14:08:42 +0000
commit59e777c2426b9b2c8e9672c54becb49647d51d22 (patch)
treef38a5c06ce4c234b2917d5d1265e8771d5bd0028 /usr.bin/cvs
parent4063d978c6296e826d1c61d09f011b37d5996663 (diff)
Have cvs_file_walkdir() ignore CVS/ directories when walking a repository tree.
This fixes r* commands such as rlog against a repository which has somehow ended up containing CVS/Entries.Static files. ok nicm@ guenther@
Diffstat (limited to 'usr.bin/cvs')
-rw-r--r--usr.bin/cvs/file.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/cvs/file.c b/usr.bin/cvs/file.c
index b4109847796..5f87cd78b5f 100644
--- a/usr.bin/cvs/file.c
+++ b/usr.bin/cvs/file.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: file.c,v 1.260 2010/07/23 21:46:05 ray Exp $ */
+/* $OpenBSD: file.c,v 1.261 2010/09/27 14:08:41 joshe Exp $ */
/*
* Copyright (c) 2006 Joris Vink <joris@openbsd.org>
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
@@ -596,7 +596,8 @@ walkrepo:
xsnprintf(fpath, sizeof(fpath), "%s/%s", cf->file_path,
CVS_PATH_STATICENTRIES);
- if (stat(fpath, &st) == -1 || build_dirs == 1)
+ if (!(cmdp->cmd_flags & CVS_USE_WDIR) ||
+ stat(fpath, &st) == -1 || build_dirs == 1)
cvs_repository_getdir(repo, cf->file_path, &fl, &dl,
(cr->flags & CR_RECURSE_DIRS) ?
REPOSITORY_DODIRS : 0);