1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-08 09:41:14 +02:00
Commit graph

87 commits

Author SHA1 Message Date
Daniel Shahaf
abc94e8f6a 43585: vcs_info svn: Recognize working copies in need of an upgrade. 2018-10-07 15:05:13 +00:00
Daniel Shahaf
f9952301b2 unposted: Indicate which use-case each branch handles. 2018-10-02 15:22:06 +00:00
Daniel Shahaf
40d9681b62 43313 (log message tweaked): vcs_info git: For the branch name, try to find 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-24 15:50:18 +00:00
Daniel Shahaf
4cfbbf9ca5 43314: vcs_info git: Flatten a nested if.
No functional change.
2018-08-24 15:49:38 +00:00
dana
faa07d064b 43030: Replace VCS_INFO_realpath() by :P 2018-06-16 12:03:23 -05:00
Alexey Sokolov
1a5d8a6916 41952: Use HGPLAIN instead of HGRCPATH in VCS_INFO_get_data_hg
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-10-25 10:34:34 +02:00
Barton E. Schaefer
1b0541c52f Julien Nicoulaud: 40586: discard stderr 2017-02-21 20:45:18 -08:00
Daniel Shahaf
ecd88284f3 40492: vcs_info: Escape '%' signs in payloads.
Test case: a patch whose subject is '%Sfoo%sbar'.  ('S' and 's' are
expandos both in prompts and in the 'formats' style.)
2017-02-09 15:24:04 +00:00
Daniel Shahaf
bb6c08b51a unposted: vcs_info git: Fix typo in manual. 2017-02-04 05:55:46 +00:00
Daniel Shahaf
33c0a10448 40480: vcs_info set-patch-format: Eliminate the remaining code duplication. 2017-02-03 18:14:01 +00:00
Daniel Shahaf
9211d7f277 40479: vcs_info set-patch-format: Prepare for more code sharing between the callers.
This changes hook invocation order in the hg backend.
2017-02-03 18:14:00 +00:00
Daniel Shahaf
fca4f90bba 40481: vcs_info hg: Pass arguments to the set-patch-format hook. 2017-02-03 18:13:59 +00:00
Daniel Shahaf
2854a67e09 40403/0004: vcs_info set-patch-format helper: Part #4.
This also fixes the %a (${hook_com[all-n]}) expando in the hg backend:
before this change, it counted only unapplied changes.
2017-01-25 04:22:32 +00:00
Daniel Shahaf
edd9798de7 40403/0003: vcs_info set-patch-format helper: Part #3. 2017-01-25 04:22:32 +00:00
Daniel Shahaf
2702857334 40403/0002: vcs_info set-patch-format helper: Part #2.
Not all callers reset ${hook_com}, but those that don't, immediately
overwrite it a few lines later.
2017-01-25 04:22:31 +00:00
Daniel Shahaf
0ea1957608 40403/0001: vcs_info set-patch-format helper: Part #1. 2017-01-25 04:22:30 +00:00
Daniel Shahaf
57013f8b96 40401: vcs_info git: Fix the %c patch-format expando.
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).
2017-01-25 04:22:30 +00:00
Daniel Shahaf
816084c0ac 40149: vcs_info git: Avoid a fork. 2016-12-16 10:48:10 +00:00
Daniel Shahaf
f71de84f1d unposted: vcs_info git: Handle rebase-apply sequences with >=10000 patches.
Review-by: Frank Terbeck
2016-12-04 21:37:02 +00:00
Daniel Shahaf
d9237ccdbf 40074: vcs_info git: rfc822-unfold rebase-apply patch subjects when msg-clean is unavailable.
Example (in this repository):

    git -c merge.merge-changelog.driver=/bin/false rebase --onto=1955cce^^  1955cce^ 1955cce
2016-12-04 21:37:01 +00:00
Daniel Hahler
ccf50048ac Get subject of current patch in rebase-apply mode 2016-12-03 00:18:22 +01:00
Daniel Shahaf
74aa45910b 39786: vcs_info (hg): Use native hexdump implementation instead of external command.
Fixes issue whereby the external command would print "*" for repeated
octets.

