summaryrefslogtreecommitdiff
path: root/usr.bin/cvs/rcs.h
AgeCommit message (Collapse)Author
2006-06-09handle `cvs tag -F'; input && OK joris@.Xavier Santolaria
2006-06-01major rewrite of some rcs parsing stuff:Joris Vink
- rework rcs_getrev() to correctly support branches - rework rcs_translate_tag() to correctly translate given symbols or branches into their matching revisions - rework rcs_rev_add() to correctly update its 'next' pointers and insert the new revision in the correct place on the list. - rework rcs_head_get() to return the latest revision on the default branch if it has been set or the normal HEAD revision otherwise. - no longer access the rf_head member of the RCSFILE struct manually, use the rcs_head_get() function which correctly returns the HEAD revision, there might be a default branch that has to be used. - for now, when commiting a new revision reset the default branch.
2006-05-31have rcs_translate_tag translate branches too, whichJoris Vink
allows us to completely use branches for diffing, logging, updating, etc.. more branches support coming up!
2006-05-30look inside the Attic if a specified RCS file cannot be foundJoris Vink
in the normal repository, and a way to identify an RCS file in the Attic in the RCSFILE struct. will come in handy later on.
2006-05-29add rcs_translate_tag which will translate a specifiedJoris Vink
revision or symbol given to us on the command line into the matching revision in the RCS file (if any);
2006-05-28add rf_dead field to RCSFILE which can tell usJoris Vink
if an RCSFILE is dead, will come in usefull later in commands.
2006-05-28enable merging on update. if your file in your working copyJoris Vink
has been modified by yourself and there is a newer revision we try and merge them together. if the merge fails and has conflicts it will mark them inside the file, you will need to resolve these by hand first before you will be able to commit your modified file. works transparent with gnu cvs, as it is suppose to.
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-14- swap a hack for a slightly nicer hack using a global variable. this avoidsNiall O'Higgins
adding a really nasty hack to make some upcoming rlog fixes from joris work. ok joris@
2006-04-13add support for the openrcs -o'range' option.Joris Vink
-o allows users to delete revisions in the specified RCS files. example: rcs -o1.4:1.6 foo deletes revisions 1.4 - 1.6 rcs -o1.3 foo deletes revision 1.3 joint work with niallo@ okay niallo@
2006-04-13fix -z option for openrcs, this was broken by xsaJoris Vink
when he yanked the code out of rcs.c and placed it in rcstime.c. struct tm ltb, *tb; tb = &ltb; return (tb); isn't really the most perfect idiom to return a value to the caller, now is it? as a bonus -z for rlog now works too. okay niallo@
2006-04-10change rcs_kwexp_set() return type to void and simplify its use. OK niallo@.Xavier Santolaria
2006-03-30first part of supporting branches in openrcs. right now we can onlyJoris Vink
check them out. commit is not working yet, but will be soon. tested by myself and ray@ okay ray@
2006-03-30Add rlog -r[REV1][:][REV2] supportRay Lai
From Pierre-Yves Ritschard. OK niallo@
2006-03-30 - Comment fixes.Ray Lai
- int rcsnum_cpy() -> void rcsnum_cpy(). - Check for overflow in rcsnum_cpy(). OK niallo@
2006-03-27- properly implement GNU file modes. basically, checkout will inheritNiall O'Higgins
permissions from rcs file and initial checkin will inherit permissions from working file. problem spotted by uwe@ ok ray@ xsa@
2006-03-27rcs_comment_set() will never return non-zero; change its return type to void.Xavier Santolaria
OK ray@.
2006-03-27rcs_desc_set() will never return non-zero; change its return type to void.Xavier Santolaria
OK niallo@.
2006-03-24Fix RCS_KWEXP_INVAL() macro.Ray Lai
Pointed out by Theo. Okay xsa@.
2006-03-23Use TAILQ_HEAD() macro instead of custom struct definition.Ray Lai
From Pierre-Yves Ritschard. OK xsa@
2006-03-09move joris' timezone support into rcstime.c; more work to be done there.Xavier Santolaria
OK joris@.
2006-03-07-z support for RCS;Joris Vink
2006-03-05our deltatexts were sometimes different from gnu. rcs_getrev() wasNiall O'Higgins
unconditionally doing keyword expansion, even when this wasn't what we wanted e.g. in checkout_rev() and cvs_checkout_rev(). so: - change semantics of rcs_getrev() to not do keyword expansion - add an rcs.c api function rcs_kwexp_buf() which does this - change both checkout_rev() and cvs_checkout_rev() to use this function. eyeballed by xsa, joris and Ray Lai
2006-02-09- move rcs_kw-related data into rcs.h and de-static the keyword array. thisNiall O'Higgins
allows access from outside rcs.c and will be needed for upcoming features in ci(1). ok joris@ xsa@
2006-01-02more includes cleanup;Xavier Santolaria
2005-12-30- zap unused 'rf_ref' member of RCSFILE structure.Niall O'Higgins
spotted by joris@
2005-12-27- implement lazy-parsing of rcs files, that is only parse as much as weNiall O'Higgins
need. this can save us much work, particularly with very large rcs files. first of a few important performance improvements. ok joris@
2005-12-08complete and correct rcs locking functionality,Joris Vink
it was only done partially and as a bonus, completely wrong. seriously guys what was up with that?
2005-12-03todd@ reminds me:Joris Vink
If you 'vi file.c' and change stuff, then 'make depend && make' you'll have a file.o file most definately more recent than the latest committed version of file.c. Then, if you rm file.c, and cvs update file.c, if 'file.c' is set to the timestamp of the last committed version, a subsequent 'make' will not rebuild the .o file. to fix this we simply use the current timestamp when updating files. thanks todd@!
2005-12-03add very basic support for the following stuff:Joris Vink
- checkout in local mode (example: /cvs) - update in local and server mode (example: /cvs and user@host:/cvs) - import in local and server mode (example: /cvs and user@host:/cvs) what remains to be done: - not all options are supported yet, and update cannot pick up newly added files yet. these things are pending and will be commited real soon. - checkout only works locally right now. - fix rcs parsing code so that we don't fucking hog 100% cpu on really BIG BIG BIG ass trees. mainly tested by pedro@ and myself, thanks a lot pedro! "go for it" niallo@
2005-12-01rcs_findrev() is not static anymore; align protos while here;Xavier Santolaria
OK joris@ niallo@.
2005-11-02changes from Venice:Niall O'Higgins
- instead of using lots of individual flag variables, use a single int and bitwise operations on it. while this saves memory, really it saves code space and reduces complexity. checkout_rev() and checkout_state() in particular benefit from these changes since their parameters where growing really long. - implement `-s' option in co - implement `-M' option in ci "I like this, go for it" joris@
2005-10-29- add two new functions to RCS api: rcs_state_set() and rcs_state_check()Niall O'Higgins
- use these two new functions to implement -s<state> option in ci ok joris@
2005-10-22diff3 support, needed for merging files together;Joris Vink
"go for it" niallo@
2005-10-15- add username parameter to rcs_rev_add(), needed to implement at leastNiall O'Higgins
`ci -wusername'. ok joris@
2005-10-10add rcs_rev_setlog() in the RCS api; used for setting log messagesJoris Vink
of a revision to a specific value; ok niallo@
2005-10-10add rcsnum_dec() api call, decreases a revision number by one.Joris Vink
ok niallo@
2005-10-07basic `ci' support is here! more coming soon.Niall O'Higgins
combined effort with joris. ok joris@
2005-08-02handle magic branch numbers.Joris Vink
ok xsa@, jfb@
2005-07-25KNF; mostly spaces vs. tabs; ok joris@ jfb@.Xavier Santolaria
2005-05-26add a couple of functions to go from branch numbers to revisions andJean-Francois Brousseau
vice versa, and fix RCSNUM_ISBRANCH()
2005-05-25unused codeJean-Francois Brousseau
2005-05-25modify rcs_rev_add() to accept a time_t argument to explicitly setJean-Francois Brousseau
the revision's timestamp (-1 is equivalent to using the current time)
2005-05-25split cvs_admin_file() into the local and remote versions and doJean-Francois Brousseau
some cleanup
2005-05-25add cvs_comment_lookup() and a suffix -> comment leader lookup tableJean-Francois Brousseau
to determine the appropriate comment leader for a file
2005-05-25add the RCS_ERR_ERRNO code to indicate that the actual error code isJean-Francois Brousseau
in errno, fix cvs_errstr() to return the appropriate string, and sprinkle some error setting where appropriate
2005-04-20check the validity of tag names passed to the tag command, and printJean-Francois Brousseau
an abort message if the tag is invalid. also, match gnu cvs behaviour with regards to command usage output on usage errors. ok joris
2005-04-19add rcs_sym_check() to check the validity of an RCS symbol andJean-Francois Brousseau
sprinkle some in the other symbol functions
2005-04-13cache leftoversJean-Francois Brousseau
2005-04-11modify handling of RCS delta texts so we can handle arbitrary binaryJean-Francois Brousseau
data