<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/commit.c, branch v1.6.3.1</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.6.3.1</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.6.3.1'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2009-02-11T05:32:10Z</updated>
<entry>
<title>Revert "Merge branch 'js/notes'"</title>
<updated>2009-02-11T05:32:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-02-11T05:31:33Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=954cfb5cfd17d57b9b31b19b73efe73199407e07'/>
<id>urn:sha1:954cfb5cfd17d57b9b31b19b73efe73199407e07</id>
<content type='text'>
This reverts commit 7b75b331f6744fbf953fe8913703378ef86a2189, reversing
changes made to 5d680a67d7909c89af96eba4a2d77abed606292b.
</content>
</entry>
<entry>
<title>Merge branch 'js/notes'</title>
<updated>2009-02-06T03:40:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-02-06T03:40:39Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=7b75b331f6744fbf953fe8913703378ef86a2189'/>
<id>urn:sha1:7b75b331f6744fbf953fe8913703378ef86a2189</id>
<content type='text'>
* js/notes:
  git-notes: fix printing of multi-line notes
  notes: fix core.notesRef documentation
  Add an expensive test for git-notes
  Speed up git notes lookup
  Add a script to edit/inspect notes
  Introduce commit notes

Conflicts:
	pretty.c
</content>
</entry>
<entry>
<title>Make has_commit() non-static</title>
<updated>2009-01-28T19:33:03Z</updated>
<author>
<name>Jake Goulding</name>
<email>goulding@vivisimo.com</email>
</author>
<published>2009-01-26T14:13:24Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=7fcdb36e29f9a5e779bc9e44cd69f8f69fac9426'/>
<id>urn:sha1:7fcdb36e29f9a5e779bc9e44cd69f8f69fac9426</id>
<content type='text'>
Move has_commit() from branch to a common location, in preparation for
using it in "git-tag". Rename it to is_descendant_of() to make it more
unique and descriptive.

Signed-off-by: Jake Goulding &lt;goulding@vivisimo.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Introduce commit notes</title>
<updated>2008-12-21T10:47:21Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2008-12-20T12:05:14Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=879ef2485d6ced20845ca626ecb45a9b65aa3a70'/>
<id>urn:sha1:879ef2485d6ced20845ca626ecb45a9b65aa3a70</id>
<content type='text'>
Commit notes are blobs which are shown together with the commit
message.  These blobs are taken from the notes ref, which you can
configure by the config variable core.notesRef, which in turn can
be overridden by the environment variable GIT_NOTES_REF.

The notes ref is a branch which contains "files" whose names are
the names of the corresponding commits (i.e. the SHA-1).

The rationale for putting this information into a ref is this: we
want to be able to fetch and possibly union-merge the notes,
maybe even look at the date when a note was introduced, and we
want to store them efficiently together with the other objects.

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>commit.c: make read_graft_file() static</title>
<updated>2008-10-03T01:03:35Z</updated>
<author>
<name>Nanako Shiraishi</name>
<email>nanako3@lavabit.com</email>
</author>
<published>2008-10-02T10:14:30Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=c5ae6439d454288a809dd7c916e44ec4a5ae0b3b'/>
<id>urn:sha1:c5ae6439d454288a809dd7c916e44ec4a5ae0b3b</id>
<content type='text'>
This function is not called by any other file.

Signed-off-by: Nanako Shiraishi &lt;nanako3@lavabit.com&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>sort_in_topological_order(): avoid setting a commit flag</title>
<updated>2008-07-23T19:00:21Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2008-07-23T00:51:36Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=e358f3c31e1ae9f653e9b2a6be69f5df53b4ba7e'/>
<id>urn:sha1:e358f3c31e1ae9f653e9b2a6be69f5df53b4ba7e</id>
<content type='text'>
We used to set the TOPOSORT flag of commits during the topological
sorting, but we can just as well use the member "indegree" for it:
indegree is now incremented by 1 in the cases where the commit used
to have the TOPOSORT flag.

This is the same behavior as before, since indegree could not be
non-zero when TOPOSORT was unset.

Incidentally, this fixes the bug in show-branch where the 8th column
was not shown: show-branch sorts the commits in topological order,
assuming that all the commit flags are available for show-branch's
private matters.

But this was not true: TOPOSORT was identical to the flag corresponding
to the 8th ref.  So the flags for the 8th column were unset by the
topological sorting.

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>reduce_heads(): protect from duplicate input</title>
<updated>2008-07-14T07:09:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-07-14T07:09:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=711f6b295cf463aae07eb76e009faed3d3699623'/>
<id>urn:sha1:711f6b295cf463aae07eb76e009faed3d3699623</id>
<content type='text'>
Because we do not try computing merge base with itself for obvious
reasons, the code was not prepared for an arguably insane case of
the caller feeding the same commit twice to it.

Noticed and test written by Sverre Hvammen Johansen

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>reduce_heads(): thinkofix</title>
<updated>2008-07-13T20:53:54Z</updated>
<author>
<name>Sverre Hvammen Johansen</name>
<email>hvammen+git@gmail.com</email>
</author>
<published>2008-07-13T08:13:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=3d1dd4728b83e4c08d9fa7aaf2aa946e1012e061'/>
<id>urn:sha1:3d1dd4728b83e4c08d9fa7aaf2aa946e1012e061</id>
<content type='text'>
When comparing two commit objects for equality, it is sufficient to
compare their in-core pointers because the object layer guarantees the
uniqueness.  However, comparing pointers to two "struct commit_list"
instances that point at the same commit does not make any sense.

Spotted by Sverre Hvammen Johansen who wrote an additional test to expose
the problem, fixed by Miklos Vajna.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Introduce reduce_heads()</title>
<updated>2008-07-01T05:45:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-06-27T16:22:03Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=98cf9c3bd7504d36e6049939bf9cc624f2cf5b9f'/>
<id>urn:sha1:98cf9c3bd7504d36e6049939bf9cc624f2cf5b9f</id>
<content type='text'>
The new function reduce_heads() is given a list of commits, and removes
ones that can be reached from other commits in the list.  It is useful for
reducing the commits randomly thrown at the git-merge command and remove
redundant commits that the user shouldn't have given to it.

The implementation uses the get_merge_bases_many() introduced in the
previous commit.  If the merge base between one commit taken from the list
and the remaining commits is the commit itself, that means the commit is
reachable from some of the other commits.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Introduce get_merge_bases_many()</title>
<updated>2008-07-01T05:45:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-06-27T16:22:02Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6a938648e1454842157b84408acbb6471ec6745f'/>
<id>urn:sha1:6a938648e1454842157b84408acbb6471ec6745f</id>
<content type='text'>
This introduces a new function get_merge_bases_many() which is a natural
extension of two commit merge base computation.  It is given one commit
(one) and a set of other commits (twos), and computes the merge base of
one and a merge across other commits.

This is mostly useful to figure out the common ancestor when iterating
over heads during an octopus merge.  When making an octopus between
commits A, B, C and D, we first merge tree of A and B, and then try to
merge C with it.  If we were making pairwise merge, we would be recording
the tree resulting from the merge between A and B as a commit, say M, and
then the next round we will be computing the merge base between M and C.

         o---C...*
        /       .
       o---B...M
      /       .
     o---o---A

But during an octopus merge, we actually do not create a commit M.  In
order to figure out that the common ancestor to use for this merge,
instead of computing the merge base between C and M, we can call
merge_bases_many() with one set to C and twos containing A and B.

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