Age | Commit message (Collapse) | Author |
|
|
|
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@
|
|
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 cvs_buf_append where appropiate.
ok joris
|
|
arguments sent by client.
ok joris
|
|
an Argumentx directive has been sent to server without prior Argument.
ok joris, xsa
|
|
strerror(). Although our vasprintf() sets errno, we cannot rely on it on
other systems.
ok ray (who spotted this issue), xsa
|
|
vasprintf() check across OpenCVS code base.
Based on a diff by Jacek Masiulaniec.
ok (and unification requested by) xsa
|
|
* 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.
|
|
OK tobias@.
|
|
had to be done for diff, too.
OK joris@
|
|
that are not aliases (-a);
OK tobias@
|
|
OK xsa@
|
|
|
|
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@
|
|
> Diff from Igor Zinovik
|
|
remote setups.
OK xsa@
|
|
with GNU cvs). Basically we already had rtag in place as tag is supposed
to work with revisions in working directory, but our implementation was
wrong. Fixed that on the fly as well.
|
|
|
|
|
|
|
|
directory when a client sends us info about a file that is up to date.
instead, remember the file is up to date in our CVS/Entries. Saves us a lot
of headaches on very big trees like src/
|
|
verbose per default on server-side instead.
OK joris@
|
|
OK joris@
|
|
to be sent first, can occure multiple times (although this is ignored) but
should be supplied before Directory.
OK joris@
|
|
|
|
|
|
Previously, files in the 'Attic/' were linked into our filelist as being
'Attic/filename,v' this caused unneeded stress on certain functions
like cvs_file_classify() who had to do pointer voodoo to split out
the 'Attic/' part and do other very weird stuff to normalize the pathname
of these files.
Instead, we handle these files early in the start when we
build the fileslist in cvs_repository_getdir(). When encountering
the 'Attic/' directory, we recurse in it if required but instead of
using the 'Attic/' directory component as our base directory we stick
with the directory name where 'Attic/' resides in, resulting in the
correct filename while maintaining the correct RCSpath for the file.
This made the following things a lot easier:
(and in most cases actually fixed the below points)
- status with files in Attic/.
- checking out HEAD repositories with files in Attic/.
- checking out repositories with -rTAG.
- updating with -rTAG.
and as an added bonus the following now also works:
- correctly creating CVS/Tag in both local and remote mode thus
allowing update/status/and more to work correctly with the tagged tree.
(thanks to the correct handling of -rTAG cases).
- resetting tags with opencvs -A properly works too now.
This is a major step forward into the usability
of OpenCVS when it comes to maintaining multiple tagged trees, the next
logical step would be to fix commiting to branches.
enjoy you -stable cowards.
tested by myself, xsa, niallo and ckuethe
thanks guys!
|
|
|
|
sends that need a 'Directory' request first, so we do not
end up with very weird and possibly insecure behaviour.
more soon!
ok niallo@ ray@ xsa@
|
|
from Mickey.
ok joris@ ray@
|
|
From mickey.
``i made a booboo'' joris, OK niallo and xsa.
|
|
OK niallo@
|
|
Also remove unused variable.
OK niallo@
|
|
OK niallo@
|
|
OK niallo@.
|
|
OK niallo@.
|
|
|
|
functionality w/ xsnprintf(); Initial diff started by thib@.
OK thib@ joris@.
|
|
|
|
not mistakenly see a file as Modified while it is not.
As a result, we can remove the very hackish cvs_hack_time() and
GNU cvs and opencvs should almost get along now.
lotsa help and okay The otto@
|
|
|
|
- add support for remote import in opencvs client and server.
- do not free already free'd buffers in import_update()
- do not append a '\0' to the loaded file buffer, this was bad behaviour
makes import work fine both locally and remotely.
|
|
with this the last real dependency to actually be able to use opencvs
in a remote setup has been added.
based upon an initial diff from xsa@
'kay niallo@
|
|
- we no longer hold the entire file in memory when sending or receiving it
|
|
testing appriciated, as always.
|
|
|
|
Set-sticky requests. Set-sticky needs more work though.
|
|
|
|
|