diff options
author | Joris Vink <joris@cvs.openbsd.org> | 2009-03-26 22:54:38 +0000 |
---|---|---|
committer | Joris Vink <joris@cvs.openbsd.org> | 2009-03-26 22:54:38 +0000 |
commit | 37814de0cb03331fc6030e509df406316faea15d (patch) | |
tree | 55f02bd11fb50db984c332a612fe253bbe5fb24e /usr.bin/cvs/file.h | |
parent | 85c8218e99687c48bae95db5a7c94dd609cdceae (diff) |
fix the way Attic is handled in our recursion code, so we
do not skip files or run over them twice.
also fixes -l and -r for checkout/update when a file in
Attic exists with that tag that in HEAD is a directory
in the normal repository like gnu/usr.bin/gcc/INSTALL.
as a bonus, we do not run fstat() twice per file or dir
anymore...
spotted by deraadt@
Diffstat (limited to 'usr.bin/cvs/file.h')
-rw-r--r-- | usr.bin/cvs/file.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/cvs/file.h b/usr.bin/cvs/file.h index c7902a5e2fc..8c7e19972bf 100644 --- a/usr.bin/cvs/file.h +++ b/usr.bin/cvs/file.h @@ -1,4 +1,4 @@ -/* $OpenBSD: file.h,v 1.52 2009/03/25 21:50:33 joris Exp $ */ +/* $OpenBSD: file.h,v 1.53 2009/03/26 22:54:37 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink <joris@openbsd.org> * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> @@ -80,6 +80,7 @@ struct cvs_filelist { RB_ENTRY(cvs_filelist) flist; char *file_path; int flags; + int type; }; RB_HEAD(cvs_flisthead, cvs_filelist); @@ -108,7 +109,7 @@ void cvs_file_run(int, char **, struct cvs_recursion *); void cvs_file_walklist(struct cvs_flisthead *, struct cvs_recursion *); void cvs_file_walkdir(struct cvs_file *, struct cvs_recursion *); void cvs_file_freelist(struct cvs_flisthead *); -struct cvs_filelist *cvs_file_get(char *, int, struct cvs_flisthead *); +struct cvs_filelist *cvs_file_get(char *, int, struct cvs_flisthead *, int); int cvs_filelist_cmp(struct cvs_filelist *, struct cvs_filelist *); int cvs_file_chkign(const char *); |