Includes comment change, cf 39790.
2016-10-31 18:35:47 +00:00
Daniel Shahaf
889f6690fd 39423: vcs_info git: Produce nicer applied-string messages for 'exec' actions.
This changes the behaviour on "unknown" git-rebase actions (those other
than pick/reword/edit/fixup/squash/execute).
2016-09-24 07:22:15 +00:00
Daniel Shahaf
a45a9fa104 unposted: Fix typo in comment. 2016-01-15 06:30:06 +00:00
Daniel Shahaf
ce1148db45 37612: vcs_info git: Set $git_patches_unapplied correctly for 'rebase-apply' case.
This manifested, e.g., in 'git am' of a single patch that had a conflict.
2016-01-15 06:29:09 +00:00
Daniel Shahaf
502d55c014 37252: vcs_info git: Compute %b correctly with "rebase --onto" of detached heads. (Follow-up to 36725.) 2015-11-30 03:42:47 +00:00
Daniel Shahaf
f59864ce7a 37025: vcs_info git: Add a cherry-pick patch-format 2015-11-13 20:17:27 +00:00
Frank Terbeck
e245dd7193 36832: vcs_info: Remove dependency on "seq"
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-11 12:54:30 +02:00
Frank Terbeck
7a1678767f 36830: vcs_info: Silence an error message with new git versions
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-10-11 12:29:41 +02:00
Daniel Shahaf
a90cf551ef 36725: vcs_info git: Compute %b correctly when "git am"-ing onto detached heads.
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-30 21:43:37 +00:00
Daniel Shahaf
cd1cda9d57 36725: vcs_info git: Compute %b correctly when rebasing detached heads.
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-30 21:43:37 +00:00
Daniel Shahaf
7ac34a3055 36725: vcs_info git: Compute %b correctly when merging to detached heads.
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-30 21:43:37 +00:00
Daniel Hahler
45bdc87a1f 36601: vcs_info: handle missing .git/rebase-apply/{next,msg-clean}
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-28 20:03:12 +02:00
Daniel Shahaf
880579dc1e 36410: vcs_info git: Present merge heads as patches
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-09-05 10:47:44 +00:00
brian m. carlson
9a369d39e1 36209: vcs_info: avoid grep error message when file is missing
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-18 01:00:25 +02:00
Mikael Magnusson
c5abf2bcff 36077: vcs_info: stop exporting everything 2015-08-12 04:31:22 +02:00
Daniel Shahaf
57be7b743f 34673: vcs_info git: Fix error message when rebase hasn't started 2015-03-09 20:03:37 +00:00
Daniel Shahaf
9d25fd7255 vcs_info hg: Support inactive bookmarks
(Similar to git detached heads)
2015-01-25 01:42:05 +01:00
Marc Finet
0f73b35f4e 33391: vcs_info git: fix applied patch detection on git am
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-10-09 18:11:08 +02:00
Daniel Hahler
64e2b4426e 33217: vcs_info: use --ignore-submodules=dirty with diff/diff-index
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-22 23:23:03 +02:00
Marc Finet
9c29a4f1f6 33184: vcs_info git: consider patches for rebase
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-16 23:20:55 +02:00
Marc Finet
2c2d4f9627 33188: vcs_info git: set rrn before using it
This would fix handling get-revision, check-for-changes or
check-for-staged-changes when set per repository.
2014-09-16 23:20:52 +02:00
Marc Finet
d5f574e20a 33145: vcs_info git: fix applied-string name
Documentation and hg backend use applied-string. patch-string does not
appear anywhere.
2014-09-14 12:02:37 +02:00
Marc Finet
5e40996891 33147: vcs_info git: detect revert or cherry-pick with multiple commits
When revert or cherry-pick involve many commits the .git/sequencer
directory holds context for the action and no CHERRY_PICK_HEAD exist.
2014-09-14 12:02:36 +02:00
Peter Stephenson
cc6e9db29d 33047: use git to simplify massively source distribution file selection 2014-08-23 21:01:58 +01:00
Daniel Shahaf
b85b09b78b 32662: vcs_info git: Fix stagedstr for empty repos
In empty repositories, HEAD is an unresolvable symbolic ref.  Start computing
stagedstr/unstagedstr in that case; for the former, use a different method
than the non-empty-repository case.
2014-06-02 15:17:04 +02:00
Daniel Shahaf
55d5feed30 32621: vcs_info svn: 'Fix set-branch-format' when in subdirs
The previous code would fail to detect the wcroot with Subversion 1.7+
when cwd is at least two levels below the root (i.e., ../../.svn exists
and ../.svn doesn't), and would then pass to the hook the revision and
basename of cwd rather than of the wcroot.
2014-05-29 16:50:07 +02:00
Daniel Shahaf
bb271217fe 32619: vcs_info svn: Use the revision of cwd
Previously, the value of the wc root would be used.  In Subversion,
it makes more sense to use the revision of cwd, since all commands
(e.g., 'svn ci', 'svnversion') operate only on cwd and below, not on
wcroot and below.
2014-05-29 16:50:07 +02:00
Daniel Shahaf
6a201af341 32597: vcs_info git: Describe detached heads symbolically.
This makes %b expand to a refname rather than a sha1 when HEAD is detached but
happens to match some ref (branch, tag, etc).  The resulting output will
typically contain a slash (e.g., "tags/v1.0.2", "heads/mybranch"), which helps
distinguish it from the output in the "HEAD is a symbolic ref" case.
2014-05-06 14:22:10 +02:00
Daniel Shahaf
eb4c70d0b7 32528: vcs_info: Add check-for-staged-changes 2014-04-05 10:56:52 +02:00