<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zsh/Functions/VCS_Info, branch master</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/zsh/atom/Functions/VCS_Info?h=master</id>
<link rel='self' href='http://git.sudomsg.com/mirror/zsh/atom/Functions/VCS_Info?h=master'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/'/>
<updated>2022-12-09T01:39:32Z</updated>
<entry>
<title>51144, 51146: vcs_info git: stg: Extract patch descriptions</title>
<updated>2022-12-09T01:39:32Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-12-09T01:39:21Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=510df60dd1f90f99026ac17e341df2313e064509'/>
<id>urn:sha1:510df60dd1f90f99026ac17e341df2313e064509</id>
<content type='text'>
Joint work with Peter Grayson.
</content>
</entry>
<entry>
<title>51142: vcs_info git: Check the get-unapplied style as documented</title>
<updated>2022-12-08T22:09:59Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-12-08T21:59:25Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7cdada166cd9a05103a838d18e9be9811f68bc1d'/>
<id>urn:sha1:7cdada166cd9a05103a838d18e9be9811f68bc1d</id>
<content type='text'>
The style was treated as "always true" rather than as "settable, false
by default" in the rebase-merge and cherry-pick cases.  This affects the
gen-unapplied-string hook, and may also affect gen-applied-string and
set-patch-format hooks if they accessed VCS_INFO_get_data_git's internal
parameters directly.

If this affects you, just set the style in your zshrc:
.
    zstyle ':vcs_info:git*:*:*' get-unapplied true
</content>
</entry>
<entry>
<title>51138: Updated StGit patch detection in vcs_info</title>
<updated>2022-12-08T21:27:35Z</updated>
<author>
<name>Peter Grayson</name>
<email>pete@jpgrayson.net</email>
</author>
<published>2022-12-08T14:52:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ca7c42e1ee1706f39bbeb163ef323c819aee8357'/>
<id>urn:sha1:ca7c42e1ee1706f39bbeb163ef323c819aee8357</id>
<content type='text'>
The vcs_info patch detection code attempted to interrogate StGit patch
stack state by inspecting .git/patches/applied and
.git/patches/unapplied.

As of StGit 0.15 (2009), patch stack metadata is captured in the repo's
object database. And as of StGit 1.0 (2021), no stack or patch state is
maintained in any files in the .git/ directory.

Zsh's approach for interrogating StGit patch state is thus obsoleted.

This patch updates vcs_info to determine whether StGit is initialized on a
branch by looking at the appropriate git refs and uses StGit's prescribed
interface for interrogating applied and unapplied patch state via the `stg
series` command. This approach will work with all versions of StGit &gt;=0.15.

Signed-off-by: Peter Grayson &lt;pete@jpgrayson.net&gt;
</content>
</entry>
<entry>
<title>49728: vcs_info hg mq: Don't include applied patches in the unapplied patches</title>
<updated>2022-02-20T10:16:54Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-29T16:15:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=421f5d7f67976e369ef8613c455d8232e2326f3a'/>
<id>urn:sha1:421f5d7f67976e369ef8613c455d8232e2326f3a</id>
<content type='text'>
For instance, with 4 applied patches, 5 unapplied patches, and no guards
involved, the patch-format style would indicate 9 (= 4+5) unapplied patches
and 4 applied patches.
</content>
</entry>
<entry>
<title>49727 (+ comment): vcs_info quilt: Pass the patches dir path to the gen-applied-string, gen-unapplied-string, and set-patch-format hooks</title>
<updated>2022-02-20T10:16:33Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-29T16:15:25Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=80389df48067bab3711ad1604bc9554d08fb9994'/>
<id>urn:sha1:80389df48067bab3711ad1604bc9554d08fb9994</id>
<content type='text'>
I use that in my gen-applied-string hook.
</content>
</entry>
<entry>
<title>unposted: vcs_info hg mg (with get-unapplied set): Stop leaking a variable to global scope</title>
<updated>2022-02-20T10:12:56Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-02-20T09:45:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b8b7d9b46ac54c4494ec74b2b7ca4c06861eb75d'/>
<id>urn:sha1:b8b7d9b46ac54c4494ec74b2b7ca4c06861eb75d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>security/82: VCS_Info: Fix typo in hook_com[base-name_orig] assignment</title>
<updated>2022-02-12T16:29:55Z</updated>
<author>
<name>Marc Cornellà</name>
<email>hello@mcornella.com</email>
</author>
<published>2022-01-17T21:58:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2b66ed35b014b3d93f37a67951c2bd00916c9370'/>
<id>urn:sha1:2b66ed35b014b3d93f37a67951c2bd00916c9370</id>
<content type='text'>
Tweaked per discussion in security/90, security/91

