TODO:
- Git pulls are happening way, way too frequently. These take a few seconds every time. Find a way to limit these. @done
- Allow for different branch names (curently hard-coded to 'master')
- Error processing
- Short shas where appropriate @done
- enhance github source routing
- check for path
- convert revision number to git sha
Known Defects to Fix:
- Repeated revisions on the history page (doesn't seem to happen for smaller projects), but the revision list seems to start getting repeats from the last revision back (turned out to be problem with submodules) @done
- Sometimes get uncaught exception GitRepository::NoSuchRevisionError - again for larger repos - generally prevents source view from displaying (submodule problem) @done
- Given Mingle assumes revisions are sequential numbers, there may be problems if git checkins change the order and make the cache incorrect.
Performance Enhancements:
- Change calls within revisions to Commit.changelist (new function that returns just the --name-status array) @done
- Move actual diff to ChangePath.diff @done
- Node.revision calls back into GitRepository.revision, which spins through a full changepath/diff. This is called frequently in source browsing. Figure out a better way. [Recently added cache so that this is only done once per node]. @done
Node:
- Implement revisions (not needed) @done
- Change revision_number to get the actual revision of the node, not the commit revision number @done
- Implement previous_revision_node (not needed) @done
Testing:
- rewrite tests for git
GitHub Integration:
- Put in links to github where appropriate
Wanted from Mingle API:
- Hook into Revision # display (currently not called) so that we can display SHA instead of Revision #
- Switch to not assuming numeric revision numbers - can add api to get size for paging purposes
- Access to the Revisions table to store additional information (in our case the SHA of the commit) @done
Misc:
- link from commit column on source view to display revision history
- switch from :text to :longtext for the sha_array @done