OpenBSD CVS

CVS log for src/usr.bin/cvs/file.h


[BACK] Up to [local] / src / usr.bin / cvs

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.53 / (download) - annotate - [select for diffs], Thu Mar 26 22:54:37 2009 UTC (15 years, 1 month ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9, OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7, OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5, OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7, OPENBSD_4_6_BASE, OPENBSD_4_6, HEAD
Changes since 1.52: +3 -2 lines
Diff to previous 1.52 (colored)

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@

Revision 1.52 / (download) - annotate - [select for diffs], Wed Mar 25 21:50:33 2009 UTC (15 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.51: +7 -4 lines
Diff to previous 1.51 (colored)

switch our file and directory lists to RB trees (see tree(3)),
so we can benefit from faster lookup times while recursing.

Revision 1.51 / (download) - annotate - [select for diffs], Sat Feb 21 13:44:18 2009 UTC (15 years, 2 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.50: +2 -1 lines
Diff to previous 1.50 (colored)

use file_flags for 2 more reasons:
- mark a file as being inside the Attic/
- mark a file as existing in the working copy
  (both in local and remote mode)

this way we no longer will need to check if cf->fd == -1 and
think about wether or not we are in local or remote mode.

Revision 1.50 / (download) - annotate - [select for diffs], Sat Feb 21 12:47:19 2009 UTC (15 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.49: +4 -3 lines
Diff to previous 1.49 (colored)

alter cvs_file_get() so it takes flags instead of one set
value for user_supplied. allow us to carry any important file flags
over to cvs_file's later on.

makes it easier for what i have coming.

Revision 1.49 / (download) - annotate - [select for diffs], Fri Jun 13 17:15:13 2008 UTC (15 years, 11 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.48: +3 -2 lines
Diff to previous 1.48 (colored)

pass the complete path to cvs_file_get_cf() instead of reconstructing
it again in that function.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Mar 9 01:54:03 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.47: +3 -2 lines
Diff to previous 1.47 (colored)

pass user_supplied to struct cvs_file so it can be used
in the callbacks to verify if this file was specified on the command line.

Revision 1.47 / (download) - annotate - [select for diffs], Sun Mar 9 01:25:31 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored)

rename check_dir_tag to user_supplied to reflect what the flag
actually means and is used for.

Revision 1.46 / (download) - annotate - [select for diffs], Sun Sep 23 10:49:49 2007 UTC (16 years, 7 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.45: +3 -1 lines
Diff to previous 1.45 (colored)

pass FILE_HAS_FLAG towards the update code so it can identify
if a given tag is present in the RCSfile or not.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Sep 22 16:01:22 2007 UTC (16 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.44: +3 -2 lines
Diff to previous 1.44 (colored)

better branching/sticky tag support, no branch commits yet though.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Jun 1 17:47:47 2007 UTC (16 years, 11 months ago) by niallo
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored)

add support for local and remote branch checkout.  for example,
cvs co -rOPENBSD_3_0 works now.
along the way, simplify and rationalise code and fix a few nits.

ok joris@ xsa@ ray@

Revision 1.43 / (download) - annotate - [select for diffs], Thu Feb 22 06:42:09 2007 UTC (17 years, 2 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.42: +6 -1 lines
Diff to previous 1.42 (colored)

general includes cleanup sweep. ok joris@ niallo@

Revision 1.42 / (download) - annotate - [select for diffs], Tue Feb 13 16:47:48 2007 UTC (17 years, 3 months ago) by xsa
Branch: MAIN
Changes since 1.41: +1 -7 lines
Diff to previous 1.41 (colored)

zap unused CVS_ISDIR() and CVS_ISFILE() macros. OK joris@.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Feb 9 03:49:15 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

remove the cvs_file_classify() `loud' argument, it was used
in the old school days and serves no purpose what so ever now.

otto@ mentioned this to me a while ago

Revision 1.40 / (download) - annotate - [select for diffs], Wed Jan 10 21:32:19 2007 UTC (17 years, 4 months ago) by xsa
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

add a cvs_file_copy routine and use it for the edit command to
copy the file in the current working directory to CVS/Base/
ok ray@ joris@.

Revision 1.39 / (download) - annotate - [select for diffs], Sat Jan 6 17:09:08 2007 UTC (17 years, 4 months ago) by xsa
Branch: MAIN
Changes since 1.38: +2 -1 lines
Diff to previous 1.38 (colored)

add cvs_base_handle() routine to handle the CVS/Baserev* files.
first bits for the edit command for now.
definitly still more work to do for optimization...

Revision 1.38 / (download) - annotate - [select for diffs], Fri Jan 5 07:13:49 2007 UTC (17 years, 4 months ago) by xsa
Branch: MAIN
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (colored)

- introduce file comparison routine, cvs_file_cmp().
- compare the <file> in working dir and the one in CVS/Base/<file>
  for the unedit command.
hints otto@, input and ok ray@ niallo@.

Revision 1.37 / (download) - annotate - [select for diffs], Tue May 30 21:32:52 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.36: +3 -2 lines
Diff to previous 1.36 (colored)

fill in the correct revision number we will want in file_rcsrev
for each cvs_file struct, this will help us with sticky tags,
commiting to branches and importing into existing repositories.

Revision 1.36 / (download) - annotate - [select for diffs], Sun May 28 17:25:18 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.35: +3 -1 lines
Diff to previous 1.35 (colored)

several fixes to the file api:
- default to CVS_FILE when something is totally unknown
- cvs_get_repository_path() now returns the full repository path for
  the given argument.
- cvs_get_repository_name() returns the contents of CVS/Repository
  to the caller.
- allow command callbacks to specify if our recursion code needs
  to skip the directory or not.
- when checking for a admin directory, make sure it is in fact
  a directory. if it is not we dont want to recurse inside.

Revision 1.35 / (download) - annotate - [select for diffs], Sun May 28 07:56:44 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored)

allow commands to shut up the output from cvs_file_classify
if the commands want to output certain stuff themselfs

Revision 1.34 / (download) - annotate - [select for diffs], Sat May 27 03:30:30 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.33: +72 -117 lines
Diff to previous 1.33 (colored)

commit the new opencvs code, i have been hacking on
this for the past 2 weeks now and it should go in at
the start of the hackathon so others can help out.

this code is a lot safer, smarter, faster and best of
all it is actually doing what it is suppose to do!

basic checkout, update, status, diff and commit are
working in local mode only.
there is no support for any remote setups now.

Revision 1.33 / (download) - annotate - [select for diffs], Mon Jan 2 09:42:20 2006 UTC (18 years, 4 months ago) by xsa
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.32: +1 -6 lines
Diff to previous 1.32 (colored)

more includes cleanup;

Revision 1.32 / (download) - annotate - [select for diffs], Sun Dec 4 17:39:02 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.31: +4 -11 lines
Diff to previous 1.31 (colored)

more code cleanup, remove useless flags and parts of code
that never got used in the first place;

Revision 1.31 / (download) - annotate - [select for diffs], Sat Dec 3 02:19:17 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.30: +1 -2 lines
Diff to previous 1.30 (colored)

remove unused and useless functions, they just get in the way;

Revision 1.30 / (download) - annotate - [select for diffs], Sat Dec 3 01:02:09 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.29: +2 -1 lines
Diff to previous 1.29 (colored)

add very basic support for the following stuff:

- checkout in local mode (example: /cvs)
- update in local and server mode (example: /cvs and user@host:/cvs)
- import in local and server mode (example: /cvs and user@host:/cvs)

what remains to be done:

- not all options are supported yet, and update cannot pick up newly
  added files yet. these things are pending and will be commited
  real soon.

- checkout only works locally right now.

- fix rcs parsing code so that we don't fucking hog 100% cpu
  on really BIG BIG BIG ass trees.

mainly tested by pedro@ and myself, thanks a lot pedro!

"go for it" niallo@

Revision 1.29 / (download) - annotate - [select for diffs], Sat Nov 12 21:34:48 2005 UTC (18 years, 6 months ago) by niallo
Branch: MAIN
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

- remove strtab stuff. serves no useful purpose.

diff is from joris@, committing on his behalf because his net connection
is very dodgy right now.

Revision 1.28 / (download) - annotate - [select for diffs], Wed Aug 17 16:23:19 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.27: +4 -2 lines
Diff to previous 1.27 (colored)

keep a pointer to the CVSENTRIES in the CVSFILE structure.
ok xsa@

Revision 1.27 / (download) - annotate - [select for diffs], Sun Jul 31 21:08:17 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
Changes since 1.26: +2 -3 lines
Diff to previous 1.26 (colored)

nuke a totally unused flag for cf_flags

Revision 1.26 / (download) - annotate - [select for diffs], Mon Jul 25 11:07:00 2005 UTC (18 years, 9 months ago) by xsa
Branch: MAIN
Changes since 1.25: +72 -72 lines
Diff to previous 1.25 (colored)

KNF; mostly spaces vs. tabs; ok joris@ jfb@.

Revision 1.25 / (download) - annotate - [select for diffs], Sat Jul 23 11:19:46 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.24: +18 -5 lines
Diff to previous 1.24 (colored)

rewrite of the file code. the previous one was just
a mess and not clean.
this code is much cleaner, faster, and uses less memory overall.

tested by xsa@, brad@, Michael Knudsen, and myself.
okay xsa@

Revision 1.24 / (download) - annotate - [select for diffs], Fri Jul 22 16:27:29 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.23: +1 -3 lines
Diff to previous 1.23 (colored)

use the cf_name field of the CVSFILE struct instead of using the old
CVS_FILE_NAME macro. This macro used to be nifty because of all
the referencing for the names, but since we don't do that anymore and
use cf_name directly... byebye CVS_FILE_NAME()

okay xsa@

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jul 7 19:06:12 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.22: +3 -1 lines
Diff to previous 1.22 (colored)



add a field to CVSFILE which holds the timestamp from the Entries file.
usefull for some commands.

ok xsa@

Revision 1.22 / (download) - annotate - [select for diffs], Wed Jul 6 10:04:55 2005 UTC (18 years, 10 months ago) by xsa
Branch: MAIN
Changes since 1.21: +8 -8 lines
Diff to previous 1.21 (colored)

add explicit comments for file status;

Revision 1.21 / (download) - annotate - [select for diffs], Tue Jun 14 15:27:31 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)



finish pruning support, this has been sitting
in my tree since c2k5

ok xsa@

Revision 1.20 / (download) - annotate - [select for diffs], Tue May 24 04:12:25 2005 UTC (19 years ago) by jfb
Branch: MAIN
Changes since 1.19: +10 -4 lines
Diff to previous 1.19 (colored)

Merge the cvs_cmd and cvs_cmd_info structures and add the necessary
fields to hook local versions of the commands.  This needs to go in
before it gets any bigger

ok joris

Revision 1.19 / (download) - annotate - [select for diffs], Fri May 20 05:13:44 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)



execute the command callback at the same time we are building
the in-memory filelist. cuts down on execution time for larger trees.

"put it in!" jfb@

Revision 1.18 / (download) - annotate - [select for diffs], Thu May 12 23:35:42 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)



introduce a new flag to the file api: CF_NOFILES, which allows us
to only load directories and skip regular files.

tested and ok xsa@

Revision 1.17 / (download) - annotate - [select for diffs], Mon Apr 25 21:58:32 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.16: +3 -1 lines
Diff to previous 1.16 (colored)



first part of file API changes:

- fix our behaviour regarding directories or files in a different
  directory than we currently are as arguments to commands, this
  allows stuff like "cvs status sys/arch/i386/Makefile" to work.

- when parsing a pathname only load the needed nodes of the path
  instead of loading *everything* in memory.

the next step in this is to merge the collection and callback
execution together.

ok jfb@, xsa@

Revision 1.16 / (download) - annotate - [select for diffs], Mon Apr 18 21:02:50 2005 UTC (19 years, 1 month ago) by jfb
Branch: MAIN
Changes since 1.15: +36 -31 lines
Diff to previous 1.15 (colored)

Modify the CVSFILE structure using a union to keep information about
both files and directories.  We can now keep the revision number for
regular files, and don't need to fetch the appropriate entry in the
command callbacks.  This saves a huge amount of parsing on Entries
files.

ok joris@

Revision 1.15 / (download) - annotate - [select for diffs], Thu Mar 24 14:35:18 2005 UTC (19 years, 1 month ago) by jfb
Branch: MAIN
Changes since 1.14: +4 -10 lines
Diff to previous 1.14 (colored)

ditch the filename hash table and use the new strtab code instead

ok joris@

Revision 1.14 / (download) - annotate - [select for diffs], Wed Mar 2 16:56:58 2005 UTC (19 years, 2 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE, OPENBSD_3_7
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)



add a flag to identify the base directory in file hierarchies.

ok jfb@

Revision 1.13 / (download) - annotate - [select for diffs], Wed Dec 15 07:03:04 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.12: +4 -4 lines
Diff to previous 1.12 (colored)

modify the CVS_DIR_ROOT() macro to grab the parent's root if the file
is a directory and has no root set

Revision 1.12 / (download) - annotate - [select for diffs], Tue Dec 14 21:23:44 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.11: +2 -1 lines
Diff to previous 1.11 (colored)

When loading directory entries, create file structures for files which
have been lost but have a valid entry.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Dec 7 17:10:56 2004 UTC (19 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.10: +10 -12 lines
Diff to previous 1.10 (colored)

less whitespace, more pretty.  ok jfb

Revision 1.10 / (download) - annotate - [select for diffs], Thu Dec 2 06:54:15 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.9: +1 -0 lines
Diff to previous 1.9 (colored)

Add cvs_file_copy() to create a copy of a file structure.
This will be used in the commit code.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Nov 26 16:23:50 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.8: +26 -12 lines
Diff to previous 1.8 (colored)

Rewrite the internals of the file management code so that we do not keep
a full path to each file we load, and cache file names so we can have
multiple references to a single name.  This saves a lot of memory on large
trees such as /usr/src, especially on 'Makefile', 'README' and such.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Aug 6 20:12:15 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.7: +7 -0 lines
Diff to previous 1.7 (colored)

* add a flag CF_NOSYMS to avoid loading information about symbolic links
  and fix 2 calls to cvs_splitpath()
* unbreak cvs_file_find()

Revision 1.7 / (download) - annotate - [select for diffs], Fri Aug 6 14:12:56 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.6: +3 -0 lines
Diff to previous 1.6 (colored)

Add fields to keep track of the file's mode and last modification time

Revision 1.6 / (download) - annotate - [select for diffs], Fri Aug 6 12:09:26 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.5: +1 -2 lines
Diff to previous 1.5 (colored)

the CF_STAT flag is useless now, all we have to do is extract the required
information and keep it in the file structure

Revision 1.5 / (download) - annotate - [select for diffs], Mon Aug 2 22:49:50 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.4: +6 -5 lines
Diff to previous 1.4 (colored)

Remove cruft and unbreak compilation

Revision 1.4 / (download) - annotate - [select for diffs], Mon Aug 2 13:54:02 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.3: +1 -0 lines
Diff to previous 1.3 (colored)

Allocate a dynamic buffer for sorting.  This way, we don't bork anymore
on directories with huge sets of files, and fix a bug while we're at it.
When sorting failed, the files that had been removed from the list didn't
get pushed back in it.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Jul 30 17:39:27 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.2: +17 -113 lines
Diff to previous 1.2 (colored)

Lots of cleanup, and add an internal version of cvs_file_get() so we can
link parent directories before the file info is being retrieved.  This
allows us to open most of the CVS administrative files only once

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jul 30 11:50:33 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.1: +8 -1 lines
Diff to previous 1.1 (colored)

Add cvs_file_find() to find a particular file from its path within a
hierarchy

Revision 1.1 / (download) - annotate - [select for diffs], Fri Jul 30 01:49:23 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN

Move to the new API for the client-server protocol.  All functions now
take a cvs root structure as parameter.  This will allow for much easier
management of CVS trees that make use of multiple roots.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.