<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/commit.h, branch v1.7.11</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.7.11</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.7.11'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2012-05-11T18:30:08Z</updated>
<entry>
<title>Merge branch 'jk/maint-reflog-walk-count-vs-time'</title>
<updated>2012-05-11T18:30:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-05-11T18:30:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=d318a3997a76155795f28ffefb52158c0c4133ab'/>
<id>urn:sha1:d318a3997a76155795f28ffefb52158c0c4133ab</id>
<content type='text'>
Gives a better DWIM behaviour for --pretty=format:%gd, "stash list", and
"log -g", depending on how the starting point ("master" vs "master@{0}" vs
"master@{now}") and date formatting options (e.g. "--date=iso") are given
on the command line.

By Jeff King (4) and Junio C Hamano (1)
* jk/maint-reflog-walk-count-vs-time:
  reflog-walk: tell explicit --date=default from not having --date at all
  reflog-walk: always make HEAD@{0} show indexed selectors
  reflog-walk: clean up "flag" field of commit_reflog struct
  log: respect date_mode_explicit with --format:%gd
  t1411: add more selector index/date tests
</content>
</entry>
<entry>
<title>log: respect date_mode_explicit with --format:%gd</title>
<updated>2012-05-04T16:39:14Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2012-05-04T05:25:18Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f026c7563a249da9279e664fed16fcd5f55c62db'/>
<id>urn:sha1:f026c7563a249da9279e664fed16fcd5f55c62db</id>
<content type='text'>
When we show a reflog selector (e.g., via "git log -g"), we
perform some DWIM magic: while we normally show the entry's
index (e.g., HEAD@{1}), if the user has given us a date
with "--date", then we show a date-based select (e.g.,
HEAD@{yesterday}).

However, we don't want to trigger this magic if the
alternate date format we got was from the "log.date"
configuration; that is not sufficiently strong context for
us to invoke this particular magic. To fix this, commit
f4ea32f (improve reflog date/number heuristic, 2009-09-24)
introduced a "date_mode_explicit" flag in rev_info. This
flag is set only when we see a "--date" option on the
command line, and we a vanilla date to the reflog code if
the date was not explicit.

Later, commit 8f8f547 (Introduce new pretty formats %g[sdD]
for reflog information, 2009-10-19) added another way to
show selectors, and it did not respect the date_mode_explicit
flag from f4ea32f.

This patch propagates the date_mode_explicit flag to the
pretty-print code, which can then use it to pass the
appropriate date field to the reflog code. This brings the
behavior of "%gd" in line with the other formats, and means
that its output is independent of any user configuration.

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: remove commit_list_reverse()</title>
<updated>2012-04-25T21:51:21Z</updated>
<author>
<name>René Scharfe</name>
<email>rene.scharfe@lsrfire.ath.cx</email>
</author>
<published>2012-04-25T20:35:54Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=a81a7fbc1a423b112158c2d8647ee80caba108ef'/>
<id>urn:sha1:a81a7fbc1a423b112158c2d8647ee80caba108ef</id>
<content type='text'>
The function commit_list_reverse() is not used anymore; delete it.

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sequencer: export commit_list_append()</title>
<updated>2012-04-25T21:51:17Z</updated>
<author>
<name>René Scharfe</name>
<email>rene.scharfe@lsrfire.ath.cx</email>
</author>
<published>2012-04-25T20:35:27Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=89b5f1d9c5e64c9e232fa1ebe0ea407c8773b79a'/>
<id>urn:sha1:89b5f1d9c5e64c9e232fa1ebe0ea407c8773b79a</id>
<content type='text'>
This function can be used in other parts of git.  Give it a new home
in commit.c.

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>revision: insert unsorted, then sort in prepare_revision_walk()</title>
<updated>2012-04-11T15:50:54Z</updated>
<author>
<name>René Scharfe</name>
<email>rene.scharfe@lsrfire.ath.cx</email>
</author>
<published>2012-03-31T22:11:01Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=fbc08ea177f8284d10c62ad39de51edb21af88b0'/>
<id>urn:sha1:fbc08ea177f8284d10c62ad39de51edb21af88b0</id>
<content type='text'>
Speed up prepare_revision_walk() by adding commits without sorting
to the commit_list and at the end sort the list in one go.  Thanks
to mergesort() working behind the scenes, this is a lot faster for
large numbers of commits than the current insert sort.

