summaryrefslogtreecommitdiff
path: root/Functions/VCS_Info/Backends
AgeCommit message (Collapse)AuthorFilesLines
2018-12-1343879: vcs_info git: Fix fatal error in VCS_INFO_git_getbranch in corner caseDaniel Shahaf1-4/+6
Before this commit, the following use-case: git checkout foo^ git show foo | git am would result in a fatal error, with vcs_info_msg_N_ not set: VCS_INFO_git_getbranch:18: no such file or directory: .git/rebase-apply/onto Now they are set correctly, and HEAD's commit hash is used.
2018-10-0843620 (tweaked): vcs_info git: Reverse the order patches are passed to ↵Daniel Shahaf1-1/+2
gen-unapplied-string in. This is an incompatible change; see README for details. Tweaks (relative to posted version): tweaked README, removed scalpel (debug print).
2018-10-0843617: vcs_info git: During a non-interactive rebase of a detached head, ↵Daniel Shahaf1-1/+1
computer the %b expando correctly. Before this commit, the value of %b was the hash of the commit from the "source" side of the rebase, from .git/rebase-apply/orig-head and .git/rebase-apply/original-commit. This broke the invariant that %b expands to a git-rev-parse(1) expression resolving to what %r expands to. Use .git/rebase-apply/onto instead as, empirically, it contains the correct value.
2018-10-0843619: vcs_info git: In non-interactive rebases, always set ↵Daniel Shahaf1-10/+3
$hook_com[git_patches_applied] to a string of the form 'foo bar', never just 'foo'.
2018-10-0843618: vcs_info: Don't redefine helper functions on every execution of the ↵Daniel Shahaf3-0/+8
autoloadable outer function. This allows enabling tracing of the helper functions without fned'ing the outer function.
2018-10-0743587: vcs_info git: In 'git rebase -i', when computing subjects of ↵Daniel Shahaf1-0/+19
applied-patches, handle an edge case where the subject is not available.
2018-10-0743588: vcs_info git: Make sure applied-patches is of the form "$hash ↵Daniel Shahaf1-0/+5
$subject" --- that is, has a space and a non-empty second argument --- even with future 'git rebase -i' verbs. Use of '?' is consistent with these precedents: Backends/VCS_INFO_get_data_git:220: printf -v "git_patches_applied[$p]" "%04d ?" "$p" Backends/VCS_INFO_get_data_git:242: git_patches_applied+=("? $subject") Backends/VCS_INFO_get_data_git:244: git_patches_applied+=("?") VCS_INFO_quilt:160: applied[$i]+=" ?" VCS_INFO_quilt:168: unapplied[$i]+=" ?"
2018-10-0743586: vcs_info git: Reformat to minimise next diff. No functional change.Daniel Shahaf1-2/+13
2018-10-0743585: vcs_info svn: Recognize working copies in need of an upgrade.Daniel Shahaf1-1/+10
2018-10-02unposted: Indicate which use-case each branch handles.Daniel Shahaf1-1/+3
2018-08-2443313 (log message tweaked): vcs_info git: For the branch name, try to find ↵Daniel Shahaf1-0/+4
a symbolic name before falling back to a raw commit hash. Ask git-describe(1) and git-name-rev(1) to compute a gitrevisions(7) name in terms of a branch or tag that contains (= is a descendant of, is younger than) HEAD. In this repository, the output changes from "9567bfe..." to "master~1" or "remotes/origin/HEAD~1". This would also happen during bisects, e.g., "bisect/bad~22".
2018-08-2443314: vcs_info git: Flatten a nested if.Daniel Shahaf1-9/+4
No functional change.
2018-06-1643030: Replace VCS_INFO_realpath() by :Pdana4-4/+4
2017-10-2541952: Use HGPLAIN instead of HGRCPATH in VCS_INFO_get_data_hgAlexey Sokolov1-2/+2
Fixes prompt indicator in case if the repository requires a non-default feature. With HGRCPATH, it results in: abort: repository requires features unknown to this Mercurial: ... (see https://mercurial-scm.org/wiki/MissingRequirement for more information) Which, in turn, results in "default" getting reported regardless of what is the current state of the repo.
2017-02-21Julien Nicoulaud: 40586: discard stderrBarton E. Schaefer1-1/+1
2017-02-0940492: vcs_info: Escape '%' signs in payloads.Daniel Shahaf1-0/+1
Test case: a patch whose subject is '%Sfoo%sbar'. ('S' and 's' are expandos both in prompts and in the 'formats' style.)
2017-02-04unposted: vcs_info git: Fix typo in manual.Daniel Shahaf1-0/+1
2017-02-0340480: vcs_info set-patch-format: Eliminate the remaining code duplication.Daniel Shahaf2-21/+5
2017-02-0340479: vcs_info set-patch-format: Prepare for more code sharing between the ↵Daniel Shahaf2-5/+7
callers. This changes hook invocation order in the hg backend.
2017-02-0340481: vcs_info hg: Pass arguments to the set-patch-format hook.Daniel Shahaf1-1/+1
2017-01-2540403/0004: vcs_info set-patch-format helper: Part #4.Daniel Shahaf2-13/+6
This also fixes the %a (${hook_com[all-n]}) expando in the hg backend: before this change, it counted only unapplied changes.
2017-01-2540403/0003: vcs_info set-patch-format helper: Part #3.Daniel Shahaf2-15/+4
2017-01-2540403/0002: vcs_info set-patch-format helper: Part #2.Daniel Shahaf2-15/+4
Not all callers reset ${hook_com}, but those that don't, immediately overwrite it a few lines later.
2017-01-2540403/0001: vcs_info set-patch-format helper: Part #1.Daniel Shahaf2-18/+2
2017-01-2540401: vcs_info git: Fix the %c patch-format expando.Daniel Shahaf1-3/+3
Before this change, ${git_unapplied_s} was unused and the %c (${hook_com[unapplied]}) expando evaluated to the number of digits in the string returned by the gen-unapplied-string hook (or to the number of digits in the number of unapplied patches, when there was no such hook).
2016-12-1640149: vcs_info git: Avoid a fork.Daniel Shahaf1-1/+1
2016-12-04unposted: vcs_info git: Handle rebase-apply sequences with >=10000 patches.Daniel Shahaf1-3/+6
Review-by: Frank Terbeck
2016-12-0440074: vcs_info git: rfc822-unfold rebase-apply patch subjects when ↵Daniel Shahaf1-8/+7
msg-clean is unavailable. Example (in this repository): git -c merge.merge-changelog.driver=/bin/false rebase --onto=1955cce^^ 1955cce^ 1955cce
2016-12-03Get subject of current patch in rebase-apply modeDaniel Hahler1-0/+9
2016-10-3139786: vcs_info (hg): Use native hexdump implementation instead of external ↵Daniel Shahaf1-3/+4
command. Fixes issue whereby the external command would print "*" for repeated octets. Includes comment change, cf 39790.
2016-09-2439423: vcs_info git: Produce nicer applied-string messages for 'exec' actions.Daniel Shahaf1-2/+6
This changes the behaviour on "unknown" git-rebase actions (those other than pick/reword/edit/fixup/squash/execute).
2016-01-15unposted: Fix typo in comment.Daniel Shahaf1-2/+2
2016-01-1537612: vcs_info git: Set $git_patches_unapplied correctly for 'rebase-apply' ↵Daniel Shahaf1-1/+3
case. This manifested, e.g., in 'git am' of a single patch that had a conflict.
2015-11-3037252: vcs_info git: Compute %b correctly with "rebase --onto" of detached ↵Daniel Shahaf1-1/+2
heads. (Follow-up to 36725.)
2015-11-1337025: vcs_info git: Add a cherry-pick patch-formatDaniel Shahaf1-0/+22
2015-10-1136832: vcs_info: Remove dependency on "seq"Frank Terbeck1-2/+3
The "seq" utility is usually available on GNU systems only. This exchanges calls to seq with pure zsh features. Also: Less forks are good.
2015-10-1136830: vcs_info: Silence an error message with new git versionsFrank Terbeck1-12/+22
Mikael informs me on IRC, that in new versions of git (he used 2.6.1) where the "am" subcommand is now a builtin, a file that is used by the git backend of vcs_info (namely .git/rebase-apply/msg-clean) is not available anymore, leading to an annoying error message: VCS_INFO_get_data_git:232: no such file or directory: .git/rebase-apply/msg-clean This patch checks for the availabiliy of the file before using it, and adjusts the value of the dependant values accordingly.
2015-09-3036725: vcs_info git: Compute %b correctly when "git am"-ing onto detached heads.Daniel Shahaf1-0/+1
Before this patch, $gitbranch would be set to empty, which caused VCS_INFO_get_data_git to early out with a failure status¹, consequently $vcs_info_msg_0_ would be empty. ¹ via the 'if [[ -z ]]' block around line 170.
2015-09-3036725: vcs_info git: Compute %b correctly when rebasing detached heads.Daniel Shahaf1-0/+4
This sets the %b expando to the hash of the before-the-merge HEAD, rather than to the literal string "detached HEAD". That hash is already available via the gen-applied-string hook.
2015-09-3036725: vcs_info git: Compute %b correctly when merging to detached heads.Daniel Shahaf1-1/+1
The %b expando should be the hash prior to the merge. The hash of the merge result is available as the %i expando and via the gen-applied-string hook.
2015-09-2836601: vcs_info: handle missing .git/rebase-apply/{next,msg-clean}Daniel Hahler1-11/+14
When pressing Ctrl-C after `git am`, only `last` exists in `.git/rebase-apply/`, which is empty. This patch fixes it to fall back to "no patch applied" then.
2015-09-0536410: vcs_info git: Present merge heads as patchesDaniel Shahaf1-0/+17
This shows, during 'git merge', the revision hashes of the "remote" head (the one that will become second parent of the commit) in the %m expando. Review-by: Frank Terbeck
2015-08-1836209: vcs_info: avoid grep error message when file is missingbrian m. carlson1-1/+3
When running git rebase -m and a conflict occurs, the git-rebase-todo file is not present. This leads to an error from grep every time the shell prompt is printed when vcs_info is enabled. Avoid this message by checking if the file exists before trying to grep it.
2015-08-1236077: vcs_info: stop exporting everythingMikael Magnusson5-5/+5
2015-03-0934673: vcs_info git: Fix error message when rebase hasn't startedDaniel Shahaf1-0/+1
2015-01-25vcs_info hg: Support inactive bookmarksDaniel Shahaf1-0/+17
(Similar to git detached heads)
2014-10-0933391: vcs_info git: fix applied patch detection on git amMarc Finet1-10/+7
git-am also uses .git/rebase-apply for patch list but the file original-commit does not exist (as no commit exist). This patch handles both git rebase and git am. Also: - get the first line (rather than the first char) when the message contains only one line; - remove unused function (ironically that should have been used here).
2014-09-2233217: vcs_info: use `--ignore-submodules=dirty` with diff/diff-indexDaniel Hahler1-3/+3
This will detect changes to submodules from the superproject's perspective, e.g. after `git rm submodule`. >From GIT-DIFF-INDEX(1)/GIT-DIFF(1): Using "dirty" ignores all changes to the work tree of submodules, only changes to the commits stored in the superproject are shown (this was the behavior until 1.7.0).
2014-09-1633184: vcs_info git: consider patches for rebaseMarc Finet1-42/+74
Since a rebase contains a list of patches to re-apply, re-use the facility for stgit to have the same mechanism. The patch list given to the gen-{un,}applied-string hooks is an array with the sha1 and the subject of the commit. On rebase merge, the applied patches prior to current contains only a number and "?".
2014-09-1633188: vcs_info git: set rrn before using itMarc Finet1-2/+2
This would fix handling get-revision, check-for-changes or check-for-staged-changes when set per repository.