threads / patch / 51524

patchstop it from failing silently when git apply patch and show err info

Subject: [PATCH] stop it from failing silently when git apply patch and show err info

## tl;dr

2 messages between Jul 25, 2019 and Jul 25, 2019. Diffs are folded; open one to read it.

replies: 1people: 1as markdown or json

simon gao· Jul 25, 2019, 10:43 UTC · lore
Signed-off-by: simon gao <simon29rock@gmail.com>
---
 apply.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Show changes to apply.c +3 −1
diff --git a/apply.c b/apply.c
index 4992eca..47b16aa 100644
--- a/apply.c
+++ b/apply.c
@@ -2093,8 +2093,10 @@ static int use_patch(struct apply_state *state, struct patch *p)
 	/* Paths outside are not touched regardless of "--include" */
 	if (state->prefix && *state->prefix) {
 		const char *rest;
-		if (!skip_prefix(pathname, state->prefix, &rest) || !*rest)
+		if (!skip_prefix(pathname, state->prefix, &rest) || !*rest){
+			error(_("%s doesn't contain the prefix(%s)"), pathname, state->prefix);
 			return 0;
+		}
 	}
 
 	/* See if it matches any of exclude/include rule */
-- 
1.8.3.1
simon gao· Jul 25, 2019, 12:15 UTC · re: simon gao · lore

Re: [PATCH] stop it from failing silently when git apply patch and show err info

I create 001.patch in dir, ceph_master
ceph_master
|--- .git
|--- src
|--- tools
|--- ...
local project directory:
storage
|---.git
|---ceph_**.*.**
    |--- src
    |--- tools
    |--- ...

I'm trying to apply the patch, and git apply patch doesn't give me any errors. like this cd storage/ceph_**.*.** && git apply 001.patch I check code and I find that root directory need to be set using "--directory" I think we need show some info about it.

thinks
simon gao <simon29rock@gmail.com> 于2019年7月25日周四 下午6:43写道:
Show 25 quoted lines
>
> Signed-off-by: simon gao <simon29rock@gmail.com>
> ---
>  apply.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/apply.c b/apply.c
> index 4992eca..47b16aa 100644
> --- a/apply.c
> +++ b/apply.c
> @@ -2093,8 +2093,10 @@ static int use_patch(struct apply_state *state, struct patch *p)
>         /* Paths outside are not touched regardless of "--include" */
>         if (state->prefix && *state->prefix) {
>                 const char *rest;
> -               if (!skip_prefix(pathname, state->prefix, &rest) || !*rest)
> +               if (!skip_prefix(pathname, state->prefix, &rest) || !*rest){
> +                       error(_("%s doesn't contain the prefix(%s)"), pathname, state->prefix);
>                         return 0;
> +               }
>         }
>
>         /* See if it matches any of exclude/include rule */
> --
> 1.8.3.1
>

← back to recent threads