The last couple of weeks I’ve been very busy with school (and I expected this to be a quiet semester). However, I’ve found some of the last few bugs lurking around in csup:
- Deltas that had a 'hand-hacked' date would have deltatexts that would be misplaced in the rcsfile.
- When adding a new diff, a '..' would be converted to '.' twice, meaning it disappeared.
Now, there are only these issues left, but I’m not sure if I really want to fix this:
- Some RCS files have an extra space between desc and the deltas. CVSup fixes this by _counting_ the lines and then write them out when writing out the RCS file. I think this is silly, since it doesn't really matter according to the RCS standard.
- Some files appear to display garbage values, such as src/share/examples/kld/firmware/fwimage/firmware.img,v This disappears for some reasons in csup, but I'm not sure how to handle this. Comments are welcome.
- It has a quite high memory usage, and this might be due to some leaks that I've been unable to find. I'll do a much better audit of the code and run valgrind to investigate this further.
- Does not support md5 of RCS stream, so it can't detect errors yet.
- Statusfile file attributes might not be correct.
- Some RCS parts such as newphrases (man rcsfile) is not supported yet.
- Some hardcoded limits that may break it.
- Things done a silly way such as sorting and comparing, which I have plans to improve later.
So, finally, you can try out patches if you’d like: http://people.freebsd.org/~lulf/patches/csup/cvsmode
Currently, I’m including the tokenizer generated by flex, since the flex file itself can’t be compiled with csup.