<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/contrib, branch v1.8.0.2</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.8.0.2</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.8.0.2'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2012-11-29T19:16:33Z</updated>
<entry>
<title>git-remote-mediawiki: escape ", \, and LF in file names</title>
<updated>2012-11-29T19:16:33Z</updated>
<author>
<name>Matthieu Moy</name>
<email>Matthieu.Moy@imag.fr</email>
</author>
<published>2012-11-29T17:00:55Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=462d97daf69951f968f16b6271de9db34f7dd13c'/>
<id>urn:sha1:462d97daf69951f968f16b6271de9db34f7dd13c</id>
<content type='text'>
A mediawiki page can contain, and even start with a " character, we have
to escape it when generating the fast-export stream, as well as \
character. While we're there, also escape newlines, but I don't think we
can get them from MediaWiki pages.

Signed-off-by: Matthieu Moy &lt;Matthieu.Moy@imag.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: add options --single-branch and --branch to "git clone"</title>
<updated>2012-11-28T20:01:16Z</updated>
<author>
<name>Ralf Thielow</name>
<email>ralf.thielow@gmail.com</email>
</author>
<published>2012-11-28T18:27:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4047fecf714e8ffdc4ae199f9cd3ee2d50b0259c'/>
<id>urn:sha1:4047fecf714e8ffdc4ae199f9cd3ee2d50b0259c</id>
<content type='text'>
Signed-off-by: Ralf Thielow &lt;ralf.thielow@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Completion must sort before using uniq</title>
<updated>2012-11-25T06:35:48Z</updated>
<author>
<name>Marc Khouzam</name>
<email>marc.khouzam@gmail.com</email>
</author>
<published>2012-11-23T14:02:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4db42b38231b350138dd6b9c67af34e028006380'/>
<id>urn:sha1:4db42b38231b350138dd6b9c67af34e028006380</id>
<content type='text'>
The user can be presented with invalid completion results
when trying to complete a 'git checkout' command.  This can happen
when using a branch name prefix that matches multiple remote branches.

For example, if available branches are:
  master
  remotes/GitHub/maint
  remotes/GitHub/master
  remotes/origin/maint
  remotes/origin/master

When performing completion on 'git checkout ma' the user will be
given the choices:
  maint
  master

However, 'git checkout maint' will fail in this case, although
completion previously said 'maint' was valid.  Furthermore, when
performing completion on 'git checkout mai', no choices will be
suggested.  So, the user is first told that the branch name
'maint' is valid, but when trying to complete 'mai' into 'maint',
that completion is no longer valid.

The completion results should never propose 'maint' as a valid
branch name, since 'git checkout' will refuse it.

The reason for this bug is that the uniq program only
works with sorted input.  The man page states
"uniq prints the unique lines in a sorted file".

When __git_refs uses the guess heuristic employed by checkout for
tracking branches it wants to consider remote branches but only if
the branch name is unique.  To do that, it calls 'uniq -u'.  However
the input given to 'uniq -u' is not sorted.

Therefore, in the above example, when dealing with 'git checkout ma',
"__git_refs '' 1" will find the following list:
  master
  maint
  master
  maint
  master

which, when passed to 'uniq -u' will remain the same.  Therefore
'maint' will be wrongly suggested as a valid option.

When dealing with 'git checkout mai', the list will be:
  maint
  maint

which happens to be sorted and will be emptied by 'uniq -u',
properly ignoring 'maint'.

A solution for preventing the completion script from suggesting
such invalid branch names is to first call 'sort' and then 'uniq -u'.

Signed-off-by: Marc Khouzam &lt;marc.khouzam@gmail.com&gt;
Reviewed-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2012-10-14T06:05:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-10-14T06:05:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=42e55a5f5709642cb7a56ecad8b706341f0eb38a'/>
<id>urn:sha1:42e55a5f5709642cb7a56ecad8b706341f0eb38a</id>
<content type='text'>
* maint:
  Fix spelling error in post-receive-email hook
</content>
</entry>
<entry>
<title>Fix spelling error in post-receive-email hook</title>
<updated>2012-10-14T04:50:14Z</updated>
<author>
<name>Richard Fearn</name>
<email>richardfearn@gmail.com</email>
</author>
<published>2012-10-13T22:32:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=7703477ab9fcb96ee1d2555c85b7499d8c3d69eb'/>
<id>urn:sha1:7703477ab9fcb96ee1d2555c85b7499d8c3d69eb</id>
<content type='text'>
Signed-off-by: Richard Fearn &lt;richardfearn@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2012-09-25T17:25:52Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-25T17:25:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=8e609b270ad3ca4db2e9b7ba14c1d36d2deb8563'/>
<id>urn:sha1:8e609b270ad3ca4db2e9b7ba14c1d36d2deb8563</id>
<content type='text'>
* maint:
  Revert "completion: fix shell expansion of items"
</content>
</entry>
<entry>
<title>Revert "completion: fix shell expansion of items"</title>
<updated>2012-09-25T16:00:28Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2012-09-25T04:31:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=666ca59a8c88e1750386fa64c7ed4be698fd1b2a'/>
<id>urn:sha1:666ca59a8c88e1750386fa64c7ed4be698fd1b2a</id>
<content type='text'>
This reverts commit 25ae7cfd19c8f21721363c64163cd5d9d1135b20.

That patch does fix expansion of weird variables in some
simple tests, but it also seems to break other things, like
expansion of refs by "git checkout".

While we're sorting out the correct solution, we are much
better with the original bug (people with metacharacters in
their completions occasionally see an error message) than
the current bug (ref completion does not work at all).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Sync with maint</title>
<updated>2012-09-24T19:50:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-24T19:50:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b5d156c3622fa522966034c78fd6ed9a15504d46'/>
<id>urn:sha1:b5d156c3622fa522966034c78fd6ed9a15504d46</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve the description of GIT_PS1_SHOWUPSTREAM</title>
<updated>2012-09-24T19:38:41Z</updated>
<author>
<name>Jonathan "Duke" Leto</name>
<email>jonathan@leto.net</email>
</author>
<published>2012-09-24T17:41:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=f9db19214a15a1c384dd895ccda2a455824179cd'/>
<id>urn:sha1:f9db19214a15a1c384dd895ccda2a455824179cd</id>
<content type='text'>
Describe what '=' means in the output of __git_ps1 when using
GIT_PS1_SHOWUPSTREAM, which was not previously described.

Signed-off-by: Jonathan "Duke" Leto &lt;jonathan@leto.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2012-09-20T22:55:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-20T22:55:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=f1c62ee9de2239537167d8791bd5e62403191f66'/>
<id>urn:sha1:f1c62ee9de2239537167d8791bd5e62403191f66</id>
<content type='text'>
* maint:
  Documentation: Document signature showing options
  completion: fix shell expansion of items
</content>
</entry>
</feed>
