summaryrefslogtreecommitdiff
path: root/usr.bin/cvs/client.c
AgeCommit message (Collapse)Author
2010-09-29Support for update -C, from zinovik.Nicholas Marriott
ok tobias xsa
2010-07-23Reduce variable/function name and whitespace differences betweenRay Lai
cvs/rcs. OK xsa zinovik
2009-04-04properly expand modules if requested by the client,Joris Vink
this option is needed so gnu cvs clients can play along properly when running checkout <module> in a remote setup. if we do not support this, gnu cvs refuses to send us any existing files already on disk and opencvs will consider everything as NEEDS_CHECKOUT, instead of running an update on existing stuff. problem noticed by fgsch@ commited with opencvs, but please everybody else do not use opencvs to commit yet.
2009-04-01in client mode, be sure to consider the file modified if a conflictJoris Vink
exists in the CVS/Entries file, otherwise the server has no way of determining if the user has resolved it or not. also in client mode, send a conflict as Â"+=" not "+" alone, so other cvs implementations get it. commited entirely with opencvs, with permission by deraadt@
2009-02-23Properly convert between gmt and localtime for unchanged files as client.Tobias Stoeckmann
Problem reported by Jesus Sanchez (zexel08 at gmail dot com). ok joris
2009-02-21use FILE_ON_DISK flags when we need to verify if a fileJoris Vink
exists in the working copy or not instead of checking fd being -1 since this can differ in server or local mode.
2009-02-13be more sane in handling the given repository pathJoris Vink
in cvs_client_updated().
2008-06-14don't always re-open the same CVS/Entries file, instead keep theJoris Vink
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@
2008-06-11Avoid possible NULL pointer dereferences by using reentrant versionsTobias Stoeckmann
of time functions. ok joris
2008-06-10We have a cvs_buf_puts implementation now, also use cvs_buf_putc insteadTobias Stoeckmann
of cvs_buf_append where appropiate. ok joris
2008-04-24Use a fixed string in case of vasprintf() error instead of relying onTobias Stoeckmann
strerror(). Although our vasprintf() sets errno, we cannot rely on it on other systems. ok ray (who spotted this issue), xsa
2008-04-18Properly check memory allocation in client code. While at it, unifiedTobias Stoeckmann
vasprintf() check across OpenCVS code base. Based on a diff by Jacek Masiulaniec. ok (and unification requested by) xsa
2008-03-09revert one of tobias his changes, it broke remote for several commands.Joris Vink
2008-03-09Prevent sending of "Directory" messages for arguments in remote setup ifTobias Stoeckmann
the specified files (or directories) do not exist. ok joris
2008-03-08Set umask (and cvs_umask) to system's umask in local and client mode.Tobias Stoeckmann
Also zap umask(0);umask(mask); calls, we have cvs_umask for this. ok joris
2008-02-29handle file permissions and owners properly.Joris Vink
matches what gnu cvs does. fixes the fact that we couldnt update group writable files. problem report & diff testing by David Crawshaw.
2008-02-28do not fatal() on CVS_METHOD_EXT, since we actually support this.Joris Vink
reported & diff tested by Geerd-Dietger Hoffmann
2008-02-27prevent file racesJoris Vink
ok tobias@
2008-02-11Cleanup buf implementation:Tobias Stoeckmann
* 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.
2008-02-10+ #define CVS_DATE_FMT "%Y.%m.%d.%H.%M.%S"Xavier Santolaria
...and use it.
2008-02-10handle date tags if we receive / send themJoris Vink
2008-02-09Introduce cvs_ent_line_str() - formats CVS/Entries lines.Xavier Santolaria
OK tobias@.
2008-02-09remote improvements:Joris Vink
- 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.
2008-02-05When server sends CheckedIn use the supplied option and tag -- not theTobias Stoeckmann
one already in our CVS/Entries. OK xsa@
2008-02-03Added rdiff support. In order to do this, some output and option fixesTobias Stoeckmann
had to be done for diff, too. OK joris@
2008-02-03better CVSROOT/module support, includes remote support and modulesJoris Vink
that are not aliases (-a); OK tobias@
2008-02-03Like i wrote in last commit, it's supposed to be sys/time.h, not sys/times.h.Tobias Stoeckmann
2008-02-03(f)utimes takes sys/time.hTobias Stoeckmann
2008-02-01Make cvs_requests struct more readable.Xavier Santolaria
2008-02-01Added rannotate supportTobias Stoeckmann
OK xsa@
2008-01-31Zap trailing whitespaces.Xavier Santolaria
2008-01-31Make use of CVS_REV_BUFSZ everywhere for `sticky'.Xavier Santolaria
2008-01-29Properly check if an argument has been supplied for "Removed"Tobias Stoeckmann
> Diff from Igor Zinovik
2008-01-21Fixed export to be fully functional and compliant to GNU cvs in local andTobias Stoeckmann
remote setups. OK xsa@
2008-01-10Added support for rtag in local and remote setups (with interoperabilityTobias Stoeckmann
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.
2008-01-10another strcspn() roundTobias Stoeckmann
2008-01-10Simply the use of cmdp and cvs_command by zapping cvs_command and workingTobias Stoeckmann
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
2008-01-10Properly free entryTobias Stoeckmann
> Patch from Igor Zinovik
2008-01-10Ignore CVS directories during import in remote setups. assert()ed GNUTobias Stoeckmann
cvs server and was unwanted behaviour anyway.
2008-01-10Properly handle "cvs add" on a client/server setup with GNU cvs as a client.Tobias Stoeckmann
2007-11-11If a file has modifications in it (i.e. cvs update on modified files),Tobias Stoeckmann
reapply umask as done with unmodified files. Sticks at GNU cvs behaviour.
2007-10-07nb is an int, so it should be compared to an int.Charles Longeau
ok ray@
2007-09-22Support for checkout with a local repository already in place.Tobias Stoeckmann
OK joris@
2007-09-17Print error messages sent by server on stderr. While at it, replacedTobias Stoeckmann
cvs_printf in cvs_client_m with puts (no need of cvs_printf's abilities here). OK joris@
2007-09-10remove my addition of portnumber for rsh in CVSROOT.Joris Vink
while it sounds like a "good" idea some people convinced me otherwise. mostly because this breaks compat with GNU cvs.
2007-09-10Allow port specification in our CVSROOT which is used for ourJoris Vink
ssh connection to our server. Example: joris@somehost.com:2222:/cvs OK tobias@
2007-09-07Added support for single file checkout.Tobias Stoeckmann
OK joris@
2007-09-07Do not use global option -V (GNU cvs doesn't understand it), be veryTobias Stoeckmann
verbose per default on server-side instead. OK joris@
2007-09-02OpenCVS server init-support with OpenCVS and GNU cvs clients.Tobias Stoeckmann
OK joris@
2007-09-02Log all commands sent with cvs_remote_output(), not justTobias Stoeckmann
cvs_client_send_request(). Simplified logging code while at it. OK joris@