Commit Briefs
fix vc-got-dir-status-files
after the last change to vc-got--status it wouldn't return 'up-to-date.
vc-got--status: handle stage info and filter result
Changed how vc-got--status works: before it returned a string representing the output of "got status", now a data structure. Elisp is better (and more efficient) at managing buffers instead. Additionally, now it parses also the stage information and has a flag to list only file with certain status flag (i.e. only conflicted files, only added files, ...)
don't hardcode got questions
match and relay them to the user
fundamentals for staging changes
This is an initial implementation for the stage/unstage functionalities. They operate at a smaller scope than filesets, the work with individual hunks. An interactive stage hunks and a unstage-all are implemented.
vc-got-repository-url: avoid infinite loops in parsing
add a missing forward-line and make sure we don't try to go past the end of the file (another thing that may cause an infinite loop).
fix vc-got-repository-url for checkout of non-bare repos
before I assumed got could checkout only from bare repos, but it turns out this isn't the case. This fixes it, making vc-got-repository-url more robust. It first try to use .git/config if it exists, if it doesn't but there is a .git directory, don't do anything; finally try to parse config (assuming this is a bare repo).
drop vc-got-unregister, not used
there doesn't seem a need for vc-got-unregister so drop it for now. I Originally thought this was needed to unregister added files but that is accomplished by revert.