public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
* [RFH] shifting xdiff hunks?
@ 2006-04-13  6:30 Junio C Hamano
  2006-04-13  6:52 ` Davide Libenzi
  2006-04-13  7:44 ` Jakub Narebski
  0 siblings, 2 replies; 5+ messages in thread
From: Junio C Hamano @ 2006-04-13  6:30 UTC (permalink / raw)
  To: Davide Libenzi; +Cc: git

I was looking at one diff produced from my work-in-progress,
which looked like this...

    diff --git a/Documentation/git.txt b/Documentation/git.txt
    index 06b2e53..f72abfc 100644
    --- a/Documentation/git.txt
    +++ b/Documentation/git.txt
    @@ -265,6 +265,9 @@ gitlink:git-checkout[1]::
     gitlink:git-cherry-pick[1]::
            Cherry-pick the effect of an existing commit.

    +gitlink:git-clean[1]::
    +       Remove untracked files from the working tree.
    +
     gitlink:git-clone[1]::
            Clones a repository into a new directory.

    @@ -318,6 +321,9 @@ gitlink:git-resolve[1]::

     gitlink:git-revert[1]::
            Revert an existing commit.
    +
    +gitlink:git-rm[1]::
    +       Remove files from the working tree and from the index.

     gitlink:git-shortlog[1]::
            Summarizes 'git log' output.

The first hunk begins by an addition of a couple of non-blank
line followed by an addition of a blank line.  The second hunk,
while it does the same thing, is shown differently.

Now, from correctness point of view, this is not a problem at
all, but I am wondering if xdiff can help to always shift the
hunk down or up to consistently produce one way or another
(personally I feel the former is easier to read).

Here is a rough sketch of what I think I want.  When we have
additions, as long as the first line added happens to match the
first line that is common between the versions that comes after
the added hunk (that is, in the case of the second hunk above,
the empty line before "gitlink:git-rm[1]" happens to match the
empty line after the added three lines), roll the hunk down by
one, until you cannot roll it down anymore.

Just in case I get misinterpreted, I am not talking about
treating empty lines in any special way.  It is more about
"starting the hunk with actually changed line".  The first hunk
above clearly begins with something added, while the second one
does not.

Is this something easy to do with the xdiff code?

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-04-13 23:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-13  6:30 [RFH] shifting xdiff hunks? Junio C Hamano
2006-04-13  6:52 ` Davide Libenzi
2006-04-13 21:55   ` Davide Libenzi
2006-04-13 23:31     ` Junio C Hamano
2006-04-13  7:44 ` Jakub Narebski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox