<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/pathspec.c, branch v2.11.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.11.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.11.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-10-26T20:14:56Z</updated>
<entry>
<title>Merge branch 'ex/deprecate-empty-pathspec-as-match-all'</title>
<updated>2016-10-26T20:14:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-10-26T20:14:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3b1e135b879c401c8e6c0b9acbaefc81054c3d37'/>
<id>urn:sha1:3b1e135b879c401c8e6c0b9acbaefc81054c3d37</id>
<content type='text'>
An empty string used as a pathspec element has always meant
'everything matches', but it is too easy to write a script that
finds a path to remove in $path and run 'git rm "$paht"', which
ends up removing everything.  Start warning about this use of an
empty string used for 'everything matches' and ask users to use a
more explicit '.' for that instead.

The hope is that existing users will not mind this change, and
eventually the warning can be turned into a hard error, upgrading
the deprecation into removal of this (mis)feature.

* ex/deprecate-empty-pathspec-as-match-all:
  pathspec: warn on empty strings as pathspec
</content>
</entry>
<entry>
<title>Merge branch 'rs/qsort'</title>
<updated>2016-10-10T21:03:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-10-10T21:03:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b8688adb12d086b161aa7c369126bdd56843a01b'/>
<id>urn:sha1:b8688adb12d086b161aa7c369126bdd56843a01b</id>
<content type='text'>
We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
the time third parameter is redundant.  A new QSORT() macro lets us
omit it.

* rs/qsort:
  show-branch: use QSORT
  use QSORT, part 2
  coccicheck: use --all-includes by default
  remove unnecessary check before QSORT
  use QSORT
  add QSORT
</content>
</entry>
<entry>
<title>use QSORT</title>
<updated>2016-09-29T22:42:18Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2016-09-29T15:27:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9ed0d8d6e6de7737fe9a658446318b86e57c6fad'/>
<id>urn:sha1:9ed0d8d6e6de7737fe9a658446318b86e57c6fad</id>
<content type='text'>
Apply the semantic patch contrib/coccinelle/qsort.cocci to the code
base, replacing calls of qsort(3) with QSORT.  The resulting code is
shorter and supports empty arrays with NULL pointers.

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>use COPY_ARRAY</title>
<updated>2016-09-25T23:44:13Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2016-09-25T07:24:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=45ccef87b3cc0ab09ec5fd1186aa0b33298ee8d4'/>
<id>urn:sha1:45ccef87b3cc0ab09ec5fd1186aa0b33298ee8d4</id>
<content type='text'>
Add a semantic patch for converting certain calls of memcpy(3) to
COPY_ARRAY() and apply that transformation to the code base.  The result
is
 shorter and safer code.  For now only consider calls where source and
destination have the same type, or in other words: easy cases.

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>pathspec: warn on empty strings as pathspec</title>
<updated>2016-06-22T23:13:23Z</updated>
<author>
<name>Emily Xie</name>
<email>emilyxxie@gmail.com</email>
</author>
<published>2016-06-22T23:00:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d426430e6ec2a05bf0a4ee88c319dd6072908504'/>
<id>urn:sha1:d426430e6ec2a05bf0a4ee88c319dd6072908504</id>
<content type='text'>
An empty string as a pathspec element matches all paths.  A buggy
script, however, could accidentally assign an empty string to a
variable that then gets passed to a Git command invocation, e.g.:

	path=... compute a path to be removed in $path ...
        git rm -r "$paht"

which would unintentionally remove all paths in the current
directory.

The fix for this issue requires a two-step approach. As there may be
existing scripts that knowingly use empty strings in this manner,
the first step simply gives a warning that (1) tells that an empty
string will become an invalid pathspec element and (2) asks the user
to use "." if they mean to match all.

For step two, a follow-up patch several release cycles later will
remove the warning and throw an error instead.

This patch is the first step.

Signed-off-by: Emily Xie &lt;emilyxxie@gmail.com&gt;
Reported-by: David Turner &lt;novalis@novalis.org&gt;
Mentored-by: Michail Denchev &lt;mdenchev@gmail.com&gt;
Thanks-to: Sarah Sharp &lt;sarah@thesharps.us&gt; and James Sharp &lt;jamey@minilop.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pathspec: rename free_pathspec() to clear_pathspec()</title>
<updated>2016-06-02T21:09:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-06-02T21:09:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ed6e8038f98e7f15e571a9a291ee4acf438b4dc5'/>
<id>urn:sha1:ed6e8038f98e7f15e571a9a291ee4acf438b4dc5</id>
<content type='text'>
The function takes a pointer to a pathspec structure, and releases
the resources held by it, but does not free() the structure itself.
Such a function should be called "clear", not "free".

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>convert trivial cases to ALLOC_ARRAY</title>
<updated>2016-02-22T22:51:09Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-02-22T22:44:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b32fa95fd8293ebfecb2b7b6c8d460579318f9fe'/>
<id>urn:sha1:b32fa95fd8293ebfecb2b7b6c8d460579318f9fe</id>
<content type='text'>
Each of these cases can be converted to use ALLOC_ARRAY or
REALLOC_ARRAY, which has two advantages:

  1. It automatically checks the array-size multiplication
     for overflow.

  2. It always uses sizeof(*array) for the element-size,
     so that it can never go out of sync with the declared
     type of the array.

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>Merge branch 'maint'</title>
<updated>2014-07-21T19:35:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-07-21T19:35:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9ab08822556c49a7856dadd0e9a42f9ec2aaf850'/>
<id>urn:sha1:9ab08822556c49a7856dadd0e9a42f9ec2aaf850</id>
<content type='text'>
* maint:
  use xmemdupz() to allocate copies of strings given by start and length
  use xcalloc() to allocate zero-initialized memory
</content>
</entry>
<entry>
<title>use xcalloc() to allocate zero-initialized memory</title>
<updated>2014-07-21T17:30:21Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2014-07-19T13:56:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=51a60f5bfbaf1ee7c7a2d2b73eca4f042f7af8cb'/>
<id>urn:sha1:51a60f5bfbaf1ee7c7a2d2b73eca4f042f7af8cb</id>
<content type='text'>
Use xcalloc() instead of xmalloc() followed by memset() to allocate
and zero out memory because it's shorter and avoids duplicating the
function parameters.

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>use strbuf_addch for adding single characters</title>
<updated>2014-07-10T21:06:46Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2014-07-10T08:54:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=294b2680cd89234618e329e090b68dc69cc41a37'/>
<id>urn:sha1:294b2680cd89234618e329e090b68dc69cc41a37</id>
<content type='text'>
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>
</feed>
