<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/contrib, branch v2.22.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.22.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.22.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-07-29T19:38:20Z</updated>
<entry>
<title>Merge branch 'nd/completion-no-cache-failure' into maint</title>
<updated>2019-07-29T19:38:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-07-29T19:38:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=39521d07bedc4a8f1f8891ff1bc0a5b34213504f'/>
<id>urn:sha1:39521d07bedc4a8f1f8891ff1bc0a5b34213504f</id>
<content type='text'>
An incorrect list of options was cached after command line
completion failed (e.g. trying to complete a command that requires
a repository outside one), which has been corrected.

* nd/completion-no-cache-failure:
  completion: do not cache if --git-completion-helper fails
</content>
</entry>
<entry>
<title>coccinelle: use COPY_ARRAY for copying arrays</title>
<updated>2019-06-18T01:14:59Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2019-06-15T18:32:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=177fbab747da4f58cb2a8ce010b3515c86dd67c9'/>
<id>urn:sha1:177fbab747da4f58cb2a8ce010b3515c86dd67c9</id>
<content type='text'>
The current semantic patch for COPY_ARRAY transforms memcpy(3) calls on
pointers, but Coccinelle distinguishes them from arrays.  It already
contains three rules to handle the options for sizeof (i.e. source,
destination and type), and handling arrays as source and destination
would require four times as many rules if we enumerated all cases.

We also don't handle array subscripts, and supporting that would
increase the number of rules by another factor of four.  (An isomorphism
telling Coccinelle that "sizeof x[...]" is equivalent to "sizeof *x"
would be nice..)

Support arrays and array subscripts, but keep the number of rules down
by adding normalization steps: First turn array subscripts into
derefences, then determine the types of expressions used with sizeof and
replace them with these types, and then convert the different possible
combinations of arrays and pointers with memcpy(3) to COPY_ARRAY.

Signed-off-by: Rene Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: do not cache if --git-completion-helper fails</title>
<updated>2019-06-12T17:36:46Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2019-06-12T08:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=69702523afb4de692b415648e53fcfb1b4630f18'/>
<id>urn:sha1:69702523afb4de692b415648e53fcfb1b4630f18</id>
<content type='text'>
"git &lt;cmd&gt; --git-completion-helper" could fail if the command checks for
a repo before parse_options(). If the result is cached, later on when
the user moves to a worktree with repo, tab completion will still fail.

Avoid this by detecting errors and not cache the completion output. We
can try again and hopefully succeed next time (e.g. when a repo is
found).

Of course if --git-completion-helper fails permanently because of other
reasons (*), this will slow down completion. But I don't see any better
option to handle that case.

(*) one of those cases is if __gitcomp_builtin is called on a command
  that does not support --git-completion-helper. And we do have a
  generic call

    __git_complete_common "$command"

  but this case is protected with __git_support_parseopt_helper so we're
  good.

Reported-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>list-objects-filter: disable 'sparse:path' filters</title>
<updated>2019-05-29T18:05:34Z</updated>
<author>
<name>Christian Couder</name>
<email>christian.couder@gmail.com</email>
</author>
<published>2019-05-29T12:44:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e693237e2ba27b6129e8af7f6a794f5c2fbd26f3'/>
<id>urn:sha1:e693237e2ba27b6129e8af7f6a794f5c2fbd26f3</id>
<content type='text'>
If someone wants to use as a filter a sparse file that is in the
repository, something like "--filter=sparse:oid=&lt;ref&gt;:&lt;path&gt;"
already works.

So 'sparse:path' is only interesting if the sparse file is not in
the repository. In this case though the current implementation has
a big security issue, as it makes it possible to ask the server to
read any file, like for example /etc/password, and to explore the
filesystem, as well as individual lines of files.

If someone is interested in using a sparse file that is not in the
repository as a filter, then at the minimum a config option, such
as "uploadpack.sparsePathFilter", should be implemented first to
restrict the directory from which the files specified by
'sparse:path' can be read.

For now though, let's just disable 'sparse:path' filters.

Helped-by: Matthew DeVore &lt;matvore@google.com&gt;
Helped-by: Jeff Hostetler &lt;git@jeffhostetler.com&gt;
Signed-off-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'cw/diff-highlight'</title>
<updated>2019-05-19T07:45:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-05-19T07:45:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=18cfb74f31209007e3a960efa594c25abd8a4cac'/>
<id>urn:sha1:18cfb74f31209007e3a960efa594c25abd8a4cac</id>
<content type='text'>
Portability fix for a diff-highlight tool (in contrib/).

