Age | Commit message (Collapse) | Author |
|
is specified. From Dawe in user/6177.
|
|
of ignoring them, even if they are just stubs.
unbreaks export with gnu cvs clients.
|
|
we only do so if the file we're checking out was not supplied
on the command-line. Otherwise we'll end up setting CVS/Tag
for the entire directory instead of slapping a sticky tag
only on the file supplied.
|
|
so we can benefit from faster lookup times while recursing.
|
|
as it could be NULL under certain conditions.
|
|
our Tag file on the server or in cvs_mkpath(), this caused
problems for the "fast checkout" mechanism when a tag was supplied.
instead, write out any directory sticky tag when we are checking
out a file in that directory, this way we can use our "fast checkout"
mechanism (no /tmp required) even for -r and -d without breaking
working copies because they were missing CVS/Tag files.
"looks good" tobias@
|
|
exists in the working copy or not instead of checking fd being -1
since this can differ in server or local mode.
|
|
- 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.
|
|
ok joris@
|
|
variable that is only used once, which is in this case.
|
|
an RCS file which has no head revision set. Some commands actually can
work with them (log, status) so support these files. Fixes A LOT of
possible segmentation faults.
ok joris
|
|
ok joris
|
|
last opened CVS/Entries around to operate on and close it whenever
we switch directory. gives us a small performance boost, obviously.
while doing this, switch the way we write revisions to disk by
using fwrite(3) so stuff can get written to disk in chunks
instead of writing everything line by line, another win.
with help from otto@
ok tobias@
|
|
ok joris
|
|
which gives us better performance among other things.
this is however disabled in a few cases:
1) whenever you run checkout over an existing tree (which acts as update)
2) whenever you specify -d or a module alias
we're planning on enabling this behaviour for case 2 in the future.
anoncvs sysadmins now love us even more.
ok tobias@
|
|
|
|
of time functions.
ok joris
|
|
reported & tested by phessler@
input otto@ deraadt@
ok tobias@
|
|
defined in CVSROOT/commitinfo and CVSROOT/loginfo and so on.
This enables the use of log_accum2 and all that other nice stuff we like.
This was mostly written by Jonathan Armani with help from tobias@ and myself.
ok tobias@
|
|
|
|
always freeing dirtag.
ok joris
|
|
ok joris, xsa (quite some time ago)
|
|
- all read operations now look for a lock, and wait if present but never
try to lock the tree themselfs anymore.
- all write operations lock the tree where needed.
- commit locks all relevant directories before even attempting to start.
|
|
still has some rough edges.
|
|
matches what gnu cvs does.
fixes the fact that we couldnt update group writable files.
problem report & diff testing by David Crawshaw.
|
|
ok tobias@
|
|
OK joris@
|
|
...and use it.
|
|
committed files, so keywords are expanded properly.
On client-side, we have to be careful about Directory ./ when it comes
to commits, so add a test for CVS_OP_COMMIT.
OK and help from joris@
|
|
random stuff going on
|
|
OK tobias@.
|
|
Properly write CVS/Tag and CVS/Entries on various combinations of -r and -D.
OK joris@
|
|
- make sure the client creates the correct CVS/Repository when running
checkout if there was no -d targetdir specified.
- allow -D to work remotely for both checkout and update.
|
|
expansion options.
OK joris@
|
|
now.
OK joris@
|
|
|
|
lines GNU cvs does it in, without actually fucking up on bad lines,
like gnucvs.
ok tobias@
|
|
correct -i and -o usage
-i runs the program specified on commit
-o runs the program specified on checkout
|
|
"Do not execute programs listed in the CVSROOT/modules file."
ok tobias@, pleasekeepthingssortedktnx xsa@
|
|
- support for -i flag:
Run "prog" on "cvs commit" from top-level of module.
- fix some memory leaks in modules.c
- pass the line number from cvs_read_config() towards the callbacks
so its easier to print out where it's going wrong, if it ever does.
OK tobias@
|
|
OK joris@
|
|
twice in cvs_module_lookup() and checkout_check_directory();
allow single files to be ignored with ! as well;
|
|
- allow more then 1 module to be specified per definition
- respect the "!" sign which means: "hey ignore this dir when checking out"
- non alias definitions can now contain files
ok tobias@
|
|
was specified;
|
|
|
|
basics of checkout -d. Multiple modules with -d is still "not supported".
example:
$ opencvs -d /cvs co -d kernel_source_3_0 -rOPENBSD_3_0 ksrc
yes, it rocks.
ok tobias@
|
|
that are not aliases (-a);
OK tobias@
|
|
OK joris@
|
|
|
|
"modules.c, hurray!" xsa@, ok tobias@
|