Age | Commit message (Collapse) | Author |
|
although i advise against using it on real development trees for now.
only a few commands work right so far:
- commit
- diff
- status
- log
- update (partially working)
if you feel like testing remote and run into bugs feel free to
contact me, and please include a full trace (-t).
|
|
we let the commands pass the correct function.
all in preparation for remote.
|
|
|
|
except it takes a decriptor as argument instead of a path.
modified cvs_buf_load() to open the descriptor then pass
it to cvs_buf_load_fd().
change all the calls to cvs_buf_load() that have a descriptor
open for the path to cvs_buf_load_fd() to prevent races.
|
|
hacking on the plane from toronto to barbados.
i will probably hack some more since im stuck in barbados
for 12 lovely hours over night cause the carribean airlines dont understand
the meaning over 'more than one flight a day'.
|
|
|
|
- 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.
|
|
|
|
|
|
for each cvs_file struct, this will help us with sticky tags,
commiting to branches and importing into existing repositories.
|
|
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.
|
|
but work is in progress for importing stuff into existing repositories.
|
|
so remove it from there again.
|
|
no longer matches the timestamp in the CVS/Entries file, be
sure to compare the file contents to the revision contents to
be positive the file actually changed.
otherwise we would see a file as modified if somebody
would for example open it in vi and simply :wq it.
|
|
|
|
|
|
- default to CVS_FILE when something is totally unknown
- cvs_get_repository_path() now returns the full repository path for
the given argument.
- cvs_get_repository_name() returns the contents of CVS/Repository
to the caller.
- allow command callbacks to specify if our recursion code needs
to skip the directory or not.
- when checking for a admin directory, make sure it is in fact
a directory. if it is not we dont want to recurse inside.
|
|
if an RCSFILE is dead, will come in usefull later in commands.
|
|
or a directory that is suppose to be a file, abort right away
because something bad probably happened.
|
|
if the commands want to output certain stuff themselfs
|
|
|
|
|
|
specified certain commands will not recurse into directories.
at the same time introduce a method of specifying wether or not
a command should look in the repository for files.
|
|
the RCS file its state.
|
|
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.
|
|
no binary change; ok ray
|
|
use xcalloc and xstrdup where appropriate, and other stuff.
OK joris@
|
|
|
|
|
|
|
|
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@
|
|
that never got used in the first place;
|
|
now, when you checkout a tree with gnu cvs, opencvs no longer sees all
the files as modified, and visa versa.
this actually makes gnu cvs and opencvs dance together in working copies.
|
|
|
|
- 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@
|
|
diff is from joris@, committing on his behalf because his net connection
is very dodgy right now.
|
|
of acting like everything went fine.
this fixes eternal loops in the client which waits for data
from the server while the server waits for data from the client.
problem found and fixed by Nuno Morgadinho, thanks!
|
|
|
|
|
|
ok xsa@
|
|
CVS/Tag file. Sync the rest of the code accordingly; OK joris@.
|
|
|
|
callback.
fixes local commands with directories as arguments (like 'add').
problem found and OK xsa@
|
|
cvsroot_parse().
fixes segfaults opencvs has been receiving when cvsroot_parse() fails.
"go ahead" xsa@
|
|
|
|
Fixes corrupt Entry files.
Problem found by Mike Pechkin, thanks.
|
|
been passed to the callback.
ok xsa@
|
|
ok xsa@
|
|
|
|
|