summaryrefslogtreecommitdiff
path: root/usr.bin/cvs/update.c
AgeCommit message (Collapse)Author
2012-07-02simplify rcsnum parsing by using a fixed array without all the reallocTed Unangst
ok stsp
2010-10-28Change basep parameter of getdirentries() to be off_t *, not long *Todd C. Miller
so it works correctly with large offsets (and matches other systems). This requires adding a new getdirentries syscall, with the old one renamed to ogetdirentries. All in-tree consumers of getdirentries() have been updated. Bump libc and libpthread major numbers. OK and with deraadt@
2010-10-27Merge -k and expand @@ parsing code between OpenCVS and OpenRCS, resultingTobias Stoeckmann
in a performance gain in OpenCVS in some "cvs update" scenarios. ok zinovik
2010-09-29Support for update -C, from zinovik.Nicholas Marriott
ok tobias xsa
2010-07-30Check date_parse return values.Ray Lai
OK xsa
2010-07-23Reduce variable/function name and whitespace differences betweenRay Lai
cvs/rcs. OK xsa zinovik
2010-07-13Don't silently overwrite untracked local files with newly-addedNicholas Marriott
repository files. slightly earlier version ok zinovik xsa
2009-03-24shuffle code a bit so FILE_REMOVE_ENTRY also callsJoris Vink
cvs_checkout_file() with CO_REMOVE set otherwise our server would never inform the client the entry should be removed.
2009-03-23LP_NOTICE should be LP_ERR when showing directory messages.Joris Vink
2009-03-21be smarter when checking if a directory is empty by looking atJoris Vink
CVS/Entries early on in cvs_update_leavedir()
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.
2008-06-28if the user supplied -A only checkout files again if a sticky tagJoris Vink
was in fact set, instead of ALWAYS checking them out no matter what. spotted & diff tested by naddy@
2008-06-19If checkout/update -p is requested with a specific tag for a file whichTobias Stoeckmann
doesn't contain this tag, don't print head. ok joris
2008-06-14Conforming to RCS specification, it is possible but unlikely to encounterTobias Stoeckmann
an RCS file which has no head revision set. Some commands actually can work with them (log, status) so support these files. Fixes A LOT of possible segmentation faults. ok joris
2008-06-14Added support for sticky date set in CVS/Tag and CVS/Entries per directory.Tobias Stoeckmann
ok joris
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-12completely kill the need for TMP_DIR when running checkout,Joris Vink
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@
2008-06-11cleanup our junk when in server mode and running as checkout everyJoris Vink
time we descend into another directory, leaves even less crap in /tmp while running.
2008-06-09unused varJoris Vink
2008-06-09Properly handle merged files and conflicts which may arrise while merge.Tobias Stoeckmann
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.
2008-06-08Don't check a file for conflict markers if it has no CVS/Entries entry.Tobias Stoeckmann
ok joris
2008-05-30Keyword expansion must not be set if no RCS file is available, for exampleTobias Stoeckmann
a newly added but not yet committed file. Fixes segfault. ok joris
2008-05-23Properly pass the directory tag of parent directory into new subdirectories.Tobias Stoeckmann
Spotted by and ok joris.
2008-05-22Wrong function names in fatal messages fixed.Tobias Stoeckmann
2008-05-22expension -> expansionTobias Stoeckmann
ok joris, xsa (quite some time ago)
2008-03-09locate the first occurance of ':' in the given -j argumentsJoris Vink
instead of the last one, otherwise we cannot properly separate the tag from the given date (if any).
2008-03-09simplify logic in cvs_update_leavedir()Joris Vink
2008-03-09when in server mode, be sure the client picks up any new directoriesJoris Vink
if they are available if we run with -d, however do not send the stuff when running a checkout so empty directories do not even appear in our working copy, saves us the whole pruning trouble at the end with co.
2008-03-09While allocation memory, make sure that file sizes are smaller than SIZE_MAX.Tobias Stoeckmann
ok joris
2008-03-08do not log successfull merges in CVSROOT/history when joining.Joris Vink
2008-03-08better -j supportJoris Vink
2008-03-08add checkout/update -j support.Joris Vink
still has some rough edges.
2008-03-02Print the right synopsis for commands on error (especially if commandsTobias Stoeckmann
share the same function: (r)tag, etc.). ok joris
2008-03-01use file_rcsrev in update_clear_conflict() - this wayJoris Vink
we will always pick up the correct revision.
2008-02-28RCS files can have a default expansion mode, keep this in mind forTobias Stoeckmann
update -A and -k. spotted by and ok joris
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-10properly initialize cvs_specified_date so we dont end up withJoris Vink
random stuff going on
2008-02-10parse any date tags set in CVS/Tag or CVS/Entries properly, and useJoris Vink
them for commands; with tobias@
2008-02-09Introduce cvs_ent_line_str() - formats CVS/Entries lines.Xavier Santolaria
OK tobias@.
2008-02-09in cvs_update_enterdir() write the CVS/Tag file if theJoris Vink
cvs_specified_date is != 0 as well;
2008-02-09Support for checkout -D extended:Tobias Stoeckmann
Properly write CVS/Tag and CVS/Entries on various combinations of -r and -D. OK joris@
2008-02-09missing breakJoris Vink
spotted by 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-09Get in proper support for checkout/update -A when it comes to keywordTobias Stoeckmann
expansion options. OK joris@
2008-02-09lets do -D for update as wellJoris Vink
2008-02-08do not override a specified (-r) tag with the tag in the Entries fileJoris Vink
2008-02-06Sticky tags must have a 'T' in front of them in CVS/Entries.Tobias Stoeckmann
OK joris@
2008-02-04Stripped off 'nb', which was (or was supposed to be) used to distinguishTobias Stoeckmann
between a named branch and a revision number supplied by -r. This can be done easier in cvs_write_tagfile directly. OK joris@
2008-02-04Added -k flag support for all commands which support it.Tobias Stoeckmann
OK joris@
2008-02-03cvs_update_leavedir is only useful if dirs have to be pruned.Tobias Stoeckmann
OK joris@