[git-users] git patches
Hello, i have some problems with git patches. I have a SVN Trunk and a GIT Trunk. Now i want to add svn changes to git. I do: git svn clone svnTrunk svnTrunkClone git log --oneline git format-patch 1b5b9e7..f58e5d6 patch -p 1 name.patch (git apply doesnt work) Errors from git apply: error: patch failed: standard/tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php:20 error: standard/tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php: patch does not apply Error from path patching file tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php Hunk #1 FAILED at 20. 1 out of 1 hunk FAILED -- saving rejects to file tests/cases/de/ dbcentral/standard/login/LoginRouteStandardTest.php.rej Any ideas? -- You received this message because you are subscribed to the Google Groups Git for human beings group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.
Re: [git-users] git patches
On Fri, 5 Aug 2011 04:07:32 -0700 (PDT) Thorsten Peters impyna...@googlemail.com wrote: i have some problems with git patches. I have a SVN Trunk and a GIT Trunk. Now i want to add svn changes to git. I do: git svn clone svnTrunk svnTrunkClone git log --oneline git format-patch 1b5b9e7..f58e5d6 patch -p 1 name.patch (git apply doesnt work) Errors from git apply: error: patch failed: standard/tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php:20 error: standard/tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php: patch does not apply Error from path patching file tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php Hunk #1 FAILED at 20. 1 out of 1 hunk FAILED -- saving rejects to file tests/cases/de/ dbcentral/standard/login/LoginRouteStandardTest.php.rej These errors actually look the same: same hunk of the same file failed at the same line. Any ideas? Some possible cases to investigate: First, git-format-patch formats a patch *series* for e-mail submission. This means when you run it with $rev1...$rev2, it prepares *several* patches--one for each revision; if you use --stdout, it generates one stream of patches, but they're still distinct. In either case, this program produces something suitable for `git am`, that is, it produces a Unix-style mailbox file. Hence you could try to run `git am` on the generated file(s). And this leads us to a second thought: to create a patch representing the changeset introduced by one particular commit or a range of commits, you could just do $ git show $rev that_rev.patch or $ git show $rev1..$rev2 another.patch But note than in the latter case the patches will be in reverse order, that is, in the order `git log` would show the commits given the same revision spec. Last, Git patches are no different from the standard unidiff format produced by `diff -u ...` (and understood by `patch`), except that Git also includes some meta information about added or deleted files and their (POSIX) filesystem access permission bits. I'm not sure, but this could leave the `patch` utility puzzled. Your errors do not look like being induced by this bit, though. -- You received this message because you are subscribed to the Google Groups Git for human beings group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.
[git-users] Re: git patches
Ok, it seems that i have forgotten one rev, so patch -p1 test.patch work for the the first rev now. If i try git am i got the message: error: appc/dbc/functions.inc.php: does not exist in index error: tests/bootstrap.php: does not exist in index What is better? git am or patch ? On 5 Aug., 13:57, Konstantin Khomoutov flatw...@users.sourceforge.net wrote: On Fri, 5 Aug 2011 04:07:32 -0700 (PDT) Thorsten Peters impyna...@googlemail.com wrote: i have some problems with git patches. I have a SVN Trunk and a GIT Trunk. Now i want to add svn changes to git. I do: git svn clone svnTrunk svnTrunkClone git log --oneline git format-patch 1b5b9e7..f58e5d6 patch -p 1 name.patch (git apply doesnt work) Errors from git apply: error: patch failed: standard/tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php:20 error: standard/tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php: patch does not apply Error from path patching file tests/cases/de/dbcentral/standard/login/ LoginRouteStandardTest.php Hunk #1 FAILED at 20. 1 out of 1 hunk FAILED -- saving rejects to file tests/cases/de/ dbcentral/standard/login/LoginRouteStandardTest.php.rej These errors actually look the same: same hunk of the same file failed at the same line. Any ideas? Some possible cases to investigate: First, git-format-patch formats a patch *series* for e-mail submission. This means when you run it with $rev1...$rev2, it prepares *several* patches--one for each revision; if you use --stdout, it generates one stream of patches, but they're still distinct. In either case, this program produces something suitable for `git am`, that is, it produces a Unix-style mailbox file. Hence you could try to run `git am` on the generated file(s). And this leads us to a second thought: to create a patch representing the changeset introduced by one particular commit or a range of commits, you could just do $ git show $rev that_rev.patch or $ git show $rev1..$rev2 another.patch But note than in the latter case the patches will be in reverse order, that is, in the order `git log` would show the commits given the same revision spec. Last, Git patches are no different from the standard unidiff format produced by `diff -u ...` (and understood by `patch`), except that Git also includes some meta information about added or deleted files and their (POSIX) filesystem access permission bits. I'm not sure, but this could leave the `patch` utility puzzled. Your errors do not look like being induced by this bit, though. -- You received this message because you are subscribed to the Google Groups Git for human beings group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.