<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/submodule.c, branch v2.4.9</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.4.9</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.4.9'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-05-20T20:49:10Z</updated>
<entry>
<title>use file_exists() to check if a file exists in the worktree</title>
<updated>2015-05-20T20:49:10Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2015-05-19T21:44:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dbe44faadb87f88e092f3dac387f96070268137a'/>
<id>urn:sha1:dbe44faadb87f88e092f3dac387f96070268137a</id>
<content type='text'>
Call file_exists() instead of open-coding it.  That's shorter, simpler
and the intent becomes clearer.

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>submodule: use capture_command</title>
<updated>2015-03-23T04:39:16Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-03-23T03:53:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1d4974c9bcbe3c9c0611cb056730d49c6b0b6b5e'/>
<id>urn:sha1:1d4974c9bcbe3c9c0611cb056730d49c6b0b6b5e</id>
<content type='text'>
In is_submodule_commit_present, we call run_command followed
by a pipe read, which is prone to deadlock. It is unlikely
to happen in this case, as rev-list should never produce
more than a single line of output, but it does not hurt to
avoid an anti-pattern (and using the helper simplifies the
setup and cleanup).

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 'jc/merge-bases'</title>
<updated>2015-01-07T20:55:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-01-07T20:55:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=098501527f2b5628f086d3d9d2fda87220c069a5'/>
<id>urn:sha1:098501527f2b5628f086d3d9d2fda87220c069a5</id>
<content type='text'>
The get_merge_bases*() API was easy to misuse by careless
copy&amp;paste coders, leaving object flags tainted in the commits that
needed to be traversed.

* jc/merge-bases:
  get_merge_bases(): always clean-up object flags
  bisect: clean flags after checking merge bases
</content>
</entry>
<entry>
<title>get_merge_bases(): always clean-up object flags</title>
<updated>2014-10-30T19:51:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-10-30T19:20:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2ce406ccb85c4546b6d19309a6101b37c7bd952e'/>
<id>urn:sha1:2ce406ccb85c4546b6d19309a6101b37c7bd952e</id>
<content type='text'>
The callers of get_merge_bases() can choose to leave object flags
used during the merge-base traversal by passing cleanup=0 as a
parameter, but in practice a very few callers can afford to do so
(namely, "git merge-base"), as they need to compute merge base in
preparation for other processing of their own and they need to see
the object without contaminate flags.

Change the function signature of get_merge_bases_many() and
get_merge_bases() to drop the cleanup parameter, so that the
majority of the callers do not have to say ", 1" at the end.

Give a new get_merge_bases_many_dirty() API to support only a few
callers that know they do not need to spend cycles cleaning up the
object flags.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>run-command: introduce CHILD_PROCESS_INIT</title>
<updated>2014-08-20T16:53:37Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2014-08-19T19:09:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d3180279322c7450a47decf8833de47f444ca93f'/>
<id>urn:sha1:d3180279322c7450a47decf8833de47f444ca93f</id>
<content type='text'>
Most struct child_process variables are cleared using memset first after
declaration.  Provide a macro, CHILD_PROCESS_INIT, that can be used to
initialize them statically instead.  That's shorter, doesn't require a
function call and is slightly more readable (especially given that we
already have STRBUF_INIT, ARGV_ARRAY_INIT etc.).

Helped-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
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>Merge branch 'ta/string-list-init'</title>
<updated>2014-07-23T18:35:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-07-23T18:35:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=955d7be808b455cdf2eb60306a690958c3bb49ca'/>
<id>urn:sha1:955d7be808b455cdf2eb60306a690958c3bb49ca</id>
<content type='text'>
* ta/string-list-init:
  replace memset with string-list initializers
  string-list: add string_list initializer helper function
