<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/commit.c, 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-25T00:16:41Z</updated>
<entry>
<title>ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT</title>
<updated>2012-05-25T00:16:41Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2012-05-24T23:28:40Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f9bc573fdaeaf8621008f3f49aaaa64869791691'/>
<id>urn:sha1:f9bc573fdaeaf8621008f3f49aaaa64869791691</id>
<content type='text'>
Callers who ask for ERROR_ON_NO_NAME are not so much
concerned that the name will be blank (because, after all,
we will fall back to using the username), but rather it is a
check to make sure that low-quality identities do not end up
in things like commit messages or emails (whereas it is OK
for them to end up in things like reflogs).

When future commits add more quality checks on the identity,
each of these callers would want to use those checks, too.
Rather than modify each of them later to add a new flag,
let's refactor the flag.

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>Merge branch 'rs/commit-list-sort-in-batch'</title>
<updated>2012-04-23T19:52:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-04-23T19:52:54Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=ba8e6326f16748d67fbeda65ffde4729760c64f0'/>
<id>urn:sha1:ba8e6326f16748d67fbeda65ffde4729760c64f0</id>
<content type='text'>
Setting up a revision traversal with many starting points was inefficient
as these were placed in a date-order priority queue one-by-one.

By René Scharfe (3) and Junio C Hamano (1)
* rs/commit-list-sort-in-batch:
  mergesort: rename it to llist_mergesort()
  revision: insert unsorted, then sort in prepare_revision_walk()
  commit: use mergesort() in commit_list_sort_by_date()
  add mergesort() for linked lists
</content>
</entry>
<entry>
<title>mergesort: rename it to llist_mergesort()</title>
<updated>2012-04-17T18:07:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-04-17T18:07:01Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=7365c95d2d67cbbb74c2040918d2ecde06231d93'/>
<id>urn:sha1:7365c95d2d67cbbb74c2040918d2ecde06231d93</id>
<content type='text'>
Even though the function is generic enough, &lt;anything&gt;sort() inherits
connotations from the standard function qsort() that sorts an array.
Rename it to llist_mergesort() and describe the external interface in
its header file.

This incidentally avoids name clashes with mergesort() some platforms
declare in, and contaminate user namespace with, their &lt;stdlib.h&gt;.

Reported-by: Brian Gernhardt
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>commit: use mergesort() in commit_list_sort_by_date()</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:10:39Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=46905893b20ac2a044c06a0eecc12425a8405e69'/>
<id>urn:sha1:46905893b20ac2a044c06a0eecc12425a8405e69</id>
<content type='text'>
Replace the insertion sort in commit_list_sort_by_date() with a
call to the generic mergesort function.  This sets the stage for
using commit_list_sort_by_date() for larger lists, as shown in
the next patch.

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 'nd/index-pack-no-recurse'</title>
<updated>2012-01-29T21:18:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-01-29T21:18:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=5a304dd303cd47d8b05b17766399010a674e799a'/>
<id>urn:sha1:5a304dd303cd47d8b05b17766399010a674e799a</id>
<content type='text'>
* nd/index-pack-no-recurse:
  index-pack: eliminate unlimited recursion in get_base_data()
  index-pack: eliminate recursion in find_unresolved_deltas
  Eliminate recursion in setting/clearing marks in commit list
</content>
</entry>
<entry>
<title>Eliminate recursion in setting/clearing marks in commit list</title>
<updated>2012-01-16T22:27:24Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2012-01-14T12:19:53Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=941ba8db57f2d075aee48b002ee30686288cb502'/>
<id>urn:sha1:941ba8db57f2d075aee48b002ee30686288cb502</id>
<content type='text'>
Recursion in a DAG is generally a bad idea because it could be very
deep. Be defensive and avoid recursion in mark_parents_uninteresting()
and clear_commit_marks().

mark_parents_uninteresting() learns a trick from clear_commit_marks()
to avoid malloc() in (dominant) single-parent case.

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>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>
</feed>
