threads / discuss / 10462

git apply fails to apply a renamed file in a new directory

Subject: git apply fails to apply a renamed file in a new directory

## tl;dr

4 messages between Oct 25, 2007 and Oct 25, 2007.

replies: 3people: 2as markdown or json

Sam Ravnborg· Oct 25, 2007, 18:07 UTC · lore

I just stumbled on what looks like a simple bug in git apply. I had following diff:

diff --git a/arch/i386/defconfig b/arch/x86/configs/i386_defconfig
similarity index 100%
rename from arch/i386/defconfig
rename to arch/x86/configs/i386_defconfig
diff --git a/arch/x86_64/defconfig b/arch/x86/configs/x86_64_defconfig
similarity index 100%
rename from arch/x86_64/defconfig
rename to arch/x86/configs/x86_64_defconfig
-- 
1.5.3.4.1157.g0e74-dirty

When trying to apply this diff using:
git apply -p1 < .../patch

I noticed that the two defconfig files were deleted as expected,
but the renamed versions did not appear in the arch/x86/configs/
directory.
The configs/ directory did not exist and was not created.
Without looking at git apply I assume that the rename failed because
it is not prepared to rename a file to a directory that does not exist.

Buried in other stuff so I did not take a look myself..

	Sam
Alex Riesen· Oct 25, 2007, 21:30 UTC · re: Sam Ravnborg · lore

Re: git apply fails to apply a renamed file in a new directory

Sam Ravnborg, Thu, Oct 25, 2007 20:07:37 +0200:
Show 16 quoted lines
> I just stumbled on what looks like a simple bug in git apply.
> I had following diff:
> 
> diff --git a/arch/i386/defconfig b/arch/x86/configs/i386_defconfig
> similarity index 100%
> rename from arch/i386/defconfig
> rename to arch/x86/configs/i386_defconfig
> diff --git a/arch/x86_64/defconfig b/arch/x86/configs/x86_64_defconfig
> similarity index 100%
> rename from arch/x86_64/defconfig
> rename to arch/x86/configs/x86_64_defconfig
> -- 
> 1.5.3.4.1157.g0e74-dirty
> 
> When trying to apply this diff using:
> git apply -p1 < .../patch
works here. Don't use -p1, it is assumed
Alex Riesen· Oct 25, 2007, 21:35 UTC · re: Alex Riesen · lore

Re: git apply fails to apply a renamed file in a new directory

Alex Riesen, Thu, Oct 25, 2007 23:30:38 +0200:
Show 14 quoted lines
> Sam Ravnborg, Thu, Oct 25, 2007 20:07:37 +0200:
> > I just stumbled on what looks like a simple bug in git apply.
> > I had following diff:
> > 
> > diff --git a/arch/i386/defconfig b/arch/x86/configs/i386_defconfig
> > similarity index 100%
> > rename from arch/i386/defconfig
> > rename to arch/x86/configs/i386_defconfig
> > diff --git a/arch/x86_64/defconfig b/arch/x86/configs/x86_64_defconfig
> > similarity index 100%
> > rename from arch/x86_64/defconfig
> > rename to arch/x86/configs/x86_64_defconfig
> > -- 
> > 1.5.3.4.1157.g0e74-dirty

.1157...-dirty. Your git looks heavily modified. Could you try with a something like master of kernel.org?

Mine is based off d90a7fda355c251b8ffdd79617fb083c18245ec2 (builtin-fetch got merged).

Show 5 quoted lines
> > When trying to apply this diff using:
> > git apply -p1 < .../patch
> 
> works here. Don't use -p1, it is assumed
> 
Sam Ravnborg· Oct 25, 2007, 21:41 UTC · re: Alex Riesen · lore

Re: git apply fails to apply a renamed file in a new directory

On Thu, Oct 25, 2007 at 11:35:23PM +0200, Alex Riesen wrote:
Show 18 quoted lines
> Alex Riesen, Thu, Oct 25, 2007 23:30:38 +0200:
> > Sam Ravnborg, Thu, Oct 25, 2007 20:07:37 +0200:
> > > I just stumbled on what looks like a simple bug in git apply.
> > > I had following diff:
> > > 
> > > diff --git a/arch/i386/defconfig b/arch/x86/configs/i386_defconfig
> > > similarity index 100%
> > > rename from arch/i386/defconfig
> > > rename to arch/x86/configs/i386_defconfig
> > > diff --git a/arch/x86_64/defconfig b/arch/x86/configs/x86_64_defconfig
> > > similarity index 100%
> > > rename from arch/x86_64/defconfig
> > > rename to arch/x86/configs/x86_64_defconfig
> > > -- 
> > > 1.5.3.4.1157.g0e74-dirty
> 
> .1157...-dirty. Your git looks heavily modified. Could you try with a
> something like master of kernel.org?
I guess I still have Linus' rename stuff added - will update.
Show 9 quoted lines
> 
> Mine is based off d90a7fda355c251b8ffdd79617fb083c18245ec2
> (builtin-fetch got merged).
> 
> > > When trying to apply this diff using:
> > > git apply -p1 < .../patch
> > 
> > works here. Don't use -p1, it is assumed
> > 

It seems to be a picnic[*] bug - at least I cannot reproduce it. Sorry for the noise but thanks for testing.

[*] Problem In Chair Not In Computer
	Sam

← back to recent threads