Re: quiltimport mode detection oddity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 1 Aug 2024 23:51:21 -0400 Jeff King <peff@xxxxxxxx> wrote:

> On Thu, Aug 01, 2024 at 06:07:06PM -0700, Andrew Morton wrote:
> 
> > > So, the patch removes autoconf.h file from that directory.  The
> > > "extended header" part between "diff --git" and "--- a/..." has
> > > "deleted file mode 100664" and that is where the warning comes.
> > 
> > yup yup.  The patch says "remove this file which has mode 100664".
> > 
> > The file has mode 100664.
> > 
> > quiltimport says it had mode 100644.  Incorrectly, I suggest.
> 
> It's definitely a weird case. Git does not record full modes, but just
> cares about the execute bit. So it normalizes modes for regular files to
> 100644 or 100755. You can see that with a simple example:
> 
>   git init
>   echo foo >file
>   chmod 664 file
>   git add file
>   git commit -m 'add file'
> 
>   git ls-files -s
> 
>   cat >patch <<\EOF
>   diff --git a/file b/file
>   deleted file mode 100664
>   --- a/file
>   +++ /dev/null
>   @@ -1 +0,0 @@
>   -foo
>   EOF
>   ls -l file
>   git apply patch
> 
> Even though the filesystem has 100664, the index records 100644 (which
> you can see from the "ls-files" output). And then when we apply the
> patch, we get the "file has type 100644, expected 100664" message.

OK.

> AFAICT, it has been that way forever (I tried as far back as git 1.6.6).
> So this is nothing new, and I don't think Git would ever produce a patch
> that said "file mode 100664" itself (I'm assuming in your case the patch
> is coming from quilt).

yup.

> Alternatively (or maybe in addition), I wonder if quilt should similarly
> canonicalize the mode.

I'll hard code 100644 ;)

> generated elsewhere, but normal patches don't have modes in them at all.
> The "deleted file mode" line is git-ism, so here we have something which
> is implementing the git line in a (slightly) incompatible way.

yup, thanks.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux