<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/diff-tree.c, branch v1.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.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2006-02-12T07:18:33Z</updated>
<entry>
<title>diff-tree: do not default to -c</title>
<updated>2006-02-12T07:18:33Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-02-12T00:43:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6932c78cb4485380a8ff63575a47a58a4e308bfd'/>
<id>urn:sha1:6932c78cb4485380a8ff63575a47a58a4e308bfd</id>
<content type='text'>
Marco says it breaks qgit.  This makes the flags a bit more
orthogonal.

  $ git-diff-tree -r --abbrev ca18

    No output from this command because you asked to skip merge by
    not having -m there.

  $ git-diff-tree -r -m --abbrev ca18
  ca182053c7710a286d72102f4576cf32e0dafcfb
  :100644 100644 538d21d... 59042d1... M	Makefile
  :100644 100644 410b758... 6c47c3a... M	entry.c
  ca182053c7710a286d72102f4576cf32e0dafcfb
  :100644 100644 30479b4... 59042d1... M	Makefile

    The same "independent sets of diff" as before without -c.

  $ git-diff-tree -r -m -c --abbrev ca18
  ca182053c7710a286d72102f4576cf32e0dafcfb
  ::100644 100644 100644 538d21d... 30479b4... 59042d1... MM	Makefile

    Combined.

  $ git-diff-tree -r -c --abbrev ca18
  ca182053c7710a286d72102f4576cf32e0dafcfb
  ::100644 100644 100644 538d21d... 30479b4... 59042d1... MM	Makefile

    Asking for combined without -m does not make sense, so -c
    implies -m.

We need to supply -c as default to whatchanged, which is a
one-liner.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>combine-diff: move formatting logic to show_combined_diff()</title>
<updated>2006-02-09T23:23:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-02-09T23:23:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0a798076b8d1a4a31bf2b24c564e2a99fd1c43a1'/>
<id>urn:sha1:0a798076b8d1a4a31bf2b24c564e2a99fd1c43a1</id>
<content type='text'>
This way, diff-files can make use of it.  Also implement the
full suite of what diff_flush_raw() supports just for
consistency.  With this, 'diff-tree -c -r --name-status' would
show what is expected.

There is no way to get the historical output (useful for
debugging and low-level Plumbing work) anymore, so tentatively
it makes '-m' to mean "do not combine and show individual diffs
with parents".

diff-files matches diff-tree to produce raw output for -c.  For
textual combined diff, use -p -c.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff-tree -c raw output</title>
<updated>2006-02-09T19:46:05Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-02-09T18:30:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ee63802422af14e43eccce3c6dc4150a27ceb1a3'/>
<id>urn:sha1:ee63802422af14e43eccce3c6dc4150a27ceb1a3</id>
<content type='text'>
NOTE! This makes "-c" be the default, which effectively means that merges 
are never ignored any more, and "-m" is a no-op. So it changes semantics.

I would also like to make "--cc" the default if you do patches, but didn't 
actually do that.

The raw output format is not wonderfully pretty, but it's distinguishable 
from a "normal patch" in that a normal patch with just one parent has just 
one colon at the beginning, while a multi-parent raw diff has &lt;n&gt; colons 
for &lt;n&gt; parents.

So now, in the kernel, when you do

	git-diff-tree cce0cac125623f9b68f25dd1350f6d616220a8dd

(to see the manual ARM merge that had a conflict in arch/arm/Kconfig), you 
get

	cce0cac125623f9b68f25dd1350f6d616220a8dd
	::100644 100644 100644 4a63a8e2e45247a11c068c6ed66c6e7aba29ddd9 77eee38762d69d3de95ae45dd9278df9b8225e2c 2f61726d2f4b636f6e66696700dbf71a59dad287       arch/arm/Kconfig

ie you see two colons (two parents), then three modes (parent modes 
followed by result mode), then three sha1s (parent sha1s followed by
result sha1).

Which is pretty close to the normal raw diff output.

Cool/stupid exercise:

	$ git-whatchanged | grep '^::' | cut -f2- | sort |
	  uniq -c | sort -n | less -S

will show which files have needed the most file-level merge conflict
resolution. Useful? Probably not. But kind of interesting.

For the kernel, it's

     ....
     10 arch/ia64/Kconfig
     11 drivers/scsi/Kconfig
     12 drivers/net/Makefile
     17 include/linux/libata.h
     18 include/linux/pci_ids.h
     23 drivers/net/Kconfig
     24 drivers/scsi/libata-scsi.c
     28 drivers/scsi/libata-core.c
     43 MAINTAINERS

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Fix "git diff a..b" breakage</title>
<updated>2006-02-07T21:19:50Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-02-07T18:26:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=deb989b57d01cc1ed10ec245245a0e6214a16f87'/>
<id>urn:sha1:deb989b57d01cc1ed10ec245245a0e6214a16f87</id>
<content type='text'>
The "--cc" implies "-p", but without the recursive part.

		Linus

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git-diff-tree --stdin: show all parents.</title>
<updated>2006-02-06T07:00:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-02-06T07:00:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=45392a648d7449d237ecc2507bc92378bf920bf0'/>
<id>urn:sha1:45392a648d7449d237ecc2507bc92378bf920bf0</id>
<content type='text'>
git-diff-tree --stdin ignored second and subsequent parents when
fed git-rev-list --parents output.  Update diff_tree_commit()
function to take a commit object, and pass a fabricated commit
object after grafting the fake parents from diff_tree_stdin().

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>combine-diff: remove misguided --show-empty hack.</title>
<updated>2006-02-06T06:25:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-02-06T06:25:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e3c3a550d4815d34b5674776c36cdd6d8a31ab85'/>
<id>urn:sha1:e3c3a550d4815d34b5674776c36cdd6d8a31ab85</id>
<content type='text'>
Now --always flag is available in diff-tree, there is no reason
to have that hack in the diffcore side.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff-tree --always flag</title>
<updated>2006-02-05T21:46:19Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-02-05T19:42:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ec0bdb6f1e8fd772ff9eb920ebcb7dd1afcaf362'/>
<id>urn:sha1:ec0bdb6f1e8fd772ff9eb920ebcb7dd1afcaf362</id>
<content type='text'>
It _might_ make sense for certain users like gitk and gitview if
we had a single tool that gives --pretty and its diff even if
the diff is empty.  Having said that, the flag --cc -m is too
specific.  If some uses want to see the commit log even for an
empty diff, that flag should not be something only --cc honors.

Here's an "--always" flag that does that.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Merge lt/revlist,jc/diff,jc/revparse,jc/abbrev</title>
<updated>2006-01-28T08:16:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-28T08:16:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=addafaf92eeb86033da91323d0d3ad7a496dae83'/>
<id>urn:sha1:addafaf92eeb86033da91323d0d3ad7a496dae83</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pretty_print_commit(): pass commit object instead of commit-&gt;buffer.</title>
<updated>2006-01-28T08:09:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-27T09:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3815f423ae39bf774de3c268c6d3e3b72128a4e5'/>
<id>urn:sha1:3815f423ae39bf774de3c268c6d3e3b72128a4e5</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff-tree: abbreviate merge parent object names with --abbrev --pretty.</title>
<updated>2006-01-28T08:09:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-25T10:37:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b2d4c56f2f370481c80e478ac323ebb13eece807'/>
<id>urn:sha1:b2d4c56f2f370481c80e478ac323ebb13eece807</id>
<content type='text'>
When --abbrev is in effect, abbreviate the merge parent names
in prettyprinted output.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
