git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Git add -p “Your edited hunk does not apply. Edit again”

From
TWTanky Woo <wtq1990@gmail.com>
Date
Apr 14, 2015, 01:56 UTC
Message-ID
<loom.20150414T035141-286@post.gmane.org>
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?
Next: Matthieu Moy
Message 1 of 17 in “Git add -p “Your edited hunk does not apply. Edit again””
  1. Tanky WooApr 14, 2015
  2. Matthieu MoyApr 14, 2015
  3. 0/4 demonstrate add -p and stash -p failures.Matthieu Moy, Apr 14, 2015
  4. 1/4 add -p: demonstrate failure when running 'edit' after a splitMatthieu Moy, Apr 14, 2015
  5. Eric SunshineApr 14, 2015
  6. 2/4 t3904-stash-patch: fix test descriptionMatthieu Moy, Apr 14, 2015
  7. 3/4 t3904-stash-patch: factor PERL prereq at the top of the fileMatthieu Moy, Apr 14, 2015
  8. 4/4 stash -p: demonstrate failure of split with mixed y/nMatthieu Moy, Apr 14, 2015
  9. Eric SunshineApr 14, 2015
  10. Junio C HamanoApr 14, 2015
  11. 0/5 demonstrate add -p and stash -p failuresMatthieu Moy, Apr 16, 2015
  12. 1/5 t3701-add-interactive: simplify codeMatthieu Moy, Apr 16, 2015
  13. 2/5 add -p: demonstrate failure when running 'edit' after a splitMatthieu Moy, Apr 16, 2015
  14. 3/5 t3904-stash-patch: fix test descriptionMatthieu Moy, Apr 16, 2015
  15. 4/5 t3904-stash-patch: factor PERL prereq at the top of the fileMatthieu Moy, Apr 16, 2015
  16. 5/5 stash -p: demonstrate failure of split with mixed y/nMatthieu Moy, Apr 16, 2015
  17. Matthieu MoyApr 14, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.