Also introduce and use commit_list_reverse(), to keep the ordering
of commits sharing the same commit date unchanged.  That's because
commit_list_insert_by_date() sorts commits with descending date,
but adds later entries with the same date entries last, while
commit_list_insert() always inserts entries at the top.  The
following commit_list_sort_by_date() keeps the order of entries
sharing the same date.

Jeff's test case, in a repo with lots of refs, was to run:

  # make a new commit on top of HEAD, but not yet referenced
  sha1=`git commit-tree HEAD^{tree} -p HEAD &lt;/dev/null`

  # now do the same "connected" test that receive-pack would do
  git rev-list --objects $sha1 --not --all

With a git.git with a ref for each revision, master needs (best of
five):

	real	0m2.210s
	user	0m2.188s
	sys	0m0.016s

And with this patch:

	real	0m0.480s
	user	0m0.456s
	sys	0m0.020s

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/show-sig'</title>
<updated>2012-01-06T20:44:07Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-01-06T20:44:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=5de89d3abfca98b0dfd0280d28576940c913d60d'/>
<id>urn:sha1:5de89d3abfca98b0dfd0280d28576940c913d60d</id>
<content type='text'>
* jc/show-sig:
  log --show-signature: reword the common two-head merge case
  log-tree: show mergetag in log --show-signature output
  log-tree.c: small refactor in show_signature()
  commit --amend -S: strip existing gpgsig headers
  verify_signed_buffer: fix stale comment
  gpg-interface: allow use of a custom GPG binary
  pretty: %G[?GS] placeholders
  test "commit -S" and "log --show-signature"
  log: --show-signature
  commit: teach --gpg-sign option

Conflicts:
	builtin/commit-tree.c
	builtin/commit.c
	builtin/merge.c
	notes-cache.c
	pretty.c
</content>
</entry>
<entry>
<title>commit --amend -S: strip existing gpgsig headers</title>
<updated>2012-01-05T21:02:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-01-05T18:54:14Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=c871a1d17b8433d98df59b03da5538f10c4ae52c'/>
<id>urn:sha1:c871a1d17b8433d98df59b03da5538f10c4ae52c</id>
<content type='text'>
Any existing commit signature was made against the contents of the old
commit, including its committer date that is about to change, and will
become invalid by amending it.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/war-on-nul-in-commit'</title>
<updated>2011-12-22T19:27:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-12-22T19:27:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f35ccd9be2db9a55afd09ed1a9338c758fa63d82'/>
<id>urn:sha1:f35ccd9be2db9a55afd09ed1a9338c758fa63d82</id>
<content type='text'>
* nd/war-on-nul-in-commit:
  commit_tree(): refuse commit messages that contain NULs
  Convert commit_tree() to take strbuf as message
  merge: abort if fails to commit

Conflicts:
	builtin/commit.c
	commit.c
	commit.h
</content>
</entry>
<entry>
<title>Convert commit_tree() to take strbuf as message</title>
<updated>2011-12-15T18:46:42Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2011-12-15T13:47:22Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=13f8b72d8c8e24215a3dd7771592b30083f1c740'/>
<id>urn:sha1:13f8b72d8c8e24215a3dd7771592b30083f1c740</id>
<content type='text'>
There wan't a way for commit_tree() to notice if the message the caller
prepared contained a NUL byte, as it did not take the length of the
message as a parameter. Use a pointer to a strbuf instead, so that we can
either choose to allow low-level plumbing commands to make commits that
contain NUL byte in its message, or forbid NUL everywhere by adding the
check in commit_tree(), in later patches.

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>log: --show-signature</title>
<updated>2011-11-13T06:27:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-10-18T22:53:23Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=0c37f1fce6cb7997dbb2703d35eef0dfd86c5070'/>
<id>urn:sha1:0c37f1fce6cb7997dbb2703d35eef0dfd86c5070</id>
<content type='text'>
This teaches the "log" family of commands to pass the GPG signature in the
commit objects to "gpg --verify" via the verify_signed_buffer() interface
used to verify signed tag objects. E.g.

    $ git show --show-signature -s HEAD

shows GPG output in the header part of the output.

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