(cherry picked from commit b34d33e3b3c5ae30e8315111f07634c1e7507531)
</content>
</entry>
<entry>
<title>unposted: vcs_info git: Teach the rebase-apply test case generator to also generate rebase-merge test cases</title>
<updated>2022-01-29T16:01:39Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-29T13:10:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=75c3664a62010dfae620d77930f8ea5aae78b602'/>
<id>urn:sha1:75c3664a62010dfae620d77930f8ea5aae78b602</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: vcs_info git: Add a missing guard against redefining a function.</title>
<updated>2022-01-29T16:01:39Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-29T13:06:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=10ee9e5bd74367dcbf598f27d54ceab43ca68374'/>
<id>urn:sha1:10ee9e5bd74367dcbf598f27d54ceab43ca68374</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: vcs_info git: Deconfuse $EDITOR</title>
<updated>2022-01-29T16:01:39Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-29T12:47:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=42f1e99f816d7b8d2376caea69d0acd85ee729a4'/>
<id>urn:sha1:42f1e99f816d7b8d2376caea69d0acd85ee729a4</id>
<content type='text'>
Work around &lt;https://github.com/chrisbra/vim-zsh/issues/39&gt;.
</content>
</entry>
<entry>
<title>unposted: vcs_info: Add Vim modelines</title>
<updated>2022-01-29T16:01:39Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-29T11:08:21Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c055c6464de20da13a6c805f017543f94b6e0ca9'/>
<id>urn:sha1:c055c6464de20da13a6c805f017543f94b6e0ca9</id>
<content type='text'>
... for consistency with all other vcs_info function files.
</content>
</entry>
<entry>
<title>49723: vcs_info quilt: Use quilt-patch-dir and ${QUILT_PATCHES} even when get-unapplied hasn't been set</title>
<updated>2022-01-29T11:04:44Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-27T17:58:14Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ee5e3d0c9d07ce3297959b89f96238dbff9b6400'/>
<id>urn:sha1:ee5e3d0c9d07ce3297959b89f96238dbff9b6400</id>
<content type='text'>
This affects the post-quilt hook.  Before this patch, if no patches have
been applied and get-unapplied hasn't been set, the second argument to
that hook would undergo null elision.

The generation of patch subjects for the gen-applied-string,
gen-unapplied-string, and set-patch-format hooks was unaffected since
it was guarded by [[ -n $patches ]].
</content>
</entry>
<entry>
<title>49722: vcs_info quilt: Refactor for readability. No functional change.</title>
<updated>2022-01-29T11:04:43Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-27T17:58:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e52062170a41dd2ba5a03aef22af0545cbc1d58c'/>
<id>urn:sha1:e52062170a41dd2ba5a03aef22af0545cbc1d58c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: vcs_info quilt: Remove a no-op variable assignment</title>
<updated>2022-01-27T17:34:57Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-27T16:41:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b99599b4f48325e104704eb8f077b81e938f50c7'/>
<id>urn:sha1:b99599b4f48325e104704eb8f077b81e938f50c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>49709: vcs_info hg: Keep $HGPLAIN set for hooks if it had been set outside vcs_info</title>
<updated>2022-01-25T10:11:58Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2022-01-25T08:23:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8460d75869fcddaaa2a6beed9b4d78c60a9fed19'/>
<id>urn:sha1:8460d75869fcddaaa2a6beed9b4d78c60a9fed19</id>
<content type='text'>
If someone does 'HGPLAIN=1 vcs_info', any vcs_info hooks should be called with
HGPLAIN set.  Declaring it 'local' broke that.
</content>
</entry>
<entry>
<title>users/26635 (tweaked): vcs_info hg: Compute the branch name correctly when get-revision is set and check-for-changes is not</title>
<updated>2021-04-21T00:57:59Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2021-04-07T21:48:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9353b12e99827b29b224e5860bcb94636558d01a'/>
<id>urn:sha1:9353b12e99827b29b224e5860bcb94636558d01a</id>
<content type='text'>
Tweak: Simplify an always-true condition.

Review-by: Manuel Jacob
</content>
</entry>
<entry>
<title>47561 (the git and cvs parts) (compare 44919 + 44920): vcs_info internals: cvs, git: Set ${vcs_comm[basedir]} like all other backends do.</title>
<updated>2021-03-29T17:03:40Z</updated>
<author>
<name>Aleksandr Mezin</name>
<email>mezin.alexander@gmail.com</email>
</author>
<published>2021-03-29T15:53:44Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=fc82e8193bad79db5de9e40ec99814fe401ad876'/>
<id>urn:sha1:fc82e8193bad79db5de9e40ec99814fe401ad876</id>
<content type='text'>
That doesn't affect anything, not even other vcs_info internals; it's
just for consistency across backends.
</content>
</entry>
<entry>
<title>47303: vcs_info hg: Fix changing the expansion of %g (hook_com[guards]) in the set-patch-format hook (regression from workers/40480).</title>
<updated>2020-08-09T08:07:01Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2020-08-08T07:29:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5448e1611d2cc4cb436fedfc3e7ff0f1ebfc766b'/>
<id>urn:sha1:5448e1611d2cc4cb436fedfc3e7ff0f1ebfc766b</id>
<content type='text'>
To reproduce, go to a hg repository with active mq guards and configure
vcs_info as follows:

    zstyle '*' get-unapplied true
    zstyle ':vcs_info:*set-patch-format*' hooks f
    zstyle '*' patch-format '[%g : %G]'
    zstyle '*' nopatch-format '[%g : %G]'
    zstyle '*' formats '%m'
    +vi-f () {
    	hook_com[guards]+=XXX
    }

The regression was first released in 5.3.1-test-2, over three years ago.
</content>
</entry>
<entry>
<title>46091: Add code to Mercurial VCS backend to show topic if there is any.</title>
<updated>2020-06-22T08:18:38Z</updated>
<author>
<name>Manuel Jacob</name>
<email>me@manueljacob.de</email>
</author>
<published>2020-06-21T22:22:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ae0129b49f9f1b624fb4b067f6f1ef6757a24fd2'/>
<id>urn:sha1:ae0129b49f9f1b624fb4b067f6f1ef6757a24fd2</id>
<content type='text'>
"Topics" is an experimental concept in Mercurial that augments the
current branching concept (called "named branches").

