summaryrefslogtreecommitdiff
path: root/usr.bin/cvs/entries.c
AgeCommit message (Collapse)Author
2009-03-19properly register Questionable files using CVS/Entries server-sideJoris Vink
in order for them to show up as "? foobar" when opencvs is in server mode.
2009-02-23we no longer push out Set-sticky to the client when writingJoris Vink
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@
2008-06-14unfuck CVS/Tag creation, karma sucks doesn't it.Joris Vink
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-11Avoid possible NULL pointer dereferences by using reentrant versionsTobias Stoeckmann
of time functions. ok joris
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-03-01spacingTheo de Raadt
2008-02-10+ #define CVS_DATE_FMT "%Y.%m.%d.%H.%M.%S"Xavier Santolaria
...and use it.
2008-02-10- cvs_write_tagfile() is not responsible to remove CVS/Tag itselfJoris Vink
- construct right CVS/Repository paths in cvs_mkpath() fixes remote Issues;
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-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-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-04Make CVS/Entries.Log look the same as GNU cvs'. This way interoperabilityTobias Stoeckmann
is possible. OK joris@
2008-01-10xmalloc + memset -> xcallocTobias Stoeckmann
2007-11-11CVS/Entries needs at least one line specifying a 'D'irectory. If theTobias Stoeckmann
current directory has subdirectories, there is no need to apply another 'D' line. Sticks at GNU cvs behaviour.
2007-10-05strcspn() changeGilles Chehade
was okay'd by pyr@ and ok by millert@
2007-09-25missing header for strptimeCharles Longeau
ok joris@
2007-09-22better branching/sticky tag support, no branch commits yet though.Joris Vink
2007-09-22we no longer create a 0 sized file in our /tmp/cvs-serv<pid> serverJoris Vink
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/
2007-09-04Removed dead code.Tobias Stoeckmann
OK joris@, ray@
2007-07-03Rework the way opencvs works in relation to files in the Attic/:Joris Vink
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!
2007-06-02don't try to parse a server conflict message as a date.Niall O'Higgins
makes cvs remote merging with conflicts work a bit better. ok joris@ xsa@
2007-05-26Treat lines that start with "dummy timestamp from new-entry" as aRay Lai
dummy timestamp, not just lines that match it exactly. OK xsa@.
2007-05-16Figure out DST by setting tm_isdst element to -1.Xavier Santolaria
From Tobias Stoeckmann. OK otto@.
2007-02-22general includes cleanup sweep. ok joris@ niallo@Otto Moerbeek
2007-02-19Fix const inconsistencies, void pointer artithmetic and a few otherOtto Moerbeek
things. now gcc -Wall and lint are more happy. ok joris@ xsa@
2007-02-17cvs_path_cat() removal since we can now easily handle thatXavier Santolaria
functionality w/ xsnprintf(); Initial diff started by thib@. OK thib@ joris@.
2007-02-04dont bother trying to parse empty lines as dates.Joris Vink
cuts away some cpu time. from Tobias Ulmer, thanks a million!
2007-01-27mktime() produces local time, so add in tm_gmtoff to get UTC.Otto Moerbeek
ok xsa@ and joris@
2007-01-26Handle CVS/Entries and file timestamp correctly so we doJoris Vink
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@
2007-01-25use more stack allocations for fixed size buffers. ok xsa@ joris@Otto Moerbeek
2007-01-24terminate CVS/Entries with a newline.Pierre-Yves Ritschard
ok joris@, xsa@
2007-01-24the ok from xsa was for another diff, rollback previous commit.Pierre-Yves Ritschard
2007-01-24put a newline at the end of the Entries file, this syncs withPierre-Yves Ritschard
GNU cvs behavior and is easier on the eyes. ok xsa@
2007-01-12and thou shalt not leak memory when removing entriesJoris Vink
2006-12-07check for cvs_path_cat() return value.Xavier Santolaria
2006-12-07use errno where appropriate in error messages.Xavier Santolaria
2006-10-24Reuse len instead of calling strlen again.Ray Lai
OK xsa@.
2006-07-09more straightforward trace (-t) output, too much is just too noisy.Joris Vink
2006-06-14useless casts are so the 80sJoris Vink
2006-06-14handle existing CVS/Tag file when adding new directories. OK joris@.Xavier Santolaria
2006-06-06add support for the -D option of update,Joris Vink
-D allows you to update a file to matching a specified date: opencvs up -D "1 hour ago" foobar will take the first matching revision that was commited 1 hour ago.
2006-05-27commit the new opencvs code, i have been hacking onJoris Vink
this for the past 2 weeks now and it should go in at the start of the hackathon so others can help out. this code is a lot safer, smarter, faster and best of all it is actually doing what it is suppose to do! basic checkout, update, status, diff and commit are working in local mode only. there is no support for any remote setups now.
2006-04-14remove a metric buttload of excessive ()Theo de Raadt
no binary change; ok ray
2006-04-05Use variable names for sizeof, remove casts in front of xmalloc,Ray Lai
use xcalloc and xstrdup where appropriate, and other stuff. OK joris@
2006-01-02#include's cleanup; ok joris@ niallo@.Xavier Santolaria
2005-12-10switch to xmalloc stuff, me and xsa@ agreed on this a longJoris Vink
time ago, but we were being held back by jfb. too bad for him. next step is to use fatal() through out the code for unrecoverable errors instead of trying to be all nice and fluffy and reach main() again. ok niallo@ and xsa@