Thread (7 messages) flat view 7 messages, 3 authors, 2016-06-15

Bug in Git-Gui - Creates corrupt patch

From: <hidden>
Date: 2016-06-15 22:46:17

Hi Shawn,

I have stumbled upon a bug in Git-GUi and am providing reproduction
steps:



1.  Commit this file into a new git repository:

-----------------------------
<?php

class myclass {
	public function funcAbc() {
		echo "line 1";
		echo "line 2";
		echo "line 3";
		echo "line 4";
		echo "line 5";
	}
	
	public function funcBCD() {
		echo "line 1-1";
		echo "line 2-1";
		echo "line 3-1";
		echo "line 4-1";
		echo "line 5-1";
	}
}

?>
--------------

Here is the base64 encoded version:

PD9waHAKCmNsYXNzIG15Y2xhc3MgewoJcHVibGljIGZ1bmN0aW9uIGZ1bmNBYmMoKSB7CgkJZWNo
byAibGluZSAxIjsKCQllY2hvICJsaW5lIDIiOwoJCWVjaG8gImxpbmUgMyI7CgkJZWNobyAibGlu
ZSA0IjsKCQllY2hvICJsaW5lIDUiOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZnVuY0JDRCgpIHsK
CQllY2hvICJsaW5lIDEtMSI7CgkJZWNobyAibGluZSAyLTEiOwoJCWVjaG8gImxpbmUgMy0xIjsK
CQllY2hvICJsaW5lIDQtMSI7CgkJZWNobyAibGluZSA1LTEiOwoJfQp9Cgo/Pg==




2.  Now delete the last function in the class.  Here's the resulting
file, it is not staged or commited yet.

----------------------------
<?php

class myclass {
	public function funcAbc() {
		echo "line 1";
		echo "line 2";
		echo "line 3";
		echo "line 4";
		echo "line 5";
	}
}

?>
----------------------------


Here is the base64 encoded version:

PD9waHAKCmNsYXNzIG15Y2xhc3MgewoJcHVibGljIGZ1bmN0aW9uIGZ1bmNBYmMoKSB7CgkJZWNo
byAibGluZSAxIjsKCQllY2hvICJsaW5lIDIiOwoJCWVjaG8gImxpbmUgMyI7CgkJZWNobyAibGlu
ZSA0IjsKCQllY2hvICJsaW5lIDUiOwoJfQp9Cgo/Pg==




3. Using git-gui, try to stage *only* the last line marked for removal
(should be '-	}').

I get 'fatal: corrupt patch at line 22'.




4. Now try the same task using git-add -p.   Start 'git-add -p'.  Enter
edit mode (e).  Remove all the '-' lines except the last one (make
them ' ') so that only the last '-' will be removed. Save and exit.

On my system the patch is committed.





I'm running git version 1.6.0.6, 32bit linux, Gentoo OS
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help