[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

epatch multifile

From: Arseny Sher
Subject: epatch multifile
Date: Wed, 08 Mar 2017 17:12:44 +0300


I am having trouble using epatch while applying multifile patches.
Consider the following simple example:

ars@ars-thinkpad ~/tmp $ mkdir -p old/src
ars@ars-thinkpad ~/tmp $ echo "void main() { }" > old/src/hello.c
ars@ars-thinkpad ~/tmp $ mkdir -p new/src
ars@ars-thinkpad ~/tmp $ echo "int main() { return 0; }" > new/src/hello.c
ars@ars-thinkpad ~/tmp $ diff -cr old/ new/ > tmp.patch
ars@ars-thinkpad ~/tmp $ cat tmp.patch
diff -cr old/src/hello.c new/src/hello.c
*** old/src/hello.c     2017-03-08 14:29:24.743846995 +0300
--- new/src/hello.c     2017-03-08 14:29:32.399846824 +0300
*** 1 ****
! void main() { }
--- 1 ----
! int main() { return 0; }

Now I start emacs and do M-x epatch. First of all, it asks me for
patch buffer or file, I point to '~/tmp/tmp.patch'. Then it asks for
directory to patch, I say '~/tmp/old' and ediff complains

Ediff has inferred that
is assumed to be the target for this patch.  However, this file does not exist.

Please enter an alternative patch target ...

because it ignores the path ('src' directory in this case) to the file.
Ediff manual says: "Ediff can recognize multi-file patches only if they
are in the context format or GNU unified format. All other patches are
treated as 1-file patches. Ediff is [hopefully] using the same algorithm
as patch to determine which files need to be patched." So, if I
understood it correctly, this should work. Is it a bug or what?

I tried it on GNU Emacs versions 25.1, 25.2 RC2 and daily build, the result is the same.

I use GNU/Linux, Ubuntu 14.04.

Arseny Sher

reply via email to

[Prev in Thread] Current Thread [Next in Thread]