<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/cache.h, branch v2.12.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.12.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.12.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2017-03-21T22:03:24Z</updated>
<entry>
<title>Merge branch 'rj/remove-unused-mktemp' into maint</title>
<updated>2017-03-21T22:03:24Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-03-21T22:03:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f56a4390eec81243c259b1022350720f94573c13'/>
<id>urn:sha1:f56a4390eec81243c259b1022350720f94573c13</id>
<content type='text'>
Code cleanup.

* rj/remove-unused-mktemp:
  wrapper.c: remove unused gitmkstemps() function
  wrapper.c: remove unused git_mkstemp() function
</content>
</entry>
<entry>
<title>real_pathdup(): fix callsites that wanted it to die on error</title>
<updated>2017-03-08T22:38:41Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-03-08T15:43:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ce83eadd9a2c63db6263df91933da1b1b865d26a'/>
<id>urn:sha1:ce83eadd9a2c63db6263df91933da1b1b865d26a</id>
<content type='text'>
In 4ac9006f832 (real_path: have callers use real_pathdup and
strbuf_realpath, 2016-12-12), we changed the xstrdup(real_path())
pattern to use real_pathdup() directly.

The problem with this change is that real_path() calls
strbuf_realpath() with die_on_error = 1 while real_pathdup() calls
it with die_on_error = 0. Meaning that in cases where real_path()
causes Git to die() with an error message, real_pathdup() is silent
and returns NULL instead.

The callers, however, are ill-prepared for that change, as they expect
the return value to be non-NULL (and otherwise the function died
with an appropriate error message).

Fix this by extending real_pathdup()'s signature to accept the
die_on_error flag and simply pass it through to strbuf_realpath(),
and then adjust all callers after a careful audit whether they would
handle NULLs well.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>wrapper.c: remove unused git_mkstemp() function</title>
<updated>2017-02-28T19:54:14Z</updated>
<author>
<name>Ramsay Jones</name>
<email>ramsay@ramsayjones.plus.com</email>
</author>
<published>2017-02-28T01:24:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=34de5e4bb0dfe1c05b57c733c2196f1ad3881a98'/>
<id>urn:sha1:34de5e4bb0dfe1c05b57c733c2196f1ad3881a98</id>
<content type='text'>
The last caller of git_mkstemp() was removed in commit 6fec0a89
("verify_signed_buffer: use tempfile object", 16-06-2016). Since
the introduction of the 'tempfile' APIs, along with git_mkstemp_mode,
it is unlikely that new callers will materialize. Remove the dead
code.

Signed-off-by: Ramsay Jones &lt;ramsay@ramsayjones.plus.com&gt;
Reviewed-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 'cw/log-updates-for-all-refs-really'</title>
<updated>2017-02-03T19:25:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-02-03T19:25:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fafca0f72a11bc03263e6f97d07d6f27ea61de48'/>
<id>urn:sha1:fafca0f72a11bc03263e6f97d07d6f27ea61de48</id>
<content type='text'>
The "core.logAllRefUpdates" that used to be boolean has been
enhanced to take 'always' as well, to record ref updates to refs
other than the ones that are expected to be updated (i.e. branches,
remote-tracking branches and notes).

* cw/log-updates-for-all-refs-really:
  doc: add note about ignoring '--no-create-reflog'
  update-ref: add test cases for bare repository
  refs: add option core.logAllRefUpdates = always
  config: add markup to core.logAllRefUpdates doc
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-recursive-absorb'</title>
<updated>2017-02-03T19:25:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-02-03T19:25:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5348021c6750bc22778705a454e4c6ad85414245'/>
<id>urn:sha1:5348021c6750bc22778705a454e4c6ad85414245</id>
<content type='text'>
When a submodule "A", which has another submodule "B" nested within
it, is "absorbed" into the top-level superproject, the inner
submodule "B" used to be left in a strange state.  The logic to
adjust the .git pointers in these submodules has been corrected.

* sb/submodule-recursive-absorb:
  submodule absorbing: fix worktree/gitdir pointers recursively for non-moves
  cache.h: expose the dying procedure for reading gitlinks
  setup: add gentle version of resolve_git_dir
</content>
</entry>
<entry>
<title>Merge branch 'rs/absolute-pathdup'</title>
<updated>2017-02-02T21:36:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-02-02T21:36:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6f1c08bdb75b37ad30103f0f12339780fdc004e2'/>
<id>urn:sha1:6f1c08bdb75b37ad30103f0f12339780fdc004e2</id>
<content type='text'>
Code cleanup.

* rs/absolute-pathdup:
  use absolute_pathdup()
  abspath: add absolute_pathdup()
</content>
</entry>
<entry>
<title>Merge branch 'sb/in-core-index-doc'</title>
<updated>2017-01-31T21:14:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-31T21:14:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=feaad0eec78b8f23e2cf0566c5ddcd0a459ab325'/>
<id>urn:sha1:feaad0eec78b8f23e2cf0566c5ddcd0a459ab325</id>
<content type='text'>
Documentation and in-code comments updates.

* sb/in-core-index-doc:
  documentation: retire unfinished documentation
  cache.h: document add_[file_]to_index
  cache.h: document remove_index_entry_at
  cache.h: document index_name_pos
</content>
</entry>
<entry>
<title>Merge branch 'jk/loose-object-fsck'</title>
<updated>2017-01-31T21:14:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-31T21:14:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=42ace93e41da0abe5a264fb8661f1c7de88206ec'/>
<id>urn:sha1:42ace93e41da0abe5a264fb8661f1c7de88206ec</id>
<content type='text'>
"git fsck" inspects loose objects more carefully now.

* jk/loose-object-fsck:
  fsck: detect trailing garbage in all object types
  fsck: parse loose object paths directly
  sha1_file: add read_loose_object() function
  t1450: test fsck of packed objects
  sha1_file: fix error message for alternate objects
  t1450: refactor loose-object removal
</content>
</entry>
<entry>
<title>refs: add option core.logAllRefUpdates = always</title>
<updated>2017-01-31T18:01:24Z</updated>
<author>
<name>Cornelius Weig</name>
<email>cornelius.weig@tngtech.com</email>
</author>
<published>2017-01-27T10:09:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=341fb28621201c5e6c9d3fee5baf7c532fa8a618'/>
<id>urn:sha1:341fb28621201c5e6c9d3fee5baf7c532fa8a618</id>
<content type='text'>
When core.logallrefupdates is true, we only create a new reflog for refs
that are under certain well-known hierarchies. The reason is that we
know that some hierarchies (like refs/tags) are not meant to change, and
that unknown hierarchies might not want reflogs at all (e.g., a
hypothetical refs/foo might be meant to change often and drop old
history immediately).

However, sometimes it is useful to override this decision and simply log
for all refs, because the safety and audit trail is more important than
the performance implications of keeping the log around.

This patch introduces a new "always" mode for the core.logallrefupdates
option which will log updates to everything under refs/, regardless
where in the hierarchy it is (we still will not log things like
ORIG_HEAD and FETCH_HEAD, which are known to be transient).

Based-on-patch-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Cornelius Weig &lt;cornelius.weig@tngtech.com&gt;
Reviewed-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>abspath: add absolute_pathdup()</title>
<updated>2017-01-26T22:51:06Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2017-01-26T17:47:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b1edb40f255a900154a9e7d34dcb9e0219427bd9'/>
<id>urn:sha1:b1edb40f255a900154a9e7d34dcb9e0219427bd9</id>
<content type='text'>
Add a function that returns a buffer containing the absolute path of its
argument and a semantic patch for its intended use.  It avoids an extra
string copy to a static buffer.

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>
