summaryrefslogtreecommitdiffstats
path: root/usr.bin/cvs (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* when i fixed to attic handling i forgot one special casejoris2009-03-281-1/+8
| | | | | | | that we'd hit in normal checkouts/updates for duplicate file and dirs. found and diff tested by krw@
* make sure that when we try to send a Set-sticky to the client,joris2009-03-271-3/+5
| | | | | | | 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.
* fix the way Attic is handled in our recursion code, so wejoris2009-03-265-49/+77
| | | | | | | | | | | | | 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@
* "Logging dirname" needs to be properly shown when running log/rlog.joris2009-03-261-7/+7
| | | | spotted by deraadt@
* switch our file and directory lists to RB trees (see tree(3)),joris2009-03-256-57/+73
| | | | so we can benefit from faster lookup times while recursing.
* prevent a very difficult to reach, but possible use after free.joris2009-03-251-9/+5
| | | | ok tobias@
* remove unused functions, definitions and outdated commentsjoris2009-03-255-176/+19
| | | | from the stone ages.
* -q hasnt been the default verbosity mode in ages.joris2009-03-251-3/+3
|
* have CVS_OP_TAG and CVS_OP_RTAG use RCS_WRITE flagjoris2009-03-242-8/+7
| | | | | | | | 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.
* shuffle code a bit so FILE_REMOVE_ENTRY also callsjoris2009-03-241-3/+4
| | | | | cvs_checkout_file() with CO_REMOVE set otherwise our server would never inform the client the entry should be removed.
* use size_t for size, since atomicio() both accepts and returns itjoris2009-03-241-2/+3
|
* kill SIZE_LEFT() macro, no longer usedjoris2009-03-231-3/+1
|
* simplifyjoris2009-03-231-2/+2
|
* remove debug, blehjoris2009-03-231-3/+1
|
* add rlog -d support, ported from openrcs byjoris2009-03-231-4/+187
| | | | Josh Elsasser <josh@elsasser.org>
* LP_NOTICE should be LP_ERR when showing directory messages.joris2009-03-231-2/+2
|
* any directory messages are, believe it or not, suppose to go to LP_ERRjoris2009-03-231-4/+3
| | | | | | | instead of LP_NOTICE, while here modify output for non-existing files to match "? foobar" instead of "cannot find foobar". makes our output a little less alien and a little bit more gnuish.
* styletobias2009-03-221-3/+3
|
* Avoid the usage of uninitialized value, which even might result in a memorytobias2009-03-221-4/+3
| | | | | | leak if a file has no line in CVS/Entries. ok joris
* Properly free allocated memory in error case.tobias2009-03-221-6/+8
| | | | ok joris
* use file_rcsrev when printing out Repository revision sojoris2009-03-211-3/+2
| | | | | | we always receive the correct revision number instead of HEAD, otherwise running status on a file that belongs to a branch results in showing HEAD revision instead of latest branch revision.
* kill useless return;joris2009-03-211-2/+1
|
* be smarter when checking if a directory is empty by looking atjoris2009-03-211-7/+9
| | | | CVS/Entries early on in cvs_update_leavedir()
* do not diff files server-side that are uptodate but require a patch,joris2009-03-191-1/+4
| | | | | | | as the client does not provide these files at all because they are not modified in anyway. otherwise this results in bad mojo. found by myself and sthen@
* kill unused varsjoris2009-03-191-3/+1
|
* only pass the real $var to expand_vars() instead of the entirejoris2009-03-191-4/+5
| | | | | | | line, this way commitinfo and stuff works again. found by myself the hard way, fix by tobias@ who's not around to commit.
* properly register Questionable files using CVS/Entries server-sidejoris2009-03-195-11/+39
| | | | in order for them to show up as "? foobar" when opencvs is in server mode.
* be carefull when trying to access cf->file_rcs in cvs_checkout_file()joris2009-03-181-2/+2
| | | | as it could be NULL under certain conditions.
* unused varjoris2009-02-231-3/+2
|
* we no longer push out Set-sticky to the client when writingjoris2009-02-233-14/+13
| | | | | | | | | | | | 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@
* Properly convert between gmt and localtime for unchanged files as client.tobias2009-02-231-2/+3
| | | | | | Problem reported by Jesus Sanchez (zexel08 at gmail dot com). ok joris
* Properly convert dates between timezones before comparison.tobias2009-02-211-2/+2
| | | | ok joris
* fix grammarjoris2009-02-211-2/+2
| | | | from <dawedawe@gmx.de>
* use FILE_ON_DISK flags when we need to verify if a filejoris2009-02-219-38/+49
| | | | | exists in the working copy or not instead of checking fd being -1 since this can differ in server or local mode.
* bump to match release versionjoris2009-02-211-2/+2
|
* use file_flags for 2 more reasons:joris2009-02-215-12/+24
| | | | | | | | | - 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.
* in cvs_mkpath() always look for an existing CVS/Repository filejoris2009-02-211-2/+2
| | | | | | unless we're running checkout or export. otherwise we'll end up accidently overwriting it in certain cases on the client side of things.
* correct Set-sticky and Clear-sticky responses tojoris2009-02-211-9/+11
| | | | | | | include the right repository path. we messed up some cvs implementations by doing this incorrectly.
* cleanup of CVSROOT, we have no need for cr_flags,joris2009-02-212-14/+2
| | | | | | cr_version or cr_vrmask[] its all very old stuff. remove all macros using cr_vrmask as well, no use for them.
* alter cvs_file_get() so it takes flags instead of one setjoris2009-02-213-15/+16
| | | | | | | 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.
* fix off by one character when constructing $Mdocdate$.joris2009-02-181-2/+2
| | | | problem found by todd@, ok sthen@
* add our temporary RCS file to our temp_files worklist in casejoris2009-02-151-1/+3
| | | | | | for some reason we get interrupted before calling rename(). we hate leaving behind temporary files.
* be more sane in handling the given repository pathjoris2009-02-131-4/+7
| | | | in cvs_client_updated().
* enable -d for the export command.pyr2009-01-281-1/+10
| | | | ok joris@
* fix printing status on removed files by default;joris2009-01-141-1/+5
| | | | | | slighty different diff applied then what the bug author provided us. thanks & closes pr 6038
* Add format attributes to functions that use variable arguments andcanacar2009-01-024-21/+19
| | | | make the code -Wformat=2 clean. ok joris@ xsa@
* Small optimization.ray2008-11-261-3/+2
| | | | OK tobias@
* Removed unneeded conversion from RCSNUM to string in rcs_rev_setlog.tobias2008-11-091-5/+2
| | | | oki joris@
* try getlogin() to get the real username when comitting files as root.reyk2008-09-171-3/+7
| | | | | | | | | this gives better information in log messages when the user logged in with a different uid and used sudo or su to become root. matches the behaviour of gcvs except that we don't fallback to LOGNAME or USER since getlogin() should not lie. ok tobias@
* Move the revision selection in front of output, so errors won't mix uptobias2008-09-121-6/+6
| | | | with output. Matches GNU cvs.