threads / discuss / 14789

Filtering mode changes

Subject: Filtering mode changes

## tl;dr

3 messages between Aug 1, 2008 and Aug 1, 2008.

replies: 2people: 3as markdown or json

Stefan Naewe· Aug 1, 2008, 11:25 UTC · lore
Hi there.
Here's my story:
- I did some minor modifications to a repo that I want to 'give back'.
- I worked on my own branch (of course).
- I was stupid to edit the files (that live on a linux box) through a windows
  network share.
- When I created diffs (using 'git format-patch') to send send 'upstream', I 
  noticed that the edited files got their executable bit set (old mode 100644 ->
  new mode 100755)
- I created another commit to undo the mode changes.
My question:

Is there a way to create clean diffs (between master and my branch) that don't contain the 'double mode change' (from 644 to 755 to 644) ?

TIA
Stefan
Matt Pearson· Aug 1, 2008, 12:23 UTC · re: Stefan Naewe · lore

Re: Filtering mode changes

On Fri, Aug 1, 2008 at 7:25 AM, Stefan Naewe <stefan.naewe+git@gmail.com> wrote:
Show 18 quoted lines
> Hi there.
>
> Here's my story:
>
> - I did some minor modifications to a repo that I want to 'give back'.
> - I worked on my own branch (of course).
> - I was stupid to edit the files (that live on a linux box) through a windows
>  network share.
> - When I created diffs (using 'git format-patch') to send send 'upstream', I
>  noticed that the edited files got their executable bit set (old mode 100644 ->
>  new mode 100755)
> - I created another commit to undo the mode changes.
>
> My question:
>
> Is there a way to create clean diffs (between master and my branch) that don't
> contain the 'double mode change' (from 644 to 755 to 644) ?
>

You probably want to use 'git rebase -i master' and the 'squash' command to combine the changes into one. If multiple commits messed up the permissions, use the 'edit' command and the rebase will stop after the specified commits, allowing you to fix things up, then do 'git commit --amend'. Use 'git rebase --continue' to continue fixing the patches.

Santi Béjar· Aug 1, 2008, 12:32 UTC · re: Stefan Naewe · lore

Re: Filtering mode changes

On Fri, Aug 1, 2008 at 13:25, Stefan Naewe <stefan.naewe+git@gmail.com> wrote:
Show 8 quoted lines
> Hi there.
>
> Here's my story:
>
> - I did some minor modifications to a repo that I want to 'give back'.
> - I worked on my own branch (of course).
> - I was stupid to edit the files (that live on a linux box) through a windows
>  network share.
Then, you should set core.fileMode to false.
> - When I created diffs (using 'git format-patch') to send send 'upstream', I
>  noticed that the edited files got their executable bit set (old mode 100644 ->
>  new mode 100755)
You can just edit the patches and remove the "old/new mode" lines.
> - I created another commit to undo the mode changes.

You can use "git rebase -i" and edit (or squash) the revision before generating the patch.

Santi

← back to recent threads