aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/git.py
Commit message (Collapse)AuthorAgeFilesLines
* Major rewrite of RCS backends. RCS now represented as a class.W. Trevor King2008-11-181-136/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lots of changes and just one commit. This started with bug dac91856-cb6a-4f69-8c03-38ff0b29aab2, when I noticed that new bugs were not being added appropriately with the Git backend. I'd been working with Git trouble before with bug 0cad2ac6-76ef-4a88-abdf-b2e02de76f5c, and decided things would be better off if I just scrapped the current RCS architecture and went to a more object oriented setup. So I did. It's not clear how to add support for an RCS backend: * Create a new module that - defines an inheritor of rsc.RCS, overriding the _rcs_*() methods - provide a new() function for instantizating the new class - defines an inheritor of rcs.RCStestCase, overiding the Class attribute - defines 'suite' a unittest.TestSuite testing the module * Add your new module to the rest in rcs._get_matching_rcs() * Add your new module to the rest in libbe/tests.py Although I'm not sure libbe/tests.py is still usefull. The new framework clears out a bunch of hackery that used to be involved with supporting becommands/diff.py. There's still room for progress though. While implementing the new verision, I moved the testing framework over from doctest to a doctest/unittest combination. Longer tests that don't demonstrate a function's usage should be moved to unittests at the end of the module, since unittest has better support for setup/teardown, etc. The new framework also revealed some underimplented backends, most notably arch. These backends have now been fixed. I also tweaked the test_usage.sh script to run through all the backends if it is called with no arguments. The fix for the dac bug turned out to be an unflushed file write :p.
* Fixed another bug in git.strip_git() (bug 0cad).W. Trevor King2008-11-161-1/+1
| | | | | Also added git mode to test_usage.sh. I'll go through and add modes for the other RCSs...
* Oops... *Now* I've fixed 0cadW. Trevor King2008-11-131-1/+5
|
* Fixed 0cad bug with smaller fix.W. Trevor King2008-11-131-1/+4
| | | | | | | | | | | | | | Hubert Chathi's fix was confusing for me, so I made a simpler change. Seems to work so far. The problem was that os.path.dirname('filename') returns an empty string ('') if there are no directories in the filename. So when `git rev-parse --git-dir` returned '.git', os returned ''. Later programs didn't recognize '' as a valid directory and crashed. My fix returns '.' in this case, so we don't crash, and avoid having to use full paths. I'm not sure why I don't want to use full paths; they just give me bad vibes...
* Add GIT support, from Chris Ball and Michael Stone.Chris Ball2008-05-161-0/+146