| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This also fixes the %a (${hook_com[all-n]}) expando in the hg backend:
before this change, it counted only unapplied changes.
|
| |
|
|
|
|
|
| |
Not all callers reset ${hook_com}, but those that don't, immediately
overwrite it a few lines later.
|
| |
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
|
|
|
| |
Review-by: Frank Terbeck
|
|
|
|
|
|
|
|
| |
msg-clean is unavailable.
Example (in this repository):
git -c merge.merge-changelog.driver=/bin/false rebase --onto=1955cce^^ 1955cce^ 1955cce
|
| |
|
|
|
|
|
|
| |
VCS_INFO_patch2subject
... so other places can use it; compare 40030 in the 39990 thread.
|
|
|
|
|
|
|
|
|
| |
command.
Fixes issue whereby the external command would print "*" for repeated
octets.
Includes comment change, cf 39790.
|
|
|
|
|
| |
This changes the behaviour on "unknown" git-rebase actions (those other
than pick/reword/edit/fixup/squash/execute).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
case.
This manifested, e.g., in 'git am' of a single patch that had a conflict.
|
|
|
|
|
|
| |
The parameter *is* being declared with the redefinition of the
function, but not in its initial form, which gets you a warning
about the parameter being defined globally. This fixes it.
|
|
|
|
|
| |
With setopt no_unset in my config file, vcs_info fails with:
VCS_INFO_maxexports:7: vcs: parameter not set
|
| |
|
|
|
|
| |
heads. (Follow-up to 36725.)
|
| |
|
| |
|
|
|
|
| |
The format used is '${patchname} ${subject}', which is analogous to the git backend.
|
|
|
|
|
| |
Without this, gen-applied-string would only be set when .pc is a child of cwd,
not when it is a child of an ancestor of cwd.
|
|
|
|
|
|
|
|
|
|
|
| |
This is related to 33405. Turns out that not all other calls to
VCS_INFO_set are okay: With recent zsh versions the early call to that
function with the '-preinit-' argument causes a warning like this:
VCS_INFO_set:9: math parameter maxexports created globally
in function VCS_INFO_set
This fixes it.
|
|
|
|
|
|
| |
The "seq" utility is usually available on GNU systems only. This
exchanges calls to seq with pure zsh features. Also: Less forks are
good.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
(Similar to git detached heads)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When patches are applied, let quilt use .pc without forcing the
patch directory, this will fix the unapplied detection when being in
subdir.
When no patches are applied, use zstyle quilt-patch-dir then
QUILT_PATCHES then "patches" for path to search for patches.
Note: prefer setting quilt-patch-dir rather than QUILT_PATCHES for
absolute path because when patches are applied, quilt unapplied will
not return the correct list (i.e. the whole list rather that the one
specified by .pc/.quilt_series).
|
|
|
|
| |
Reported-by: From: Marco Hinz <mh.codebro@gmail.com>
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
Reported-by: Marco Hinz <mh.codebro@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
| |
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 "?".
|
|
|
|
|
| |
This would fix handling get-revision, check-for-changes or
check-for-staged-changes when set per repository.
|
|
|
|
|
| |
Documentation and hg backend use applied-string. patch-string does not
appear anywhere.
|
|
|
|
|
|
| |
Since VCS_INFO_bydir_detect always uses the
vcs_comm[detect_need_file], it should be cleared when querying
it without file.
|
|
|
|
|
| |
When revert or cherry-pick involve many commits the .git/sequencer
directory holds context for the action and no CHERRY_PICK_HEAD exist.
|
| |
|
|
|
|
|
|
| |
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.
|