* cw/diff-highlight:
  diff-highlight: use correct /dev/null for UNIX and Windows
</content>
</entry>
<entry>
<title>diff-highlight: use correct /dev/null for UNIX and Windows</title>
<updated>2019-05-09T03:18:44Z</updated>
<author>
<name>Chris. Webster</name>
<email>chris@webstech.net</email>
</author>
<published>2018-10-31T14:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6804ba3a58ff2999533af28ca5af3901e30fd1f2'/>
<id>urn:sha1:6804ba3a58ff2999533af28ca5af3901e30fd1f2</id>
<content type='text'>
Use File::Spec-&gt;devnull() for output redirection to avoid messages
when Windows version of Perl is first in path.  The message 'The
system cannot find the path specified.' is displayed each time git is
run to get colors.

Signed-off-by: Chris. Webster &lt;chris@webstech.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/sha1-name-c-wo-the-repository'</title>
<updated>2019-05-08T15:37:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-05-08T15:37:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0b179f3175d1a152b1d22ce8352efda34b258ce2'/>
<id>urn:sha1:0b179f3175d1a152b1d22ce8352efda34b258ce2</id>
<content type='text'>
Further code clean-up to allow the lowest level of name-to-object
mapping layer to work with a passed-in repository other than the
default one.

* nd/sha1-name-c-wo-the-repository: (34 commits)
  sha1-name.c: remove the_repo from get_oid_mb()
  sha1-name.c: remove the_repo from other get_oid_*
  sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
  submodule-config.c: use repo_get_oid for reading .gitmodules
  sha1-name.c: add repo_get_oid()
  sha1-name.c: remove the_repo from get_oid_with_context_1()
  sha1-name.c: remove the_repo from resolve_relative_path()
  sha1-name.c: remove the_repo from diagnose_invalid_index_path()
  sha1-name.c: remove the_repo from handle_one_ref()
  sha1-name.c: remove the_repo from get_oid_1()
  sha1-name.c: remove the_repo from get_oid_basic()
  sha1-name.c: remove the_repo from get_describe_name()
  sha1-name.c: remove the_repo from get_oid_oneline()
  sha1-name.c: add repo_interpret_branch_name()
  sha1-name.c: remove the_repo from interpret_branch_mark()
  sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
  sha1-name.c: remove the_repo from get_short_oid()
  sha1-name.c: add repo_for_each_abbrev()
  sha1-name.c: store and use repo in struct disambiguate_state
  sha1-name.c: add repo_find_unique_abbrev_r()
  ...
</content>
</entry>
<entry>
<title>Merge branch 'dl/submodule-set-branch'</title>
<updated>2019-04-25T07:41:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-04-25T07:41:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=01f8d78887d45dc10f29d3926d5cc52f78838846'/>
<id>urn:sha1:01f8d78887d45dc10f29d3926d5cc52f78838846</id>
<content type='text'>
"git submodule" learns "set-branch" subcommand that allows the
submodule.*.branch settings to be modified.

* dl/submodule-set-branch:
  submodule: teach set-branch subcommand
  submodule--helper: teach config subcommand --unset
  git-submodule.txt: "--branch &lt;branch&gt;" option defaults to 'master'
</content>
</entry>
<entry>
<title>Merge branch 'da/smerge'</title>
<updated>2019-04-22T02:14:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-04-22T02:14:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5116eab70bf8a0c8b1c29a09c4b932c4d1cf2701'/>
<id>urn:sha1:5116eab70bf8a0c8b1c29a09c4b932c4d1cf2701</id>
<content type='text'>
"git mergetool" learned to offer Sublime Merge (smerge) as one of
its backends.

* da/smerge:
  contrib/completion: add smerge to the mergetool completion candidates
  mergetools: add support for smerge (Sublime Merge)
</content>
</entry>
<entry>
<title>Merge branch 'dl/flex-str-cocci'</title>
<updated>2019-04-22T02:14:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-04-22T02:14:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5f65d7d9bcd4bd863127df1dc10546f2b82a6b68'/>
<id>urn:sha1:5f65d7d9bcd4bd863127df1dc10546f2b82a6b68</id>
<content type='text'>
Code clean-up.

* dl/flex-str-cocci:
  cocci: FLEX_ALLOC_MEM to FLEX_ALLOC_STR
  midx.c: convert FLEX_ALLOC_MEM to FLEX_ALLOC_STR
</content>
</entry>
</feed>