</content>
</entry>
<entry>
<title>replace memset with string-list initializers</title>
<updated>2014-07-21T17:23:44Z</updated>
<author>
<name>Tanay Abhra</name>
<email>tanayabh@gmail.com</email>
</author>
<published>2014-07-18T09:19:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f93d7c6fa0548e95ca2795d900671a87c1a88ea3'/>
<id>urn:sha1:f93d7c6fa0548e95ca2795d900671a87c1a88ea3</id>
<content type='text'>
Using memset and then manually setting values of the string-list
members is not future proof as the internal representation of
string-list may change any time.
Use `string_list_init()` or STRING_LIST_INIT_* macros instead of
memset.

Signed-off-by: Tanay Abhra &lt;tanayabh@gmail.com&gt;
Reviewed-by: Matthieu Moy &lt;Matthieu.Moy@imag.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>submodule.c: use the ARRAY_SIZE macro</title>
<updated>2014-06-30T20:39:23Z</updated>
<author>
<name>Elia Pinto</name>
<email>gitter.spiros@gmail.com</email>
</author>
<published>2014-06-27T12:11:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=94c0cc8f72835abe59fdcce34d8401a7c54a2af7'/>
<id>urn:sha1:94c0cc8f72835abe59fdcce34d8401a7c54a2af7</id>
<content type='text'>
Use the ARRAY_SIZE macro to get the number
of elements in an array.

Signed-off-by: Elia Pinto &lt;gitter.spiros@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kb/fast-hashmap'</title>
<updated>2014-02-27T22:01:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-02-27T22:01:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d637d1b9a8fb765a8542e69bd2e04b3e229f663b'/>
<id>urn:sha1:d637d1b9a8fb765a8542e69bd2e04b3e229f663b</id>
<content type='text'>
Improvements to our hash table to get it to meet the needs of the
msysgit fscache project, with some nice performance improvements.

* kb/fast-hashmap:
  name-hash: retire unused index_name_exists()
  hashmap.h: use 'unsigned int' for hash-codes everywhere
  test-hashmap.c: drop unnecessary #includes
  .gitignore: test-hashmap is a generated file
  read-cache.c: fix memory leaks caused by removed cache entries
  builtin/update-index.c: cleanup update_one
  fix 'git update-index --verbose --again' output
  remove old hash.[ch] implementation
  name-hash.c: remove cache entries instead of marking them CE_UNHASHED
  name-hash.c: use new hash map implementation for cache entries
  name-hash.c: remove unreferenced directory entries
  name-hash.c: use new hash map implementation for directories
  diffcore-rename.c: use new hash map implementation
  diffcore-rename.c: simplify finding exact renames
  diffcore-rename.c: move code around to prepare for the next patch
  buitin/describe.c: use new hash map implementation
  add a hashtable implementation that supports O(1) removal
  submodule: don't access the .gitmodules cache entry after removing it
</content>
</entry>
<entry>
<title>replace {pre,suf}fixcmp() with {starts,ends}_with()</title>
<updated>2013-12-05T22:13:21Z</updated>
<author>
<name>Christian Couder</name>
<email>chriscool@tuxfamily.org</email>
</author>
<published>2013-11-30T20:55:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=59556548230e617b837343c2c07e357e688e2ca4'/>
<id>urn:sha1:59556548230e617b837343c2c07e357e688e2ca4</id>
<content type='text'>
Leaving only the function definitions and declarations so that any
new topic in flight can still make use of the old functions, replace
existing uses of the prefixcmp() and suffixcmp() with new API
functions.

The change can be recreated by mechanically applying this:

    $ git grep -l -e prefixcmp -e suffixcmp -- \*.c |
      grep -v strbuf\\.c |
      xargs perl -pi -e '
        s|!prefixcmp\(|starts_with\(|g;
        s|prefixcmp\(|!starts_with\(|g;
        s|!suffixcmp\(|ends_with\(|g;
        s|suffixcmp\(|!ends_with\(|g;
      '

on the result of preparatory changes in this series.

Signed-off-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
