On Thu, Mar 12, 2009 at 7:14 PM, Martin Paraskevov <martin.paraskevov@xxxxxxxxx> wrote: > Hi all, > > I did the following: > > edited > did commit 1 > edited > did commit 2 > edited > did commit 3 > > Now I want to patch the changes between 2 and 3 onto 1, i.e. have commit 3 but > with the changes from commit 2 removed. I created a branch where I reset > it to commit 1 and then tried to apply the diff between 3 and 2. > > The patch however won't patch certain files. It contains the excerpt below, > for example, so it should be patching directory.c but it isn't. The command > I'm running is just: > > % git apply filesys.patch > > What am I doing wrong? It's hard to say what's going wrong when we can't see the exact errors, git tree and patch in question, but if you just want to remove a patch, there are easier ways to do it. If you want to keep the old patch in the history, but reverse it, do: git revert commitid This will record a new commit that reverses the changes in the indicated one. This is the recommended way to do things if others have based work off your branch. If you want to completely forget about the patch in question, you can do this using git rebase --interactive: git rebase --interactive commitid~ (an editor will open; remove the patch in question from the list, save and exit your editor) (fix any conflicts that come up as prompted) This will delete it from history, but will result in commit IDs for commits after that point changing. If anyone has based work off your branch, then you might have a hard time merging later. -- 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