BUG Ticket (closed)

GitAdapter does not correctly support "T" action

See git://github.com/amoswenger/ooc.git commit b88f4641caa0cb51615485e0070c84b1737af819 In this case, a file is added and changed in a single commit: {{{ commit b88f4641caa0cb51615485e0070c84b1737af819 Author: Amos Wenger <amoswenger@gmail.com> Date: Mon Jun 29 18:46:08 2009 +0000 Moving stuff around (separating examples and tests), preparing the new test system. :120000 100644 c304c42... 02628b9... T examples/build-tests-noserv.sh :000000 120000 0000000... c304c42... A examples/build-tests-noserv.sh }}} This causes our parser to return the same filename twice. We should merge these two lines into a single "A" action which connects sha 00000000 to 02628b9. This can probably be done with post-parse processing to remove such dupes, as we do with Subversion.
on 06.30.09 reported by: robinluckey owned by: robinluckey
on 06.30.09 by robinluckey
  • status was changed to in progress
(wont-fix) on 07.07.09 by robinluckey
  • status was changed to closed
  • resolution was changed to wont-fix
There are several peculiarities in this repository. Later in the log (commit c5f4d522356c1077a64f529f87d57b351fb82322), you can see two distinct blobs deleted with the same path: {{{ :100644 000000 02628b9... 0000000... D examples/build-tests-noserv.sh :120000 000000 c304c42... 0000000... D examples/build-tests-noserv.sh }}} What does this even mean? How is this possible? I tried to check out commits affected by these duplicated paths to see what they look like, but git gave me an error: {{{ git checkout -b foo a866f07c14d99e215f415def52882f976fb691db error: Untracked working tree file '.git/info/exclude' would be overwritten by merge. }}} I'm going to resolve this as "won't fix" because I believe the repository is invalid, and this is the only known instance of the problem. There's an argument to be made that Ohloh should not crash -- and Ohloh does have a policy of trying to do the best we can when confronted with bogus data. However, the fix for this is not clean, and it will degrade performance for all Git repositories. If another repository appears with the same issues, we can revisit.