<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/commit.c, branch v2.6.2</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=v2.6.2</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=v2.6.2'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2015-08-03T18:01:21Z</updated>
<entry>
<title>Merge branch 'jc/commit-slab'</title>
<updated>2015-08-03T18:01:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-03T18:01:21Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=720e20eb68a476d43e59b9bd568da6cc4932a5ef'/>
<id>urn:sha1:720e20eb68a476d43e59b9bd568da6cc4932a5ef</id>
<content type='text'>
Memory use reduction when commit-slab facility is used to annotate
sparsely (which is not recommended in the first place).

* jc/commit-slab:
  commit-slab: introduce slabname##_peek() function
</content>
</entry>
<entry>
<title>Merge branch 'bc/gpg-verify-raw'</title>
<updated>2015-08-03T18:01:12Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-03T18:01:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=ba12cb299f831f29c256c644b01108710c2629e6'/>
<id>urn:sha1:ba12cb299f831f29c256c644b01108710c2629e6</id>
<content type='text'>
"git verify-tag" and "git verify-commit" have been taught to share
more code, and then learned to optionally show the verification
message from the underlying GPG implementation.

* bc/gpg-verify-raw:
  verify-tag: add option to print raw gpg status information
  verify-commit: add option to print raw gpg status information
  gpg: centralize printing signature buffers
  gpg: centralize signature check
  verify-commit: add test for exit status on untrusted signature
  verify-tag: share code with verify-commit
  verify-tag: add tests
</content>
</entry>
<entry>
<title>gpg: centralize signature check</title>
<updated>2015-06-22T21:20:46Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2015-06-21T23:14:40Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=434060ec6d9bf50f095db901da3fb9b557e11df1'/>
<id>urn:sha1:434060ec6d9bf50f095db901da3fb9b557e11df1</id>
<content type='text'>
verify-commit and verify-tag both share a central codepath for verifying
commits: check_signature.  However, verify-tag exited successfully for
untrusted signature, while verify-commit exited unsuccessfully.
Centralize this signature check and make verify-commit adopt the older
verify-tag behavior.  This behavior is more logical anyway, as the
signature is in fact valid, whether or not there's a path of trust to
the author.

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>verify-tag: share code with verify-commit</title>
<updated>2015-06-22T21:20:45Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2015-06-21T23:14:38Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=a4cc18f2934b8d2f00c7c3e11107acb6bfafe2c6'/>
<id>urn:sha1:a4cc18f2934b8d2f00c7c3e11107acb6bfafe2c6</id>
<content type='text'>
verify-tag was executing an entirely different codepath than
verify-commit, except for the underlying verify_signed_buffer.  Move
much of the code from check_commit_signature to a generic
check_signature function and adjust both codepaths to call it.

Update verify-tag to explicitly output the signature text, as we now
call verify_signed_buffer with strbufs to catch the output, which
prevents it from being printed automatically.

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>Merge branch 'jk/squelch-missing-link-warning-for-unreachable'</title>
<updated>2015-06-11T16:29:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-06-11T16:29:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=43262d8d6511212f49d519779505f8a557c8dc84'/>
<id>urn:sha1:43262d8d6511212f49d519779505f8a557c8dc84</id>
<content type='text'>
Recent "git prune" traverses young unreachable objects to safekeep
old objects in the reachability chain from them, which sometimes
caused error messages that are unnecessarily alarming.

* jk/squelch-missing-link-warning-for-unreachable:
  suppress errors on missing UNINTERESTING links
  silence broken link warnings with revs-&gt;ignore_missing_links
  add quieter versions of parse_{tree,commit}
</content>
</entry>
<entry>
<title>add quieter versions of parse_{tree,commit}</title>
<updated>2015-06-01T16:29:42Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-06-01T09:56:26Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=9cc2b07a7c95fad0bb5e3a7a8db29bebdb90d92b'/>
<id>urn:sha1:9cc2b07a7c95fad0bb5e3a7a8db29bebdb90d92b</id>
<content type='text'>
When we call parse_commit, it will complain to stderr if the
object does not exist or cannot be read. This means that we
may produce useless error messages if this situation is
expected (e.g., because the object is marked UNINTERESTING,
or because revs-&gt;ignore_missing_links is set).

We can fix this by adding a new "parse_X_gently" form that
takes a flag to suppress the messages. The existing
"parse_X" form is already gentle in the sense that it
returns an error rather than dying, and we could in theory
just add a "quiet" flag to it (with existing callers passing
"0"). But doing it this way means we do not have to disturb
existing callers.

Note also that the new flag is "quiet_on_missing", and not
just "quiet". We could add a flag to suppress _all_ errors,
but besides being a more invasive change (we would have to
pass the flag down to sub-functions, too), there is a good
reason not to: we would never want to use it. Missing a
linked object is expected in some circumstances, but it is
never expected to have a malformed commit, or to get a tree
when we wanted a commit.  We should always complain about
these corruptions.

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>commit-slab: introduce slabname##_peek() function</title>
<updated>2015-05-22T21:40:30Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-14T22:25:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=862e730ec1c13f28bfb7c8c9ecb39bcc92dd0922'/>
<id>urn:sha1:862e730ec1c13f28bfb7c8c9ecb39bcc92dd0922</id>
<content type='text'>
There is no API to ask "Does this commit have associated data in
slab?".  If an application wants to (1) parse just a few commits at
the beginning of a process, (2) store data for only these commits,
and then (3) start processing many commits, taking into account the
data stored (for a few of them) in the slab, the application would
use slabname##_at() to allocate a space to store data in (2), but
there is no API other than slabname##_at() to use in step (3).  This
allocates and wastes new space for these commits the caller is only
interested in checking if they have data stored in step (2).

Introduce slabname##_peek(), which is similar to slabname##_at() but
returns NULL when there is no data already associated to it in such
a use case.

Helped-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>commit: convert parts to struct object_id</title>
<updated>2015-03-14T05:43:13Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2015-03-13T23:39:34Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=7683e2e6e301835236539a33b2fba936dd1a0a2b'/>
<id>urn:sha1:7683e2e6e301835236539a33b2fba936dd1a0a2b</id>
<content type='text'>
Convert struct commit_graft and necessary local parts of commit.c.
Also, convert several constants based on the hex length of an SHA-1 to
use GIT_SHA1_HEXSZ, and move several magic constants into variables for
readability.

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>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='http://git.kilabit.info/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>Merge branch 'cc/interpret-trailers-more'</title>
<updated>2014-12-22T20:26:24Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-12-22T20:26:23Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=0ed8a4e161c06b82734f5f5268a5b1fb68abb954'/>
<id>urn:sha1:0ed8a4e161c06b82734f5f5268a5b1fb68abb954</id>
<content type='text'>
"git interpret-trailers" learned to properly handle the
"Conflicts:" block at the end.

* cc/interpret-trailers-more:
  trailer: add test with an old style conflict block
  trailer: reuse ignore_non_trailer() to ignore conflict lines
  commit: make ignore_non_trailer() non static
  merge &amp; sequencer: turn "Conflicts:" hint into a comment
  builtin/commit.c: extract ignore_non_trailer() helper function
  merge &amp; sequencer: unify codepaths that write "Conflicts:" hint
  builtin/merge.c: drop a parameter that is never used
</content>
</entry>
</feed>
