<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/contrib, branch v2.21.4</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.21.4</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.21.4'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-02-05T22:26:18Z</updated>
<entry>
<title>Merge branch 'sg/strbuf-addbuf-cocci'</title>
<updated>2019-02-05T22:26:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-02-05T22:26:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5db562704ca1541f1ace2510f830ea1370ce60e4'/>
<id>urn:sha1:5db562704ca1541f1ace2510f830ea1370ce60e4</id>
<content type='text'>
Cocci rule update.

* sg/strbuf-addbuf-cocci:
  strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other
</content>
</entry>
<entry>
<title>Merge branch 'sb/more-repo-in-api'</title>
<updated>2019-02-05T22:26:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-02-05T22:26:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b99a579f8e434a7757f90895945b5711b3f159d5'/>
<id>urn:sha1:b99a579f8e434a7757f90895945b5711b3f159d5</id>
<content type='text'>
The in-core repository instances are passed through more codepaths.

* sb/more-repo-in-api: (23 commits)
  t/helper/test-repository: celebrate independence from the_repository
  path.h: make REPO_GIT_PATH_FUNC repository agnostic
  commit: prepare free_commit_buffer and release_commit_memory for any repo
  commit-graph: convert remaining functions to handle any repo
  submodule: don't add submodule as odb for push
  submodule: use submodule repos for object lookup
  pretty: prepare format_commit_message to handle arbitrary repositories
  commit: prepare logmsg_reencode to handle arbitrary repositories
  commit: prepare repo_unuse_commit_buffer to handle any repo
  commit: prepare get_commit_buffer to handle any repo
  commit-reach: prepare in_merge_bases[_many] to handle any repo
  commit-reach: prepare get_merge_bases to handle any repo
  commit-reach.c: allow get_merge_bases_many_0 to handle any repo
  commit-reach.c: allow remove_redundant to handle any repo
  commit-reach.c: allow merge_bases_many to handle any repo
  commit-reach.c: allow paint_down_to_common to handle any repo
  commit: allow parse_commit* to handle any repo
  object: parse_object to honor its repository argument
  object-store: prepare has_{sha1, object}_file to handle any repo
  object-store: prepare read_object_file to deal with any repo
  ...
</content>
</entry>
<entry>
<title>Merge branch 'bc/tree-walk-oid'</title>
<updated>2019-01-29T20:47:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-01-29T20:47:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=371820d5f1bb3c3e691ad21cee652c02c36ea758'/>
<id>urn:sha1:371820d5f1bb3c3e691ad21cee652c02c36ea758</id>
<content type='text'>
The code to walk tree objects has been taught that we may be
working with object names that are not computed with SHA-1.

* bc/tree-walk-oid:
  cache: make oidcpy always copy GIT_MAX_RAWSZ bytes
  tree-walk: store object_id in a separate member
  match-trees: use hashcpy to splice trees
  match-trees: compute buffer offset correctly when splicing
  tree-walk: copy object ID before use
</content>
</entry>
<entry>
<title>strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other</title>
<updated>2019-01-28T00:21:09Z</updated>
<author>
<name>SZEDER Gábor</name>
<email>szeder.dev@gmail.com</email>
</author>
<published>2019-01-25T12:25:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=28c23cd4c3902449aff72cb9a4a703220be0d6ac'/>
<id>urn:sha1:28c23cd4c3902449aff72cb9a4a703220be0d6ac</id>
<content type='text'>
The best way to add one strbuf to an other is via:

  strbuf_addbuf(&amp;sb, &amp;sb2);

This is a bit more idiomatic and efficient than:

  strbuf_addstr(&amp;sb, sb2.buf);

because the size of the second strbuf is known and thus it can spare a
strlen() call, and much more so than:

  strbuf_addf(&amp;sb, "%s", sb2.buf);

because it can spare the whole vsnprintf() formatting magic.

Add new semantic patches to 'contrib/coccinelle/strbuf.cocci' to catch
these undesired patterns and to suggest strbuf_addbuf() instead.

Luckily, our codebase is already clean from any such undesired
patterns (but one of the in-flight topics just tried to sneak in such
a strbuf_addf() call).

Signed-off-by: SZEDER Gábor &lt;szeder.dev@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mm/multimail-1.5'</title>
<updated>2019-01-18T21:49:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-01-18T21:49:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=41db13723400bc1294c813447277e13654e63064'/>
<id>urn:sha1:41db13723400bc1294c813447277e13654e63064</id>
<content type='text'>
Update "git multimail" from the upstream.

* mm/multimail-1.5:
  git-multimail: update to release 1.5.0
</content>
</entry>
<entry>
<title>Merge branch 'cy/zsh-completion-SP-in-path'</title>
<updated>2019-01-18T21:49:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-01-18T21:49:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b84e2977534b677ae1ac8670489002637fab6438'/>
<id>urn:sha1:b84e2977534b677ae1ac8670489002637fab6438</id>
<content type='text'>
With zsh, "git cmd path&lt;TAB&gt;" was completed to "git cmd path name"
when the completed path has a special character like SP in it,
without any attempt to keep "path name" a single filename.  This
has been fixed to complete it to "git cmd path\ name" just like
Bash completion does.

