Age | Commit message (Collapse) | Author |
|
that we'd hit in normal checkouts/updates for duplicate file
and dirs.
found and diff tested by krw@
|
|
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@
|
|
so we can benefit from faster lookup times while recursing.
|
|
when calling rcs_open(), so it gets automaticly synced
at the end of operations for that file instead of explicitly
calling rcs_write() when you're in RCS_READ mode only.
while here, make sure we do not try to free an uninitialized list.
|
|
in order for them to show up as "? foobar" when opencvs is in server mode.
|
|
from <dawedawe@gmx.de>
|
|
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.
|
|
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.
|
|
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@
|
|
it again in that function.
|
|
ok tobias@
|
|
|
|
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@
|
|
Instead of ignoring all files which contain possible conflict markers,
only watch out for files which have actually been merged.
With input by and ok joris.
|
|
cvs_directory_tag is reinitalized every time we enter a new directory, so
make it clear by freeing before going into a new directory.
discussed with and ok joris
|
|
Spotted by Igor Zinovik.
ok joris
|
|
always freeing dirtag.
ok joris
|
|
We have rcsnum_differ for that. Also remove an unused var assignment if
no CVS/Entries entry exists.
ok joris
|
|
|
|
|
|
and in the CVS/Entries file, otherwise ignore it so we correctly
remove it from CVS/Entries.
spotted by krw@
|
|
- 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.
|
|
his responsibility, allows us to reuse the same file list
for multiple callbacks.
|
|
(like import, add, commit), so revert this change until a universal
solution is found.
|
|
only if we are in top directory of a repository.
ok joris
|
|
in the callbacks to verify if this file was specified on the command line.
|
|
actually means and is used for.
|
|
ok joris
|
|
still has some rough edges.
|
|
|
|
revision specified in CVS/Entries if the timestamps mismatch, so
that we do not end up merging a file that was not even modified whenever
it needs a normal patch.
|
|
OK joris@
|
|
|
|
* Don't check for NULL on buffer creation, because it calls fatal() when
something's wrong.
* All buffers are supposed to expand if there is no space left in them,
so zap flags as well.
* Remove code that is now dead.
OK joris@
> Inspired by a diff from Igor Zinovik about unchecked return value.
|
|
directory path to make sure they do not fall outside the CVSROOT
or the working copy directory in a remote setup
|
|
random stuff going on
|
|
expansion options.
OK joris@
|
|
now.
OK joris@
|
|
instead use the local variable 'tag' which is filled in by our code
to match the correct tag (specified on the command line, or in Entries);
this way, files do not dissapear when they're suppose to be there
if you are using -rSOMETHING
|
|
tag (if present) since this breaks certain things;
|
|
between a named branch and a revision number supplied by -r. This can
be done easier in cvs_write_tagfile directly.
OK joris@
|
|
- 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@
|
|
|
|
OK joris@
|
|
if the current command is supposed to use a working directory or if it is a
repository-only command (as of now checkout -p, rtag, rlog).
Makes the code simpler, easier to read and automagically fixes some issues
we encountered with these commands (for example if a working directory
exists, or "." operations are performed).
OK joris@, niallo@
|
|
remote setups.
OK xsa@
|
|
|