I asked this question in stackoverflow a few days ago, but get no answer.
link:
http://stackoverflow.com/questions/29518944/git-add-p-your-edited-hunk-does-not-apply-
edit-again
---
An example, the original file:
test:
make clean
nosetests
clean:
rm -rf htmlcov
rm -rf build dist
coverage erase
The file after changed:
HTMLCOV="htmlcov/"
test:
make clean
nosetests
clean:
coverage erase
rm -rf htmlcov
rm -rf build dist
covhtml:
make clean
nosetests
coverage html
cd ${HTMLCOV} && python -m SimpleHTTPServer
This is the diff:
diff --git a/mf b/mf
index b9ca06e..6316e17 100644
--- a/mf
+++ b/mf
@@ -1,8 +1,16 @@
+HTMLCOV="htmlcov/" # Hunk 1
+
test:
make clean
nosetests
clean:
+ coverage erase # Hunk 2
rm -rf htmlcov
rm -rf build dist
- coverage erase # Hunk 3
+
+covhtml:
+ make clean
+ nosetests
+ coverage html
+ cd ${HTMLCOV} && python -m SimpleHTTPServer
I use git add -p, want only to add:
+ coverage erase
rm -rf htmlcov
rm -rf build dist
- coverage erase
So I first use s to split hunks, and n to ignore first add,
then use y to add second hunk, the third hunk
is:
- coverage erase
+
+covhtml:
+ make clean
+ nosetests
+ coverage html
+ cd ${HTMLCOV} && python -m SimpleHTTPServer
So I use e to manually edit the hunk, I delete all the + lines, it seems:
# Manual hunk edit mode -- see bottom for a quick guide
@@ -6,3 +9,8 @@
rm -rf htmlcov
rm -rf build dist
- coverage erase
# ---
# To remove '-' lines, make them ' ' lines (context).
# To remove '+' lines, delete them.
# Lines starting with # will be removed.
#
# ....
But when I saved, it says:
@@ -6,3 +9,8 @@
rm -rf htmlcov
rm -rf build dist
- coverage erase
+
+covhtml:
+ make clean
+ nosetests
+ coverage html
+ cd ${HTMLCOV} && python -m SimpleHTTPServer
Stage this hunk [y,n,q,a,d,/,K,g,e,?]? e
error: patch failed: mf:1
error: mf: patch does not apply
Your edited hunk does not apply. Edit again (saying "no" discards!) [y/n]?
And then I change to @@ from-file-range to-file-range @@ part to:
@@ -6,3 +9,2 @@
There is still the same problem.
If I first add only the second Hunk,
and then I run git add -p xxx again, and edit the hunk,
there is no problem. Why?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html