Commits


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.


typo


vc-got-dir-status-files: show changes in subdirs


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.


update status list a bit


remove extra parens from vc-got-unregister and fix pcase matchall


provide unregister and delete-file commands (#7) * provide unregister and delete-file commands * re-order functions * avoid error 'vc-dir is read-only' on file deletion * use temp buffer around got rm call, we don't need the output


print more info in vc-got-dir-extra-headers added repository path and remote url to vc-got-dir-extra-headers


implement repository-url


implement conflicted-files


vc-got--call flatten and filter arg list it's handy to pass to vc-got--call lists like '("-l" 2) or nil values (maybe from (when reverse "-R")). This moves some filtering logic from vc-got--log to vc-got--call.


add vc-got-annotate (#4) * add vc-got-annotate-{command,time,extract-revision-at-line} this makes vc-annotate command basic functionality working, needs next/prev-revision support to see diffs. * add vc-got-{previous,next}-revision defuns roughy working but might need a bit more testing. * add vc-got-annotate-re helper * use vc-got--log in prev/next-revision functions no need to reinvent the wheel, use the existing vc-got--log to get the log info. * fix vc-got-previous-revision vc-got--log leaves point at the end of buffer so move point to the beginning before running keep-lines so it has chance at working. * fixes for vc-got-next-revision set rstart/end to keep-lines so it works on whole buffer and don't use previous-line as its not intended for elisp code. Also fix the first match regexp to allow branch names after commit sha-1 values. * prefer with-current-buffer * require vc-annotate * rename vc-got-annotate-re to vc-got--annotate-re this is for internal use so name it so. While here add doc string for it. * Make annotation buffers parent managed by got vc-ensure-vc-buffer won't recognise this buffer as managed by got unless vc-parent-buffer points to a buffer managed by got. * refactor vc-got-next-revision no need for extensive checks in function, got command won't return successfully unless it finds the wanted revision so are certain the rev is found, we only need to check if it has a parent. while here, replace the multiple commit regexp with internal vc-got--commit-re.


fix vc-got-dir-status-files now it works correctly even when an untracked files gets deleted.