# [RESEND PATCH] fast-import: Cleanup mode setting.

8 messages from 2009-01-14 to 2009-01-14. Participants: Felipe Contreras, Johannes Schindelin, Shawn O. Pearce.
Thread: https://gitlist.dev/t/17160

## Felipe Contreras, 2009-01-14 01:37

Subject: [RESEND PATCH] fast-import: Cleanup mode setting.
Message-ID: <1231897027-16197-1-git-send-email-felipe.contreras@gmail.com>
URL: https://gitlist.dev/e/1231897027-16197-1-git-send-email-felipe.contreras%40gmail.com

```
"S_IFREG | mode" probably is only required for 0644 and 0755.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 fast-import.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/fast-import.c b/fast-import.c
index a6bce66..f0e08ac 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -1872,12 +1872,13 @@ static void file_change_m(struct branch *b)
 	if (!p)
 		die("Corrupt mode: %s", command_buf.buf);
 	switch (mode) {
+	case 0644:
+	case 0755:
+		mode |= S_IFREG;
 	case S_IFREG | 0644:
 	case S_IFREG | 0755:
 	case S_IFLNK:
 	case S_IFGITLINK:
-	case 0644:
-	case 0755:
 		/* ok */
 		break;
 	default:
@@ -1944,7 +1945,7 @@ static void file_change_m(struct branch *b)
 			    typename(type), command_buf.buf);
 	}
 
-	tree_content_set(&b->branch_tree, p, sha1, S_IFREG | mode, NULL);
+	tree_content_set(&b->branch_tree, p, sha1, mode, NULL);
 }
 
 static void file_change_d(struct branch *b)
-- 
1.6.0.6.5.ga66c

```

## Johannes Schindelin, 2009-01-14 02:08

Subject: Re: [RESEND PATCH] fast-import: Cleanup mode setting.
Message-ID: <alpine.DEB.1.00.0901140308200.3586@pacific.mpi-cbg.de>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0901140308200.3586%40pacific.mpi-cbg.de
In-Reply-To: <1231897027-16197-1-git-send-email-felipe.contreras@gmail.com>

```
Hi,

On Wed, 14 Jan 2009, Felipe Contreras wrote:

> "S_IFREG | mode" probably is only required for 0644 and 0755.

Why should we want to have that patch?  IOW what does it fix, and what 
might it break?

Ciao,
Dscho

```

## Shawn O. Pearce, 2009-01-14 02:16

Subject: Re: [RESEND PATCH] fast-import: Cleanup mode setting.
Message-ID: <20090114021648.GV10179@spearce.org>
URL: https://gitlist.dev/e/20090114021648.GV10179%40spearce.org
In-Reply-To: <1231897027-16197-1-git-send-email-felipe.contreras@gmail.com>

```
Felipe Contreras <felipe.contreras@gmail.com> wrote:
> "S_IFREG | mode" probably is only required for 0644 and 0755.
> 
> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>

Acked-by: Shawn O. Pearce <spearce@spearce.org>

> ---
>  fast-import.c |    7 ++++---
>  1 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/fast-import.c b/fast-import.c
> index a6bce66..f0e08ac 100644
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -1872,12 +1872,13 @@ static void file_change_m(struct branch *b)
>  	if (!p)
>  		die("Corrupt mode: %s", command_buf.buf);
>  	switch (mode) {
> +	case 0644:
> +	case 0755:
> +		mode |= S_IFREG;
>  	case S_IFREG | 0644:
>  	case S_IFREG | 0755:
>  	case S_IFLNK:
>  	case S_IFGITLINK:
> -	case 0644:
> -	case 0755:
>  		/* ok */
>  		break;
>  	default:
> @@ -1944,7 +1945,7 @@ static void file_change_m(struct branch *b)
>  			    typename(type), command_buf.buf);
>  	}
>  
> -	tree_content_set(&b->branch_tree, p, sha1, S_IFREG | mode, NULL);
> +	tree_content_set(&b->branch_tree, p, sha1, mode, NULL);
>  }
>  
>  static void file_change_d(struct branch *b)
> -- 
> 1.6.0.6.5.ga66c
> 

-- 
Shawn.

```

## Shawn O. Pearce, 2009-01-14 02:17

Subject: Re: [RESEND PATCH] fast-import: Cleanup mode setting.
Message-ID: <20090114021751.GW10179@spearce.org>
URL: https://gitlist.dev/e/20090114021751.GW10179%40spearce.org
In-Reply-To: <alpine.DEB.1.00.0901140308200.3586@pacific.mpi-cbg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Wed, 14 Jan 2009, Felipe Contreras wrote:
> 
> > "S_IFREG | mode" probably is only required for 0644 and 0755.
> 
> Why should we want to have that patch?  IOW what does it fix, and what 
> might it break?

It cleans up the code to make it more readable.

It makes no sense to be doing S_IFREG | S_IFLINK, which happens when
the input is for a symlink.  It doesn't break anything to do that |
operation, but it also looks damn odd when reading the function.

-- 
Shawn.

```

## Johannes Schindelin, 2009-01-14 02:28

Subject: Re: [RESEND PATCH] fast-import: Cleanup mode setting.
Message-ID: <alpine.DEB.1.00.0901140326530.3586@pacific.mpi-cbg.de>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0901140326530.3586%40pacific.mpi-cbg.de
In-Reply-To: <20090114021751.GW10179@spearce.org>

```
Hi,

