From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>, git@vger.kernel.org
Subject: Re: [PATCH] Teach "git apply" to prepend a prefix with "--root=<root>"
Date: Tue, 01 Jul 2008 02:21:55 -0700 [thread overview]
Message-ID: <7vvdzqnemk.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <alpine.DEB.1.00.0807010043440.9925@racer> (Johannes Schindelin's message of "Tue, 1 Jul 2008 00:44:47 +0100 (BST)")
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> With "git apply --root=<root>", all file names in the patch are prepended
> with <root>. If a "-p" value was given, the paths are stripped _before_
> prepending <root>.
> @@ -182,6 +182,10 @@ behavior:
> by inspecting the patch (e.g. after editing the patch without
> adjusting the hunk headers appropriately).
>
> +--root=<root>::
> + Prepend <root> to all filenames. If a "-p" argument was passed, too,
> + it is applied before prepending the new root.
> +
I looked for precedence of this concept outside git but did not find
anything that exactly matched.
The -p<num> came from patch where it is also called --strip=num. This new
option --root is about the reverse operation and it is about inserting at
the beginning --- it is rerooting, in other words, but then --root is good
enough and shorter. mkisofs uses the word "graft" when it allows tree
shifting (enabled with --graft-points), but the word "graft" means a
totally different thing to us, so we would not want to use that word.
I am not complaining (--root is fine by me), but just thinking aloud,
hoping somebody's brainwave is provoked while reading this babbling and
comes up with a better wording ;-).
> diff --git a/builtin-apply.c b/builtin-apply.c
> index 9fcfe39..d56d913 100644
> --- a/builtin-apply.c
> +++ b/builtin-apply.c
> @@ -58,6 +58,8 @@ static int whitespace_error;
> @@ -3240,6 +3252,18 @@ int cmd_apply(int argc, const char **argv, const char *unused_prefix)
> options |= RECOUNT;
> continue;
> }
> + if (!strncmp(arg, "--root=", strlen("--root="))) {
prefixcmp()?
> + arg += strlen("--root=");
> + root_len = strlen(arg);
> + if (root_len && arg[root_len + 1] != '/') {
Ah, being nice not to force trailing slash on users --- how unlike you ;-)
but I think you meant "arg[root_len - 1]" there...
Other than that, the change looks fine. Thanks.
next prev parent reply other threads:[~2008-07-01 9:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-30 23:44 [PATCH] Teach "git apply" to prepend a prefix with "--root=<root>" Johannes Schindelin
2008-07-01 9:21 ` Junio C Hamano [this message]
2008-07-01 16:05 ` H. Peter Anvin
2008-07-01 16:36 ` Johannes Schindelin
2008-07-01 16:57 ` H. Peter Anvin
2008-07-01 18:10 ` Raimund Bauer
2008-07-01 20:27 ` H. Peter Anvin
2008-07-01 16:34 ` Johannes Schindelin
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=7vvdzqnemk.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=hpa@zytor.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox