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.
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.
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.
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.
Guilt uses the same internal directory for keeping state as stgit, but
it doesn't use the same files (not surprisingly). This caused error
messages due to missing files.
This fixes that by making the "stgit-active?" test stricter.
Reported-by: Axel Beckert <abe@debian.org>
Here's a diff-stat:
Doc/Zsh/contrib.yo | 506 ++++++++++++++-------
Functions/VCS_Info/.distfiles | 1 +
Functions/VCS_Info/Backends/VCS_INFO_detect_hg | 14 +-
Functions/VCS_Info/Backends/VCS_INFO_get_data_git | 35 +-
Functions/VCS_Info/Backends/VCS_INFO_get_data_hg | 295 +++++++++----
Functions/VCS_Info/VCS_INFO_formats | 26 +-
Functions/VCS_Info/VCS_INFO_hook | 10 +-
Functions/VCS_Info/VCS_INFO_quilt | 190 ++++++++
Functions/VCS_Info/vcs_info | 30 +-
Misc/.distfiles | 1 +
Misc/vcs_info-examples | 496 ++++++++++++++++++++
11 files changed, 1303 insertions(+), 301 deletions(-)
The major changes are vast improvements for the mercurial (hg) backend
(which was done almost entirely by Seth); improved documentation (mostly
done by Simon and again Seth); quilt support (as an addon and stand
alone, see the manual for details); a number of new hooks and a fair
share of bugfixes.