<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/commit.c, branch v1.8.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.8.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.8.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2013-04-12T20:38:40Z</updated>
<entry>
<title>Correct common spelling mistakes in comments and tests</title>
<updated>2013-04-12T20:38:40Z</updated>
<author>
<name>Stefano Lattarini</name>
<email>stefano.lattarini@gmail.com</email>
</author>
<published>2013-04-11T22:36:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=41ccfdd9c931ee71b09f38f4eb19cf44a8e4381d'/>
<id>urn:sha1:41ccfdd9c931ee71b09f38f4eb19cf44a8e4381d</id>
<content type='text'>
Most of these were found using Lucas De Marchi's codespell tool.

Signed-off-by: Stefano Lattarini &lt;stefano.lattarini@gmail.com&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Acked-by: Matthieu Moy &lt;Matthieu.Moy@imag.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Move print_commit_list to libgit.a</title>
<updated>2012-10-29T07:08:30Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2012-10-26T15:53:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=efc7df454e9ec8b730fb2293c8549cec43de6bfa'/>
<id>urn:sha1:efc7df454e9ec8b730fb2293c8549cec43de6bfa</id>
<content type='text'>
This is used by bisect.c, part of libgit.a while it stays in
builtin/rev-list.c. Move it to commit.c so that we won't get undefined
reference if a program that uses libgit.a happens to pull it in.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/merge-bases-paint-fix'</title>
<updated>2012-10-08T18:42:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-10-08T18:42:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=683a820d511b3a05ea997fb4a83e78d65b623293'/>
<id>urn:sha1:683a820d511b3a05ea997fb4a83e78d65b623293</id>
<content type='text'>
"git fmt-merge-msg" (an internal helper reduce_heads() it uses) had
a severe performance regression; an empty "git pull" took forever to
finish as the result.

* jc/merge-bases-paint-fix:
  paint_down_to_common(): parse commit before relying on its timestamp
</content>
</entry>
<entry>
<title>paint_down_to_common(): parse commit before relying on its timestamp</title>
<updated>2012-10-04T22:49:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-10-04T22:37:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d866924a080215dd276c510abf255a8929b55643'/>
<id>urn:sha1:d866924a080215dd276c510abf255a8929b55643</id>
<content type='text'>
When refactoring the merge-base computation to reduce the pairwise
O(n*(n-1)) traversals to parallel O(n) traversals, the code forgot
that timestamp based heuristics needs each commit to have been
parsed.  This caused an empty "git pull" to spend cycles, traversing
the history all the way down to 0 (because an unparsed commit object
has 0 timestamp, and any other commit object with positive timestamp
will be processed for its parents, all getting parsed), only to come
up with a merge message to be used.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>commit.c: mark a file-scope private symbol as static</title>
<updated>2012-09-16T05:58:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-15T20:58:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=82a75299fa63a388a9a4823bcb687e50964d95fb'/>
<id>urn:sha1:82a75299fa63a388a9a4823bcb687e50964d95fb</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/merge-bases'</title>
<updated>2012-09-11T18:36:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-11T18:35:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=34f5130af84f7a37fba327d5a5be4f4427dc6886'/>
<id>urn:sha1:34f5130af84f7a37fba327d5a5be4f4427dc6886</id>
<content type='text'>
Optimise the "merge-base" computation a bit, and also update its
users that do not need the full merge-base information to call a
cheaper subset.

* jc/merge-bases:
  reduce_heads(): reimplement on top of remove_redundant()
  merge-base: "--is-ancestor A B"
  get_merge_bases_many(): walk from many tips in parallel
  in_merge_bases(): use paint_down_to_common()
  merge_bases_many(): split out the logic to paint history
  in_merge_bases(): omit unnecessary redundant common ancestor reduction
  http-push: use in_merge_bases() for fast-forward check
  receive-pack: use in_merge_bases() for fast-forward check
  in_merge_bases(): support only one "other" commit
</content>
</entry>
<entry>
<title>Merge branch 'lt/commit-tree-guess-utf-8'</title>
<updated>2012-09-07T18:08:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-07T18:08:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ae80b5a8928770a2b56c390d13bd3c48ebd2255f'/>
<id>urn:sha1:ae80b5a8928770a2b56c390d13bd3c48ebd2255f</id>
<content type='text'>
Teach "git commit" and "git commit-tree" the "we are told to use
utf-8 in log message, but this does not look like utf-8---attempt to
pass it through convert-from-latin1-to-utf8 and see if it makes
sense" heuristics "git mailinfo" already uses.

* lt/commit-tree-guess-utf-8:
  commit/commit-tree: correct latin1 to utf-8
</content>
</entry>
<entry>
<title>reduce_heads(): reimplement on top of remove_redundant()</title>
<updated>2012-08-31T18:45:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-08-31T06:20:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f37d3c755209234acfc2ca280027ebdab8e9ea8a'/>
<id>urn:sha1:f37d3c755209234acfc2ca280027ebdab8e9ea8a</id>
<content type='text'>
This is used by "git merge" and "git merge-base --independent" but
used to use a similar N*(N-1) traversals to reject commits that are
ancestors of other commits.

Reimplement it on top of remove_redundant().  Note that the callers
of this function are allowed to pass the same commit more than once,
but remove_redundant() is designed to be fed each commit only once.
The function removes duplicates before calling remove_redundant().

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>get_merge_bases_many(): walk from many tips in parallel</title>
<updated>2012-08-31T00:25:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-08-30T22:35:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=94f0ced0d08c8f835992b82224231b9353490e0c'/>
<id>urn:sha1:94f0ced0d08c8f835992b82224231b9353490e0c</id>
<content type='text'>
The get_merge_bases_many() function reduces the result returned by
the merge_bases_many() function, which is a set of possible merge
bases, by excluding commits that can be reached from other commits.
We used to do N*(N-1) traversals for this, but we can check if one
commit reaches which other (N-1) commits by a single traversal, and
repeat it for all the candidates to find the answer.

Introduce remove_redundant() helper function to do this painting; we
should be able to use it to reimplement reduce_heads() as well.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>in_merge_bases(): use paint_down_to_common()</title>
<updated>2012-08-31T00:25:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-08-30T22:04:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6440fdbab430bc10fdac37e86ae25607c93d3903'/>
<id>urn:sha1:6440fdbab430bc10fdac37e86ae25607c93d3903</id>
<content type='text'>
With paint_down_to_common(), we can tell if "commit" is reachable
from "reference" by simply looking at its object flag, instead of
iterating over the merge bases.

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