About the project

During this summer I'll try to help the csup-project (http://mu.org/~mux/csup.html). My main objective is to implement cvs-mode support.

2005-09-01 16:30
I just finished cleaning up the code a bit. I generated another patch that is against the csup snapshot dated 2005-06-06. The following things should work correctly (if they don't, pray! errorhandling is practically not existent):

If you try it out, be careful, most of the flags you can set in the config file (don't give delete permission for example) are ignored. And if you see a lot of Mkdir and SetAttr output during sync even if the directory is already there that's ok. Right now there is no status file support and the detailer just forwards directory creation and set attribute commands. I also tarred together the testcases I put together during the bughunt, so I can avoid introducing an already fixed bug again.
Here are the links:

2005-09-01 04:10
At last it is done, the bugs I know about are fixed. For what I know at the moment there are only missing features :). The code is still as messy as it was 5 hours ago, but with two bugs less. I'll try to clean up the code as soon as possible. I'll also try to find out against which exact version of csup the following patch is (I didn't sync for ages).
However, here is the patch: http://iserver.hta.fhz.ch/~iamathys/csup_rcs_patch_2005-09-01.gz

2005-08-31 23:10
Guess it will be late until I can go to sleep tonight. Somehow I completly missed that those stupid RCS strings can contain binary data and so I have to adapt the code. My luck is that the MAEKAWA Masahide (the cvsync-guy) thought about this and so I only need to change the output part. However, this includes the evil GetText-function :(. So, guess I'll put some more MP3s in my playlist and grab another cup of coffee...

2005-08-31 12:10
Time is almost up. Yesterday I started to test csup's RCS file support, and as expected I discovered several bugs. The integration is not perfect, there are still many flags that are not considered and there is no special checksum calculation for RCS files (this should be easy though). Error handling is far from perfect not to mention the messages that are printed. They are only somewhere near CVSup as long as everything is fine. This evening I'll generate a patch so an adventuresome soul can try this stuff out :).

2005-08-28 00:50
I made some changes to the API and implemented and tested newphrase support. I did not yet find the time to adapt the datastructures to not expose "invalid" (=not updated during edit) values. I'm not sure if I should adapt CVSup's model of entering placeholder deltas or if it would be easier to use a private and a public datastructure... Tomorrow I should have a closer look into this keyword expansion thingy and then it would be time to start integrating all into csup. This will almost certainly result in additional API changes.

2005-08-26 14:20
I just finished implementing the reverse diff part and could produce a valid file equal to the one that rcs produced :). However, there are still memory leaks I've to track down and some "unnice" structures I want to change. After that I'll try to adapt some of the datastructures in the parsercode of cvsync so the API doesn't expose to much values that are only needed during parsing.

2005-08-25 14:30
The implementation of the writer part made some progress. GetText is now implemented except for the support to get reverse diffs. That's what I'll do next. I have run some rudimentary tests with deleting away revisions, branches and they seemed to work okay (= produced the same output as `rcs -oREV`).

2005-08-17 16:50
I'm in the middle of implementing RCS-file support. I took the parser from cvsync (http://www.cvsync.org/). It did save me a little bit of typing. However, updating the file seems to be done quite different in cvsync and CVSup, so I have to adapt the data model of cvsync's RCS-file as close to CVSup as necessary. To make the API similar to the one CVSup has I'm writing an adaption layer. Rigth now most of the routines for updating the file are finished. But writing this data to a file seems to be everything else than easy from what I can tell by looking at CVSup's ToWr-func...

2005-08-09 23:50
I've made another patch available at http://iserver.hta.fhz.ch/~iamathys/cvsmode_2005-08-09.patch.gz. It fixes a bug in handling binary data when complete files are received and files can now be updated using rsync-algorithm. However, right now there is a problem if the rsync'd file is dead (in Attic).

2005-08-09 11:35
The current patch is available at http://iserver.hta.fhz.ch/~iamathys/cvsmode.patch.gz. It supports cvsmode, but in a quite inefficient way: It fetches always the complete file, no diffs or anything. That's because the important support for understanding RCS-files is still missing.


About my Person

My Name ist Christoph Mathys and I am a 23 year old guy from Switzerland {flag-ch} who was lucky enough to be selected for the summer of tax^wcode program. I just finished the 3rd year of studies at the university of applied sciences in Luzern (http://www.hta.fhz.ch/).

ChristophMathys (last edited 2008-06-17 21:37:58 by localhost)