From: Arseny Sher <sher-ars@yandex.ru>
To: Tino Calancha <tino.calancha@gmail.com>
Cc: Michael Heerdegen <michael_heerdegen@web.de>, 26028@debbugs.gnu.org
Subject: bug#26028: 26.0.50; epatch for multifile patches
Date: Thu, 09 Mar 2017 14:44:11 +0300 [thread overview]
Message-ID: <87shmmvfn8.fsf@yandex.ru> (raw)
In-Reply-To: <87d1drfcqp.fsf@calancha-pc> (Tino Calancha's message of "Thu, 09 Mar 2017 10:41:18 +0900")
Tino Calancha <tino.calancha@gmail.com> writes:
>> How should I apply tmp.patch to proj?
> Ediff uses the `default-directory' for the patch buffer as a hint.
> When i apply patches generated with VCS i _always_ set the
> `default-directory' of the patch buffer equal as the root directory of
> the project. That makes multi patches work OK.
> This is how i would do in your exmple:
> M-: (dired "/tmp/proj") RET
> C-x b *p* RET ; Now copy the patch here in your favourite way.
> C-x 4 r /tmp/tmp.patch RET
> C-x h M-w C-x o C-y
> M-x epatch RET y *p* RET /tmp/proj/src RET
Honestly, I didn't understand your answer.
1) I don't see any effects of changing the default directory. I set
default directory of buffer with patch to ~/tmp/proj as you say, then
run epatch, firstly point it to this buffer, then specify ~/tmp/proj
(because this is project root, and I want to patch the whole project!)
as target directory and it fails again, exactly as before.
2) Interpreting your instructions literally, I should specify
~/tmp/proj/src as target directory to ediff (answer to its last
question). Well, then it works, but this is precisely the behaviour
which doesn't make any sense to me: ediff just ignores the path to
file ('src' directory here). And it happens totally independent of
default directory value, I tried with different ones.
I suppose that the whole point of applying multifile patch is to allow
ediff deduce which files (with full paths) it needs to patch
automatically, without manually specifying dirs like 'src'. Imagine
we have also hello.h file under proj/include; then, if I tell ediff
to use ~/tmp/proj/src dir as target directory as you say, it will
successfully patch hello.c, but it will fail again attempting to
patch hello.h, because there is no such file proj/src/hello.h.
So, it is hard for me to suggest better epatch behaviour because I
actually don't comprehend its current one. I don't know why other people
don't encounter these problems. Probably they just apply patches via git
and only then look at the diff via ediff, and I should go the same
way...
next prev parent reply other threads:[~2017-03-09 11:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-08 17:29 bug#26028: 26.0.50; epatch for multifile patches Arseny Sher
2017-03-08 19:17 ` Eli Zaretskii
2017-03-08 21:53 ` Arseny Sher
2017-03-09 1:41 ` Tino Calancha
2017-03-09 11:44 ` Arseny Sher [this message]
2017-05-23 11:26 ` Tino Calancha
2017-05-23 22:45 ` Michael Heerdegen
2017-05-24 0:46 ` Tino Calancha
2020-08-11 7:34 ` Stefan Kangas
2020-10-03 22:25 ` Michael Heerdegen
2021-05-10 12:02 ` Lars Ingebrigtsen
2021-05-12 9:27 ` Michael Heerdegen
2021-05-13 16:29 ` Filipp Gunbin
2021-05-16 13:57 ` Lars Ingebrigtsen
2021-07-23 12:54 ` Lars Ingebrigtsen
2022-03-24 8:34 ` Lars Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87shmmvfn8.fsf@yandex.ru \
--to=sher-ars@yandex.ru \
--cc=26028@debbugs.gnu.org \
--cc=michael_heerdegen@web.de \
--cc=tino.calancha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.