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@
|
|
of time functions.
ok joris
|
|
of cvs_buf_append where appropiate.
ok joris
|
|
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
|
|
|
|
the specified files (or directories) do not exist.
ok joris
|
|
Also zap umask(0);umask(mask); calls, we have cvs_umask for this.
ok joris
|
|
matches what gnu cvs does.
fixes the fact that we couldnt update group writable files.
problem report & diff testing by David Crawshaw.
|
|
reported & diff tested by Geerd-Dietger Hoffmann
|
|
ok tobias@
|
|
* 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.
|
|
...and use it.
|
|
|
|
OK tobias@.
|
|
- 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.
|
|
one already in our CVS/Entries.
OK xsa@
|
|
had to be done for diff, too.
OK joris@
|
|
that are not aliases (-a);
OK tobias@
|
|
|
|
|
|
|
|
OK xsa@
|
|
|
|
|
|
> 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.
|
|
|
|
solely with cmdp. This remedies some reliability issues with invalid
commands supplied and also fixes a GNU cvs style incompatibility with
release command.
> Based on patch from Igor Zinovik
|
|
> Patch from Igor Zinovik
|
|
cvs server and was unwanted behaviour anyway.
|
|
|
|
reapply umask as done with unmodified files. Sticks at GNU cvs behaviour.
|
|
ok ray@
|
|
OK joris@
|
|
cvs_printf in cvs_client_m with puts (no need of cvs_printf's abilities
here).
OK joris@
|
|
while it sounds like a "good" idea some people convinced me otherwise.
mostly because this breaks compat with GNU cvs.
|
|
ssh connection to our server.
Example: joris@somehost.com:2222:/cvs
OK tobias@
|
|
OK joris@
|
|
verbose per default on server-side instead.
OK joris@
|
|
OK joris@
|
|
cvs_client_send_request(). Simplified logging code while at it.
OK joris@
|
|
|
|
no longer break when the log message has multiple lines.
from Tobias Stoeckmann, thanks for doing my work!
|
|
|
|
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!
|
|
|
|
Simplifies further size tweaks if needed.
OK niallo@ ray@.
|