For more information, see the not always up-to-date Mercurial Wiki page
https://www.mercurial-scm.org/wiki/TopicPlan.
</content>
</entry>
<entry>
<title>45644: vcs_info git: Fix current patch's name in several cases.</title>
<updated>2020-03-28T22:12:33Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2020-03-28T03:40:52Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2f2aa360bc9a966f819474d349b79fd13191cb16'/>
<id>urn:sha1:2f2aa360bc9a966f819474d349b79fd13191cb16</id>
<content type='text'>
</content>
</entry>
<entry>
<title>45627: vcs_info git: Under git-am(1) conflicts, pass to the gen-applied-string hook information on already-applied patches.</title>
<updated>2020-03-27T01:14:42Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2020-03-26T02:43:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d13d6afb2e788fac8eefeff47e889a54498eea9a'/>
<id>urn:sha1:d13d6afb2e788fac8eefeff47e889a54498eea9a</id>
<content type='text'>
The hook already receives information about the current (topmost
applied) patch and, if the get-unapplied style is set, about future
(unapplied) patches.

Tested in the Functions/VCS_Info/test-repo-git-rebase-apply scenario,
after manually converting the rebase to a «git am».  (Specifically,
I ran:
    mkdir d
    git rebase --abort
    git format-patch rebase_from_this..HEAD -o d
    git checkout rebase_onto_this
    git am d/*
.)
</content>
</entry>
<entry>
<title>45625: vcs_info svn: Detect the "working copy format is too new" error.</title>
<updated>2020-03-27T01:14:42Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2020-03-26T01:32:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f207fb90d8a86c5968e1a3d702ea4cf778bd79d8'/>
<id>urn:sha1:f207fb90d8a86c5968e1a3d702ea4cf778bd79d8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>45626: vcs_info: Deduplicate calling the set-branch-format hook.</title>
<updated>2020-03-27T01:14:42Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2020-03-26T01:32:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cb87816b0f47367a763790adabcec1e331156ea2'/>
<id>urn:sha1:cb87816b0f47367a763790adabcec1e331156ea2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>45624: vcs_info: Set $rrn in all backends.</title>
<updated>2020-03-27T01:14:42Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2020-03-26T01:32:49Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b0d020408a935d2d1c317206e3eda43217d0d453'/>
<id>urn:sha1:b0d020408a935d2d1c317206e3eda43217d0d453</id>
<content type='text'>
</content>
</entry>
<entry>
<title>45541: internal: vcs_info git: Add a test case repository for rebase-apply situations</title>
<updated>2020-03-15T00:18:31Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2020-03-12T18:06:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e5765bfdc89f131d03051ba4963819fdfe252503'/>
<id>urn:sha1:e5765bfdc89f131d03051ba4963819fdfe252503</id>
<content type='text'>
</content>
</entry>
<entry>
<title>45539: vcs_info git: In non-interactive rebases, obtain applied patches' names.</title>
<updated>2020-03-15T00:18:30Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2020-03-12T18:06:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=4ce4483daf856aa7e9adfecea8e5ee7f87f0b22c'/>
<id>urn:sha1:4ce4483daf856aa7e9adfecea8e5ee7f87f0b22c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>45540: vcs_info git: In non-interactive rebases, compute patch names for unapplied patches.</title>
<updated>2020-03-15T00:18:28Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2020-03-12T18:06:21Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e1946bacf82653b4795793abe5ae095e3e65fea7'/>
<id>urn:sha1:e1946bacf82653b4795793abe5ae095e3e65fea7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>45543: vcs_info quilt: Allow quiltcommand to be a function.</title>
<updated>2020-03-15T00:18:27Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2020-03-12T18:15:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5a1f5cf8ab32e598d06c024620468657c137d5c3'/>
<id>urn:sha1:5a1f5cf8ab32e598d06c024620468657c137d5c3</id>
<content type='text'>
Before this commit, it could only be an external command.
</content>
</entry>
<entry>
<title>45547: vcs_info git: In interactive rebases, process gen-unapplied-string arguments like gen-applied-string arguments are processed.</title>
<updated>2020-03-15T00:18:25Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2020-03-12T18:48:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8e128afb2c655d759d013c98002ef92795a5cafa'/>
<id>urn:sha1:8e128afb2c655d759d013c98002ef92795a5cafa</id>
<content type='text'>
I consider this a bugfix, since it's unexpected for -applied and
-unapplied to differ about this.
</content>
</entry>
<entry>
<title>45546: vcs_info git: In interactive rebases, properly support the full form of the "exec" verb.</title>
<updated>2020-03-15T00:18:23Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2020-03-12T18:48:52Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c756545014c93448494ee4f1d841d8487601a324'/>
<id>urn:sha1:c756545014c93448494ee4f1d841d8487601a324</id>
<content type='text'>
The code before this commit happened to have done the right thing:
"exec" lines were handled by the catchall forward compatibility case,
which happened to have had virtually the same effect as the correct
case.  However, that was merely an accidental result.  This patch makes
the code do the right thing deliberately, rather than by accident.
</content>
</entry>
<entry>
<title>45545: vcs_info git: In interactive rebases, ignore comment lines.</title>
<updated>2020-03-15T00:18:21Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2020-03-12T18:48:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=af57462beb38159637eba7004363d867f41eff50'/>
<id>urn:sha1:af57462beb38159637eba7004363d867f41eff50</id>
<content type='text'>
</content>
</entry>
<entry>
<title>github #48/0002: vcs_info git: properly detect bare repositories</title>
<updated>2020-02-17T10:03:08Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2020-02-16T20:54:12Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=51260963703bbc91944434648ae71a05addbcb05'/>
<id>urn:sha1:51260963703bbc91944434648ae71a05addbcb05</id>
<content type='text'>
We currently detect Git repositories by finding the top level of the
working tree, and if we fail to detect it, assume that we're not in a
repository.  However, there's a case we don't consider: a bare
repository.

Let's detect if the user is in a bare repository by checking if gitdir
is set, and if so, using that if there is no working tree.  We now
detect bare Git repositories with vcs_info, as expected.
</content>
</entry>
<entry>
<title>github #48/0001: vcs_info git: avoid warnings in bare repositories</title>
<updated>2020-02-17T10:02:27Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2020-02-16T00:03:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=bacad965238158b9ae6ff438ba923725ec128020'/>
<id>urn:sha1:bacad965238158b9ae6ff438ba923725ec128020</id>
<content type='text'>
Git 2.25 introduced a change to how git rev-parse --show-toplevel
behaves.  Traditionally, it succeeded with no output if the user was
in a bare repository.  Now it dies, printing an error to standard error.
Consequently, when the user is in a bare repository with a newer Git,
vcs_info prints noisily to standard error.

While this is functionally harmless, it is annoying for the shell to
print messages from Git every time the prompt is printed, so let's
silence the error message.
</content>
</entry>
<entry>
<title>45114: vcs_info quilt: Improve support for svn-style patch headers.</title>
<updated>2019-12-22T03:21:03Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2019-12-21T15:58:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=86db36ab705ea8225807b00b24b0c7df4033cbc6'/>
<id>urn:sha1:86db36ab705ea8225807b00b24b0c7df4033cbc6</id>
<content type='text'>
Additional lines between the |-separated header line and the actual
log message, as generated by 'svn log -v' and 'svn log -g', are now
supported.

This change affects you if you have quilt patches with 'svn log'-style
information in their headers, regardless of whether you use quilt
standalone, quilt over svn, or quilt over some other VCS.
</content>
</entry>
<entry>
<title>44960: vcs_info cvs: Fix infinite loop when /CVS exists.</title>
<updated>2019-12-03T03:03:05Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2019-12-01T00:04:47Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=61262ae2821d375929bd418b6acc8d253bfb2faa'/>
<id>urn:sha1:61262ae2821d375929bd418b6acc8d253bfb2faa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>44961: vcs_info svn: Fix infinite loop when /.svn exists.</title>
<updated>2019-12-03T02:56:02Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2019-12-01T00:04:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9e771a0b203ad9cc953b42111da55207304cdc19'/>
<id>urn:sha1:9e771a0b203ad9cc953b42111da55207304cdc19</id>
<content type='text'>
</content>
</entry>
<entry>
<title>44962: vcs_info: Document internal function and variable</title>
<updated>2019-12-03T02:56:01Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>danielsh@apache.org</email>
</author>
<published>2019-12-01T00:04:46Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ce950dd4b4b56e39a5011c54179832ba2ed04e61'/>
<id>urn:sha1:ce950dd4b4b56e39a5011c54179832ba2ed04e61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>44958: vcs_info quilt: Avoid forks</title>
<updated>2019-11-29T20:57:01Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2019-11-29T20:52:00Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=98f8a8a980872f5d8f2a2a277e50a504d74a3f37'/>
<id>urn:sha1:98f8a8a980872f5d8f2a2a277e50a504d74a3f37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>44945: vcs_info git: Optimize detection by running fewer external commands.</title>
<updated>2019-11-29T20:56:42Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2019-11-28T22:02:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cc3983ee586dff16638bdcdea40c784a54026571'/>
<id>urn:sha1:cc3983ee586dff16638bdcdea40c784a54026571</id>
<content type='text'>
</content>
</entry>
<entry>
<title>44020: VCS_INFO_detect_p4: Fix infinite recursion</title>
<updated>2019-01-27T06:26:31Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2019-01-27T06:26:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b70919e0d9dadc93893e9d18bc3ef13b88756ecf'/>
<id>urn:sha1:b70919e0d9dadc93893e9d18bc3ef13b88756ecf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>43879: vcs_info git: Fix fatal error in VCS_INFO_git_getbranch in corner case</title>
<updated>2018-12-13T15:28:00Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-12-09T19:41:19Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=23154e46e6864f35c1fc2e052c4ea14fb42014fb'/>
<id>urn:sha1:23154e46e6864f35c1fc2e052c4ea14fb42014fb</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>43620 (tweaked): vcs_info git: Reverse the order patches are passed to gen-unapplied-string in.</title>
<updated>2018-10-08T13:44:40Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-10-07T17:46:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e38f15f8ff23651a8c4ef9fc394de7be93eb620f'/>
<id>urn:sha1:e38f15f8ff23651a8c4ef9fc394de7be93eb620f</id>
<content type='text'>
This is an incompatible change; see README for details.

Tweaks (relative to posted version): tweaked README, removed scalpel (debug print).
</content>
</entry>
<entry>
<title>43617: vcs_info git: During a non-interactive rebase of a detached head, computer the %b expando correctly.</title>
<updated>2018-10-08T13:41:45Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-10-07T17:46:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=31dcba76f07030f1a3c9f9ad6c41dbaf842eeb1a'/>
<id>urn:sha1:31dcba76f07030f1a3c9f9ad6c41dbaf842eeb1a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>43619: vcs_info git: In non-interactive rebases, always set $hook_com[git_patches_applied] to a string of the form 'foo bar', never just 'foo'.</title>
<updated>2018-10-08T13:41:43Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-10-07T17:46:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0e0219118d2df43ee52d44ef5ca93354597d5508'/>
<id>urn:sha1:0e0219118d2df43ee52d44ef5ca93354597d5508</id>
<content type='text'>
</content>
</entry>
<entry>
<title>43618: vcs_info: Don't redefine helper functions on every execution of the autoloadable outer function.</title>
<updated>2018-10-08T13:41:41Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-10-07T17:46:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a05533e425ebb36044680f403666dab7bc26a075'/>
<id>urn:sha1:a05533e425ebb36044680f403666dab7bc26a075</id>
<content type='text'>
This allows enabling tracing of the helper functions without fned'ing
the outer function.
</content>
</entry>
<entry>
<title>43587: vcs_info git: In 'git rebase -i', when computing subjects of applied-patches, handle an edge case where the subject is not available.</title>
<updated>2018-10-07T15:05:19Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-10-02T15:20:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5c9ef1a1faf42136ce330aa6f8e2123e83497239'/>
<id>urn:sha1:5c9ef1a1faf42136ce330aa6f8e2123e83497239</id>
<content type='text'>
</content>
</entry>
<entry>
<title>43588: vcs_info git: Make sure applied-patches is of the form "$hash $subject" --- that is, has a space and a non-empty second argument --- even with future 'git rebase -i' verbs.</title>
<updated>2018-10-07T15:05:17Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-10-02T15:20:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0c00eed4c77aee7af64e9272bfd1cddb8663e477'/>
<id>urn:sha1:0c00eed4c77aee7af64e9272bfd1cddb8663e477</id>
<content type='text'>
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]+=" ?"
</content>
</entry>
<entry>
<title>43586: vcs_info git: Reformat to minimise next diff. No functional change.</title>
<updated>2018-10-07T15:05:15Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-10-02T15:20:52Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a27fad1ae2c87bdb4861005719fd7db86827344c'/>
<id>urn:sha1:a27fad1ae2c87bdb4861005719fd7db86827344c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>43585: vcs_info svn: Recognize working copies in need of an upgrade.</title>
<updated>2018-10-07T15:05:13Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-09-30T22:16:08Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=abc94e8f6aa8367ce9d6e972d55f8e7d34fb08ec'/>
<id>urn:sha1:abc94e8f6aa8367ce9d6e972d55f8e7d34fb08ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: Indicate which use-case each branch handles.</title>
<updated>2018-10-02T15:22:06Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-10-02T15:21:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f9952301b2e4ba1c2181beabc02a7e0597358e7b'/>
<id>urn:sha1:f9952301b2e4ba1c2181beabc02a7e0597358e7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>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.</title>
<updated>2018-08-24T15:50:18Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-08-18T15:49:47Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=40d9681b6294fbc6727056320e0f84b06885eeeb'/>
<id>urn:sha1:40d9681b6294fbc6727056320e0f84b06885eeeb</id>
<content type='text'>
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".
</content>
</entry>
<entry>
<title>43314: vcs_info git: Flatten a nested if.</title>
<updated>2018-08-24T15:49:38Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2018-08-18T15:37:44Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=4cfbbf9ca5f1f7f6e79681fbad43daf674157727'/>
<id>urn:sha1:4cfbbf9ca5f1f7f6e79681fbad43daf674157727</id>
<content type='text'>
No functional change.
</content>
</entry>
<entry>
<title>43030: Replace VCS_INFO_realpath() by :P</title>
<updated>2018-06-16T17:03:23Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2018-06-16T17:03:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=faa07d064bb2bd9cd9892a255a4b63811242b9fb'/>
<id>urn:sha1:faa07d064bb2bd9cd9892a255a4b63811242b9fb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: vcs_info: Add docstrings to the internal functions VCS_INFO_formats and VCS_INFO_set.</title>
<updated>2017-12-30T06:14:22Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-12-30T06:14:09Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a8ad9768bdf68562c929d6558ef74fb727645f55'/>
<id>urn:sha1:a8ad9768bdf68562c929d6558ef74fb727645f55</id>
<content type='text'>
</content>
</entry>
<entry>
<title>41952: Use HGPLAIN instead of HGRCPATH in VCS_INFO_get_data_hg</title>
<updated>2017-10-25T08:34:34Z</updated>
<author>
<name>Alexey Sokolov</name>
<email>sokolov@google.com</email>
</author>
<published>2017-10-24T17:08:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=1a5d8a6916667819ba09a247c90b1ced5e186464'/>
<id>urn:sha1:1a5d8a6916667819ba09a247c90b1ced5e186464</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>41565: vcs_info patch2subject: Support `svn log -r N --diff` output.</title>
<updated>2017-08-22T20:50:14Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-08-17T17:26:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d6aa94997750a63712c8928b243b7c61fa73878b'/>
<id>urn:sha1:d6aa94997750a63712c8928b243b7c61fa73878b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Julien Nicoulaud: 40586: discard stderr</title>
<updated>2017-02-22T04:45:18Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2017-02-22T04:45:18Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=1b0541c52fa20be241a7e601e7650731741d5797'/>
<id>urn:sha1:1b0541c52fa20be241a7e601e7650731741d5797</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40492: vcs_info: Escape '%' signs in payloads.</title>
<updated>2017-02-09T15:24:04Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-02-05T08:28:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ecd88284f358cbcd787757184bbf8704779cab1a'/>
<id>urn:sha1:ecd88284f358cbcd787757184bbf8704779cab1a</id>
<content type='text'>
Test case: a patch whose subject is '%Sfoo%sbar'.  ('S' and 's' are
expandos both in prompts and in the 'formats' style.)
</content>
</entry>
<entry>
<title>unposted: vcs_info git: Fix typo in manual.</title>
<updated>2017-02-04T05:55:46Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-02-04T05:42:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=bb6c08b51a0798700b6fdd0b75581dca21dc4e5b'/>
<id>urn:sha1:bb6c08b51a0798700b6fdd0b75581dca21dc4e5b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40480: vcs_info set-patch-format: Eliminate the remaining code duplication.</title>
<updated>2017-02-03T18:14:01Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-02-01T19:05:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=33c0a104482a0299d5d065b88c180ea6975269c0'/>
<id>urn:sha1:33c0a104482a0299d5d065b88c180ea6975269c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40479: vcs_info set-patch-format: Prepare for more code sharing between the callers.</title>
<updated>2017-02-03T18:14:00Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-02-01T19:05:44Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9211d7f2777abaedfacf98812104d579c3b861f3'/>
<id>urn:sha1:9211d7f2777abaedfacf98812104d579c3b861f3</id>
<content type='text'>
This changes hook invocation order in the hg backend.
</content>
</entry>
<entry>
<title>40481: vcs_info hg: Pass arguments to the set-patch-format hook.</title>
<updated>2017-02-03T18:13:59Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-02-01T19:05:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=fca4f90bbac07b8e9bb29ae3267aeccf0f85d56d'/>
<id>urn:sha1:fca4f90bbac07b8e9bb29ae3267aeccf0f85d56d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40478: vcs_info set-patch-format: Guard against empty variable elision.</title>
<updated>2017-02-03T18:13:58Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-02-01T19:05:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=3a1756b7280e42d14de58ad90990cf4b04731b3b'/>
<id>urn:sha1:3a1756b7280e42d14de58ad90990cf4b04731b3b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40476: vcs_info $backend_misc: Document at the right point, provide in quilt 'standalone' mode.</title>
<updated>2017-02-03T18:13:57Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-02-01T17:36:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=49bc46946e93e55fd74c8b5a7109e49e41820725'/>
<id>urn:sha1:49bc46946e93e55fd74c8b5a7109e49e41820725</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40403/0004: vcs_info set-patch-format helper: Part #4.</title>
<updated>2017-01-25T04:22:32Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-01-23T18:15:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2854a67e09748a2e6f4e1d8a73bc463bad4cbd4e'/>
<id>urn:sha1:2854a67e09748a2e6f4e1d8a73bc463bad4cbd4e</id>
<content type='text'>
This also fixes the %a (${hook_com[all-n]}) expando in the hg backend:
before this change, it counted only unapplied changes.
</content>
</entry>
<entry>
<title>40403/0003: vcs_info set-patch-format helper: Part #3.</title>
<updated>2017-01-25T04:22:32Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-01-23T18:15:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=edd9798de765049a904e0afa830b191d1932087d'/>
<id>urn:sha1:edd9798de765049a904e0afa830b191d1932087d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40403/0002: vcs_info set-patch-format helper: Part #2.</title>
<updated>2017-01-25T04:22:31Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-01-23T18:15:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=270285733442a46cd157ade4600e4073e255a563'/>
<id>urn:sha1:270285733442a46cd157ade4600e4073e255a563</id>
<content type='text'>
Not all callers reset ${hook_com}, but those that don't, immediately
overwrite it a few lines later.
</content>
</entry>
<entry>
<title>40403/0001: vcs_info set-patch-format helper: Part #1.</title>
<updated>2017-01-25T04:22:30Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-01-23T18:15:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0ea1957608a6b496fc244078ce9e24f00327aba9'/>
<id>urn:sha1:0ea1957608a6b496fc244078ce9e24f00327aba9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40401: vcs_info git: Fix the %c patch-format expando.</title>
<updated>2017-01-25T04:22:30Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-01-23T19:06:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=57013f8b96520057fda4b0d5057646c83465d1b6'/>
<id>urn:sha1:57013f8b96520057fda4b0d5057646c83465d1b6</id>
<content type='text'>
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).
</content>
</entry>
<entry>
<title>40392: vcs_info patch2subject: Support `git show` output.</title>
<updated>2017-01-25T04:22:28Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2017-01-21T12:12:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=699a38e698d544683b6cf24843e95d25aeedebbd'/>
<id>urn:sha1:699a38e698d544683b6cf24843e95d25aeedebbd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40149: vcs_info git: Avoid a fork.</title>
<updated>2016-12-16T10:48:10Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-12-11T04:01:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=816084c0acc99cc67cdb0706ab295e107b906e4b'/>
<id>urn:sha1:816084c0acc99cc67cdb0706ab295e107b906e4b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: vcs_info git: Handle rebase-apply sequences with &gt;=10000 patches.</title>
<updated>2016-12-04T21:37:02Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-12-03T13:52:00Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f71de84f1d9f7c2d63226a2e5534fc12d05ec716'/>
<id>urn:sha1:f71de84f1d9f7c2d63226a2e5534fc12d05ec716</id>
<content type='text'>
Review-by: Frank Terbeck
</content>
</entry>
<entry>
<title>40074: vcs_info git: rfc822-unfold rebase-apply patch subjects when msg-clean is unavailable.</title>
<updated>2016-12-04T21:37:01Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-12-03T10:34:46Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d9237ccdbfb0f24ca40fead41de79e13b5f712be'/>
<id>urn:sha1:d9237ccdbfb0f24ca40fead41de79e13b5f712be</id>
<content type='text'>
Example (in this repository):

    git -c merge.merge-changelog.driver=/bin/false rebase --onto=1955cce^^  1955cce^ 1955cce
</content>
</entry>
<entry>
<title>Get subject of current patch in rebase-apply mode</title>
<updated>2016-12-02T23:18:22Z</updated>
<author>
<name>Daniel Hahler</name>
<email>git@thequod.de</email>
</author>
<published>2016-11-20T01:21:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ccf50048ac5bbef3f66164bd420d7c178ddd53ad'/>
<id>urn:sha1:ccf50048ac5bbef3f66164bd420d7c178ddd53ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: vcs_info: Break out VCS_INFO_quilt-patch2subject into VCS_INFO_patch2subject</title>
<updated>2016-12-01T17:13:37Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-12-01T17:11:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8891f5a33d2617b7c7bb4f37c4340a1dd159529e'/>
<id>urn:sha1:8891f5a33d2617b7c7bb4f37c4340a1dd159529e</id>
<content type='text'>
... so other places can use it; compare 40030 in the 39990 thread.
</content>
</entry>
<entry>
<title>39786: vcs_info (hg): Use native hexdump implementation instead of external command.</title>
<updated>2016-10-31T18:35:47Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-10-31T18:35:19Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=74aa45910b3711622e9eb5ccf8adef9566db6f62'/>
<id>urn:sha1:74aa45910b3711622e9eb5ccf8adef9566db6f62</id>
<content type='text'>
Fixes issue whereby the external command would print "*" for repeated
octets.

Includes comment change, cf 39790.
</content>
</entry>
<entry>
<title>39423: vcs_info git: Produce nicer applied-string messages for 'exec' actions.</title>
<updated>2016-09-24T07:22:15Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-09-23T06:47:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=889f6690fd678ed2fdeb4d467e5b8db49b9c6667'/>
<id>urn:sha1:889f6690fd678ed2fdeb4d467e5b8db49b9c6667</id>
<content type='text'>
This changes the behaviour on "unknown" git-rebase actions (those other
than pick/reword/edit/fixup/squash/execute).
</content>
</entry>
<entry>
<title>39046 + 39061: New :P history modifier.</title>
<updated>2016-08-22T03:34:30Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-07-30T16:16:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7154052ebe3d810390164a05c39ff83f98a1d858'/>
<id>urn:sha1:7154052ebe3d810390164a05c39ff83f98a1d858</id>
<content type='text'>
</content>
</entry>
<entry>
<title>38610: vcs_info quilt: Extract a patch subject, 2.0.</title>
<updated>2016-06-06T08:10:12Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-06-04T16:57:49Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7a5ecf4909bb73550012c4b580f054a29a255380'/>
<id>urn:sha1:7a5ecf4909bb73550012c4b580f054a29a255380</id>
<content type='text'>
</content>
</entry>
<entry>
<title>38609: vcs_info quilt: Factor out a helper function. No functional change.</title>
<updated>2016-06-06T08:10:11Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-06-04T16:57:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e8943e7007d27143d17cf66acf659e92fcea1fe9'/>
<id>urn:sha1:e8943e7007d27143d17cf66acf659e92fcea1fe9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: Fix typo in comment.</title>
<updated>2016-01-15T06:30:06Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-01-15T06:30:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a45a9fa1042cc48e4d99311c5aa25f029f8a13c2'/>
<id>urn:sha1:a45a9fa1042cc48e4d99311c5aa25f029f8a13c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37612: vcs_info git: Set $git_patches_unapplied correctly for 'rebase-apply' case.</title>
<updated>2016-01-15T06:29:09Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-01-14T00:13:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ce1148db45b55b2977c72e4a4b78e51e709db022'/>
<id>urn:sha1:ce1148db45b55b2977c72e4a4b78e51e709db022</id>
<content type='text'>
This manifested, e.g., in 'git am' of a single patch that had a conflict.
</content>
</entry>
<entry>
<title>37451: vcs_info: Declare "msgs" in early context</title>
<updated>2015-12-30T14:23:08Z</updated>
<author>
<name>Frank Terbeck</name>
<email>ft@bewatermyfriend.org</email>
</author>
<published>2015-12-30T13:58:32Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=dab6e7c2319c0aadb39eb9cce677e0a35da8314d'/>
<id>urn:sha1:dab6e7c2319c0aadb39eb9cce677e0a35da8314d</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>37345: VCS_INFO functions break with setopt no_unset</title>
<updated>2015-12-23T00:57:45Z</updated>
<author>
<name>Philip Sequeira</name>
<email>phsequei@gmail.com</email>
</author>
<published>2015-12-07T23:23:25Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=038b1d4b38fca3b2067bcc322096a00179f63b88'/>
<id>urn:sha1:038b1d4b38fca3b2067bcc322096a00179f63b88</id>
<content type='text'>
With setopt no_unset in my config file, vcs_info fails with:
VCS_INFO_maxexports:7: vcs: parameter not set
</content>
</entry>
<entry>
<title>37347: Remove incorrect local for msgs in VCS info</title>
<updated>2015-12-08T12:59:48Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-12-08T12:59:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=4105f79a3a9b5a85c4ce167865e5ac661be160dc'/>
<id>urn:sha1:4105f79a3a9b5a85c4ce167865e5ac661be160dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37252: vcs_info git: Compute %b correctly with "rebase --onto" of detached heads. (Follow-up to 36725.)</title>
<updated>2015-11-30T03:42:47Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-11-30T03:23:57Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=502d55c01494fabd1d98c67aab0a9746d59b715a'/>
<id>urn:sha1:502d55c01494fabd1d98c67aab0a9746d59b715a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37186: a couple more WARN_CREATE_GLOBAL fixes</title>
<updated>2015-11-22T16:06:20Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-11-22T16:06:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ae4cf7b743da0785cb8d1f0d01b8697318f254dc'/>
<id>urn:sha1:ae4cf7b743da0785cb8d1f0d01b8697318f254dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37025: vcs_info git: Add a cherry-pick patch-format</title>
<updated>2015-11-13T20:17:27Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-10-30T15:08:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f59864ce7a4a18efbfa5a330895d120ea1ce18f2'/>
<id>urn:sha1:f59864ce7a4a18efbfa5a330895d120ea1ce18f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>36913 + 36945: vcs_info quilt: Pass patch subject lines to gen-applied-string</title>
<updated>2015-10-24T20:42:26Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-10-21T05:11:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=779b3112f85d01d297ab04e6c1b68a0b33d76a55'/>
<id>urn:sha1:779b3112f85d01d297ab04e6c1b68a0b33d76a55</id>
<content type='text'>
The format used is '${patchname} ${subject}', which is analogous to the git backend.
</content>
</entry>
<entry>
<title>36912: vcs_info quilt: Tolerate being in child of .pc's parent</title>
<updated>2015-10-24T20:26:41Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-10-22T12:30:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c62db9e7dc2f59337aec1df55663383c524886cb'/>
<id>urn:sha1:c62db9e7dc2f59337aec1df55663383c524886cb</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>36888: vcs_info: Prevent warn_create_global warning with '-preinit-' state</title>
<updated>2015-10-18T18:40:18Z</updated>
<author>
<name>Frank Terbeck</name>
<email>ft@bewatermyfriend.org</email>
</author>
<published>2015-10-18T18:27:55Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2e600b432a1a0167304ba5b57738b9f5c0af1cc3'/>
<id>urn:sha1:2e600b432a1a0167304ba5b57738b9f5c0af1cc3</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>36832: vcs_info: Remove dependency on "seq"</title>
<updated>2015-10-11T10:54:30Z</updated>
<author>
<name>Frank Terbeck</name>
<email>ft@bewatermyfriend.org</email>
</author>
<published>2015-10-11T10:39:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e245dd71936d1c22fce39f02c203ed2cdb43a548'/>
<id>urn:sha1:e245dd71936d1c22fce39f02c203ed2cdb43a548</id>
<content type='text'>
The "seq" utility is usually available on GNU systems only. This
exchanges calls to seq with pure zsh features. Also: Less forks are
good.
</content>
</entry>
<entry>
<title>36830: vcs_info: Silence an error message with new git versions</title>
<updated>2015-10-11T10:29:41Z</updated>
<author>
<name>Frank Terbeck</name>
<email>ft@bewatermyfriend.org</email>
</author>
<published>2015-10-11T09:54:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7a1678767f44f200295d88dfea94902718275266'/>
<id>urn:sha1:7a1678767f44f200295d88dfea94902718275266</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>36725: vcs_info git: Compute %b correctly when "git am"-ing onto detached heads.</title>
<updated>2015-09-30T21:43:37Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-09-30T14:21:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a90cf551efc92184ab25da25b837296d1c4edc8a'/>
<id>urn:sha1:a90cf551efc92184ab25da25b837296d1c4edc8a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>36725: vcs_info git: Compute %b correctly when rebasing detached heads.</title>
<updated>2015-09-30T21:43:37Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-09-30T14:21:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cd1cda9d57ff9f44d285bcd867721c4024500837'/>
<id>urn:sha1:cd1cda9d57ff9f44d285bcd867721c4024500837</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>36725: vcs_info git: Compute %b correctly when merging to detached heads.</title>
<updated>2015-09-30T21:43:37Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-09-30T14:21:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7ac34a3055d87b88d8b1b28ddfe68982f6550a08'/>
<id>urn:sha1:7ac34a3055d87b88d8b1b28ddfe68982f6550a08</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>36601: vcs_info: handle missing .git/rebase-apply/{next,msg-clean}</title>
<updated>2015-09-28T18:03:12Z</updated>
<author>
<name>Daniel Hahler</name>
<email>git@thequod.de</email>
</author>
<published>2015-09-23T18:55:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=45bdc87a1f4058f9a8cd5eaceda704284d4a89a1'/>
<id>urn:sha1:45bdc87a1f4058f9a8cd5eaceda704284d4a89a1</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>36410: vcs_info git: Present merge heads as patches</title>
<updated>2015-09-05T10:47:44Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-09-03T09:24:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=880579dc1e368bd6111b6f2d4c4449f4d42cd1b3'/>
<id>urn:sha1:880579dc1e368bd6111b6f2d4c4449f4d42cd1b3</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>36209: vcs_info: avoid grep error message when file is missing</title>
<updated>2015-08-17T23:00:25Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2015-08-17T22:45:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9a369d39e13787c376c57713ab8c14e5c0f4bfb8'/>
<id>urn:sha1:9a369d39e13787c376c57713ab8c14e5c0f4bfb8</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>36077: vcs_info: stop exporting everything</title>
<updated>2015-08-12T02:31:22Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2015-08-09T21:53:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c5abf2bcff289363207e0faae8fd33413f59231f'/>
<id>urn:sha1:c5abf2bcff289363207e0faae8fd33413f59231f</id>
<content type='text'>
</content>
</entry>
</feed>