* cy/zsh-completion-SP-in-path:
  completion: treat results of git ls-tree as file paths
  zsh: complete unquoted paths with spaces correctly
</content>
</entry>
<entry>
<title>cache: make oidcpy always copy GIT_MAX_RAWSZ bytes</title>
<updated>2019-01-15T17:57:41Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2019-01-15T00:39:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=974e4a85e354d07fb4d50ff908713ecd5bcd4fff'/>
<id>urn:sha1:974e4a85e354d07fb4d50ff908713ecd5bcd4fff</id>
<content type='text'>
There are some situations in which we want to store an object ID into
struct object_id without the_hash_algo necessarily being set correctly.
One such case is when cloning a repository, where we must read refs from
the remote side without having a repository from which to read the
preferred algorithm.

In this cases, we may have the_hash_algo set to SHA-1, which is the
default, but read refs into struct object_id that are SHA-256. When
copying these values, we will want to copy them completely, not just the
first 20 bytes. Consequently, make sure that oidcpy copies the maximum
number of bytes at all times, regardless of the setting of
the_hash_algo.

Since oidcpy and hashcpy are no longer functionally identical, remove
the Cocinelle object_id transformations that convert from one into the
other.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-multimail: update to release 1.5.0</title>
<updated>2019-01-07T19:56:09Z</updated>
<author>
<name>Matthieu Moy</name>
<email>git@matthieu-moy.fr</email>
</author>
<published>2019-01-07T17:48:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=99177b34db1d473e8f90544cf0bf83f47308e9ad'/>
<id>urn:sha1:99177b34db1d473e8f90544cf0bf83f47308e9ad</id>
<content type='text'>
Changes are described in CHANGES.

Contributions-by: Matthieu Moy &lt;git@matthieu-moy.fr&gt;
Contributions-by: William Stewart &lt;william.stewart@booking.com&gt;
Contributions-by: Ville Skyttä &lt;ville.skytta@iki.fi&gt;
Contributions-by: Dirk Olmes &lt;dirk.olmes@codedo.de&gt;
Contributions-by: Björn Kautler &lt;Bjoern@Kautler.net&gt;
Contributions-by: Konstantin Ryabitsev &lt;konstantin@linuxfoundation.org&gt;
Contributions-by: Gareth Pye &lt;garethp@gpsatsys.com.au&gt;
Contributions-by: David Lazar &lt;lazard@csail.mit.edu&gt;
Signed-off-by: Matthieu Moy &lt;git@matthieu-moy.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: fix typo in git-completion.bash</title>
<updated>2019-01-03T21:34:01Z</updated>
<author>
<name>Chayoung You</name>
<email>yousbe@gmail.com</email>
</author>
<published>2018-12-26T16:22:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=06506149826b9eda92f065fdc073c94fdcea459e'/>
<id>urn:sha1:06506149826b9eda92f065fdc073c94fdcea459e</id>
<content type='text'>
Signed-off-by: Chayoung You &lt;yousbe@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: treat results of git ls-tree as file paths</title>
<updated>2019-01-03T19:48:18Z</updated>
<author>
<name>Chayoung You</name>
<email>yousbe@gmail.com</email>
</author>
<published>2019-01-01T14:05:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6d54f528c74604b289ce7237cd30a1cfc5511f18'/>
<id>urn:sha1:6d54f528c74604b289ce7237cd30a1cfc5511f18</id>
<content type='text'>
Let's say there are files named 'foo bar.txt', and 'abc def/test.txt' in
repository. When following commands trigger a completion:

    git show HEAD:fo&lt;Tab&gt;
    git show HEAD:ab&lt;Tab&gt;

The completion results in bash/zsh:

    git show HEAD:foo bar.txt
    git show HEAD:abc def/

Where the both of them have an unescaped space in paths, so they'll be
misread by git. All entries of git ls-tree either a filename or a
directory, so __gitcomp_file() is proper rather than __gitcomp_nl().

Note the commit f12785a3, which handles quoted paths properly. Like this
case, we should dequote $cur_ for ?*:* case. For example, let's say
there is untracked directory 'abc deg', then trigger a completion:

    git show HEAD:abc\ de&lt;Tab&gt;
    git show HEAD:'abc de&lt;Tab&gt;
    git show HEAD:"abc de&lt;Tab&gt;

should uniquely complete 'abc def', but bash completes 'abc def' and
'abc deg' instead. In zsh, triggering a completion:

    git show HEAD:abc\ def/&lt;Tab&gt;

should complete 'test.txt', but nothing comes. The both problems will be
resolved by dequoting paths.

__git_complete_revlist_file() passes arguments to __gitcomp_nl() where
the first one is a list something like:

    abc def/Z
    foo bar.txt Z

where Z is the mark of the EOL.

- The trailing space of blob in __git ls-tree | sed.
  It makes the completion results become:

      git show HEAD:foo\ bar.txt\ &lt;CURSOR&gt;

  So git will try to find a file named 'foo bar.txt ' instead.

- The trailing slash of tree in __git ls-tree | sed.
  It makes the completion results on zsh become:

      git show HEAD:abc\ def/ &lt;CURSOR&gt;

  So that the last space on command like should be removed on zsh to
  complete filenames under 'abc def/'.

Signed-off-by: Chayoung You &lt;yousbe@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