On Tue, 13 Jan 2009, Shawn O. Pearce wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > On Wed, 14 Jan 2009, Felipe Contreras wrote:
> > 
> > > "S_IFREG | mode" probably is only required for 0644 and 0755.
> > 
> > Why should we want to have that patch?  IOW what does it fix, and what 
> > might it break?
> 
> It cleans up the code to make it more readable.
> 
> It makes no sense to be doing S_IFREG | S_IFLINK, which happens when
> the input is for a symlink.  It doesn't break anything to do that |
> operation, but it also looks damn odd when reading the function.

Imagining myself reading the commit message 6 months from now, in all 
likeliness I will have wished that those two paragraphs were in there.  
Verbatim.

Ciao,
Dscho

```

## Shawn O. Pearce, 2009-01-14 02:29

Subject: Re: [RESEND PATCH] fast-import: Cleanup mode setting.
Message-ID: <20090114022933.GX10179@spearce.org>
URL: https://gitlist.dev/e/20090114022933.GX10179%40spearce.org
In-Reply-To: <alpine.DEB.1.00.0901140326530.3586@pacific.mpi-cbg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Tue, 13 Jan 2009, Shawn O. Pearce wrote:
> > 
> > It cleans up the code to make it more readable.
> > 
> > It makes no sense to be doing S_IFREG | S_IFLINK, which happens when
> > the input is for a symlink.  It doesn't break anything to do that |
> > operation, but it also looks damn odd when reading the function.
> 
> Imagining myself reading the commit message 6 months from now, in all 
> likeliness I will have wished that those two paragraphs were in there.  
> Verbatim.

Maybe Junio or Felipe can copy it into the message.

Or you can use a git note now to attach it to the commit Junio
hasn't yet created, so you can look it up in the future.  :-)

-- 
Shawn.

```

## Felipe Contreras, 2009-01-14 02:46

Subject: Re: [RESEND PATCH] fast-import: Cleanup mode setting.
Message-ID: <94a0d4530901131846u2121e433ka8620fbb37c8470b@mail.gmail.com>
URL: https://gitlist.dev/e/94a0d4530901131846u2121e433ka8620fbb37c8470b%40mail.gmail.com
In-Reply-To: <20090114022933.GX10179@spearce.org>

```
On Wed, Jan 14, 2009 at 4:29 AM, Shawn O. Pearce <spearce@spearce.org> wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
>> On Tue, 13 Jan 2009, Shawn O. Pearce wrote:
>> >
>> > It cleans up the code to make it more readable.
>> >
>> > It makes no sense to be doing S_IFREG | S_IFLINK, which happens when
>> > the input is for a symlink.  It doesn't break anything to do that |
>> > operation, but it also looks damn odd when reading the function.
>>
>> Imagining myself reading the commit message 6 months from now, in all
>> likeliness I will have wished that those two paragraphs were in there.
>> Verbatim.
>
> Maybe Junio or Felipe can copy it into the message.
>
> Or you can use a git note now to attach it to the commit Junio
> hasn't yet created, so you can look it up in the future.  :-)

How about the attached patch?

"S_IFREG | mode" probably is only required for 0644 and 0755.

It doesn't make sense to do S_IFREG | S_IFLINK (0100000 | 0120000),
since no bits are changed.

-- 
Felipe Contreras


From 2eee342bb2613a3378ea05d22ecdcc31e58f2e22 Mon Sep 17 00:00:00 2001
From: Felipe Contreras <felipe.contreras@gmail.com>
Date: Mon, 22 Dec 2008 04:13:59 +0200
Subject: [PATCH] fast-import: Cleanup mode setting.

"S_IFREG | mode" probably is only required for 0644 and 0755.

It doesn't make sense to do S_IFREG | S_IFLINK (0100000 | 0120000),
since no bits are changed.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 fast-import.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/fast-import.c b/fast-import.c
index a6bce66..f0e08ac 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -1872,12 +1872,13 @@ static void file_change_m(struct branch *b)
 	if (!p)
 		die("Corrupt mode: %s", command_buf.buf);
 	switch (mode) {
+	case 0644:
+	case 0755:
+		mode |= S_IFREG;
 	case S_IFREG | 0644:
 	case S_IFREG | 0755:
 	case S_IFLNK:
 	case S_IFGITLINK:
-	case 0644:
-	case 0755:
 		/* ok */
 		break;
 	default:
@@ -1944,7 +1945,7 @@ static void file_change_m(struct branch *b)
 			    typename(type), command_buf.buf);
 	}
 
-	tree_content_set(&b->branch_tree, p, sha1, S_IFREG | mode, NULL);
+	tree_content_set(&b->branch_tree, p, sha1, mode, NULL);
 }
 
 static void file_change_d(struct branch *b)
-- 
1.6.0.6.5.ga66c


```

## Shawn O. Pearce, 2009-01-14 02:51

Subject: Re: [RESEND PATCH] fast-import: Cleanup mode setting.
Message-ID: <20090114025111.GY10179@spearce.org>
URL: https://gitlist.dev/e/20090114025111.GY10179%40spearce.org
In-Reply-To: <94a0d4530901131846u2121e433ka8620fbb37c8470b@mail.gmail.com>

```
Felipe Contreras <felipe.contreras@gmail.com> wrote:
> 
> How about the attached patch?
> 
> "S_IFREG | mode" probably is only required for 0644 and 0755.
> 
> It doesn't make sense to do S_IFREG | S_IFLINK (0100000 | 0120000),
> since no bits are changed.

Looks fine to me.

-- 
Shawn.

```
