Hello, looking closer the patch really is malformed: --------- series -------- newfile.patch -p2 ----- newfile.patch ----- Patch description diff --git a/someproject/uselesss.c b/someproject/uselesss.c new file mode 100644 --- /dev/null +++ b/uselesss.c @@ -0,0 +1,3 @@ +/* + * This patch creates a useless file + */ ------------------------- Not sure if it is desirable to handle better, and if there is even a better way. Thanks Michal On Wed, Oct 26, 2022 at 10:32:04AM +0200, Michal Suchanek wrote: > In git 2.38.0 it is not possible to create a file with apply when the diff > looks like git diff. > > It either complains that the source file is not /dev/null or that it is > not the same as the destination. > > something.patch > No author found in something.patch > --- > Sometext > > Author: A. U. Thor <au@xxxxxxxx> > gitdiff_verify_name: line: b/somefile.c > @@ -0,0 +1,379 @@ > +/* > ... > , isnull: 0, *name: somefile.c, side: 1, another: (null) > error: git apply: bad git-diff - inconsistent new filename on line 80 > > something.patch > No author found in something.patch > --- > Sometext > > Author: A. U. Thor <au@xxxxxxxx> > gitdiff_verify_name: line: a/somefile.c > +++ b/somefile.c > @@ -0,0 +1,379 @@ > +/* > ... > , isnull: 1, *name: (null), side: 0 > error: git apply: bad git-diff - expected /dev/null on line 80 > > Signed-off-by: Michal Suchanek <msuchanek@xxxxxxx> > --- > apply.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/apply.c b/apply.c > index 2b7cd930ef..9dd01da271 100644 > --- a/apply.c > +++ b/apply.c > @@ -928,7 +928,7 @@ static int gitdiff_verify_name(struct gitdiff_data *state, > return error(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"), > *name, state->linenr); > another = find_name(state->root, line, NULL, state->p_value, TERM_TAB); > - if (!another || strcmp(another, *name)) { > + if (another && strcmp(another, *name)) { > free(another); > return error((side == DIFF_NEW_NAME) ? > _("git apply: bad git-diff - inconsistent new filename on line %d") : > -- > 2.38.0 >