summaryrefslogtreecommitdiff
path: root/contrib/cvs
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1997-10-12 12:47:05 +0000
committerPeter Wemm <peter@FreeBSD.org>1997-10-12 12:47:05 +0000
commit13aee6bd410d012c7a4b5a7d6a65c2f87ebd66c5 (patch)
tree9f921a2b76caf43a3c9f0c9fccc42ec6b1a8faae /contrib/cvs
parent1990badff5ec2b72b4518faa9e002ee8e4242ac8 (diff)
Notes
Diffstat (limited to 'contrib/cvs')
-rw-r--r--contrib/cvs/src/recurse.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/contrib/cvs/src/recurse.c b/contrib/cvs/src/recurse.c
index b4b55a8efe34e..a32f0da96bec0 100644
--- a/contrib/cvs/src/recurse.c
+++ b/contrib/cvs/src/recurse.c
@@ -704,6 +704,7 @@ but CVS uses %s for its own purposes; skipping %s directory",
repository = srepository;
}
+#if 0
/* Put back update_dir. I think this is the same as just setting
update_dir back to saved_update_dir, but there are a few cases I'm
not sure about (in particular, if DIR is "." and update_dir is
@@ -714,6 +715,14 @@ but CVS uses %s for its own purposes; skipping %s directory",
else
update_dir[0] = '\0';
free (saved_update_dir);
+#else
+ /* The above code is cactus!!! - it doesn't handle descending
+ multiple directories at once! ie: it recurses down several
+ dirs and then back up one. This breaks 'diff', 'update',
+ 'commit', etc. */
+ free (update_dir);
+ update_dir = saved_update_dir;
+#endif
return (err);
}