git add --patch bug with split+edit?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greetings,

If I have a hunk that adds three lines, I can edit the hunk and
remove the last line but I can't split it in two, stage the first
part, edit the second part and remove the last line.  An example:

mkdir gittest
cd gittest
git init
echo "baz\nbaz" > baz
git add baz
git commit -m baz baz
rm baz
echo "sur\nbaz\nbaz\njee\njee" > baz
git add --patch

Now say 's RET y RET e RET' and remove the second "+jee" line using
your editor.  The output for me looks like this:

--8<-----------------------------------------------------------------
diff --git a/baz b/baz
index 1f55335..48a5f83 100644
--- a/baz
+++ b/baz
@@ -1,2 +1,5 @@
+sur
 baz
 baz
+jee
+jee
Stage this hunk [y/n/a/d/s/e/?]? s
Split into 2 hunks.
@@ -1,2 +1,3 @@
+sur
 baz
 baz
Stage this hunk [y/n/a/d/j/J/e/?]? y
@@ -1,2 +2,4 @@
 baz
 baz
+jee
+jee
Stage this hunk [y/n/a/d/K/e/?]? e
Waiting for Emacs...
error: patch failed: baz:1
error: baz: patch does not apply
Your edited hunk does not apply. Edit again (saying "no" discards!) [y/n]?
--8<-----------------------------------------------------------------

What I also didn't expect is that if I answer 'n' to that last
question, I get...

@@ -1,2 +1,3 @@
+sur
 baz
 baz
Stage this hunk [y/n/a/d/j/J/e/?]?

...which is the first part of the splitted hunk that I already
staged.  If I answer 'd', git status and git diff indicate that
"+sur" is nevertheless staged.

Now, if instead of splitting the hunk and editing it, I edit the
entire...

@@ -1,2 +1,5 @@
+sur
 baz
 baz
+jee
+jee

...hunk and remove the last "+jee" line, I get no error.

I'm using git 1.6.1 on Linux.

-- 
Hannu

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux