Re: GNU Patch version?
- From: Rick Dynarski <rdynarski qualcomm com>
- To: meld-list gnome org
- Subject: Re: GNU Patch version?
- Date: Wed, 22 Oct 2008 17:20:55 +0000 (UTC)
Vincent Legoll <vincent.legoll <at> gmail.com> writes:
>
> On Tue, Jul 15, 2008 at 3:26 PM, Edwin Vane <revane <at> gmail.com> wrote:
> > Hi,
> >
> > Using meld today I came across an error dialogue unexpectedly that read:
> >
> > Invoking patch failed, you need GNU patch.
> > 'patch --strip=0 --reverse --directory=/tmp/tmpfsGU0V-meld'
> >
> > I have GNU patch 2.5.9 installed (the most current available to Ubuntu
> > Gutsy). I can't immediately see anything weird about this file but I
> > can look into it later if you guys don't have something obvious to
> > suggest right now. Run from the command-line I get this Traceback:
>
> Could you give us more détails on what you were doing ?
> I assume you were in a source controlled directory, looking
> at files that differ from the committed ones.
>
> It would help if you'll describe very precise steps to reproduce
> the bug. And if you could attach the 2 versions of the file you're
> trying to diff, etc...
>
I had this same problem and was able to track down the failure but am still
looking at how to fix it. The error dialogue happens on any file which fails
when a patch is applied. Patch fails whenever a diff is within 3 lines(normal
diff context) of a SVN expanded keyword. The happens because the patch file
is generated from svn diff(which does not expand the keywords) but in
vcview.show_patch the shutil.copyfile call copies the file from the tree and
this contains all of the subversion keywords expanded. When patch goes to
apply the patch file it will fail because the patch looks like this:
Index: Makefile
===================================================================
--- Makefile (revision 973)
+++ Makefile (working copy)
@@ -1,4 +1,4 @@
-#
+#
# $Id$
#
# The following creates/sets a few fundamental shell variables for us
But the actual file looks like this:
#
# $Id: Makefile 942 2008-10-17 18:55:48Z fubar $
#
# The following creates/sets a few fundamental shell variables for us
Therefore, patch cannot figure out how to apply the patch because the diff
file does not match the real file because in the diff the $Id$ keyword has not
been expanded and in the copied file it has already been expanded by
subversion.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]