threads / discuss / 41037

git leaves behind .git/COMMIT_EDITMSG non-shared in --shared non-bare repo

Subject: git leaves behind .git/COMMIT_EDITMSG non-shared in --shared non-bare repo

## tl;dr

5 messages between Dec 18, 2015 and Dec 19, 2015.

replies: 4people: 3as markdown or json

Yaroslav Halchenko· Dec 18, 2015, 19:55 UTC · lore

Not sure for what batch operations that file is actually useful, but the story is that if we have a shared git repo (I know -- might not be as common of a situation but possible and allowed to happen), then if one from the shared group commits within that repository, it becomes impossible for another person to commit.

git does take care about chmod'ing all the files under .git/objects etc for --shared operation, but leaves .git/COMMIT_EDITMSG at the mercy of user's umask. IMHO correct resolution, if leaving that file behind is necessary, is to chmod it in the same fashion as any other internal .git file in --shared mode -- with group write permission.

I have reproduced that behavior with today's version of git as of 2.7.0.rc1.5.gf3adf45.

-- 
Yaroslav O. Halchenko
Center for Open Neuroscience     http://centerforopenneuroscience.org
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        
Johannes Schindelin· Dec 19, 2015, 10:40 UTC · re: Yaroslav Halchenko · lore

Re: git leaves behind .git/COMMIT_EDITMSG non-shared in --shared non-bare repo

Hi Yaroslav,
On Fri, 18 Dec 2015, Yaroslav Halchenko wrote:
> Not sure for what batch operations that file is actually useful,

None. This file is written when you commit interactively. It is deleted afterwards, unless aborted in a fatal manner.

So I would try to find out who the heck is working interactively without finishing their commit message in that shared directory.

Ciao, Johannes

SZEDER Gábor· Dec 19, 2015, 12:40 UTC · re: Johannes Schindelin · lore

Re: git leaves behind .git/COMMIT_EDITMSG non-shared in --shared non-bare repo

Show 6 quoted lines
> On Fri, 18 Dec 2015, Yaroslav Halchenko wrote:
> 
> > Not sure for what batch operations that file is actually useful,
> 
> None. This file is written when you commit interactively. It is deleted
> afterwards, unless aborted in a fatal manner.

Is it? I have a COMMIT_EDITMSG lying around in just about every git repository I have and couldn't find any unlink() in builtin/commit.c or elsewhere that would remove it. In fact, not deleting it seems to be the desired bahavior, because many tests in t7502-commit.sh depend on this file still being present after a successful 'git commit'.

Gábor
Johannes Schindelin· Dec 19, 2015, 18:24 UTC · re: SZEDER Gábor · lore

Re: git leaves behind .git/COMMIT_EDITMSG non-shared in --shared non-bare repo

Hi Gábor,
On Sat, 19 Dec 2015, SZEDER Gábor wrote:
Show 10 quoted lines
> > On Fri, 18 Dec 2015, Yaroslav Halchenko wrote:
> > 
> > > Not sure for what batch operations that file is actually useful,
> > 
> > None. This file is written when you commit interactively. It is deleted
> > afterwards, unless aborted in a fatal manner.
> 
> Is it?  I have a COMMIT_EDITMSG lying around in just about every git
> repository I have and couldn't find any unlink() in builtin/commit.c
> or elsewhere that would remove it.
Oops. My mistake. Patch sent.

Ciao, Dscho

Yaroslav Halchenko· Dec 19, 2015, 15:01 UTC · re: Johannes Schindelin · lore

Re: git leaves behind .git/COMMIT_EDITMSG non-shared in --shared non-bare repo

fwiw that file is created not only by interactive tasks by with a regular commit -m msg as well.
On December 19, 2015 5:40:43 AM EST, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 15 quoted lines
>Hi Yaroslav,
>
>On Fri, 18 Dec 2015, Yaroslav Halchenko wrote:
>
>> Not sure for what batch operations that file is actually useful,
>
>None. This file is written when you commit interactively. It is deleted
>afterwards, unless aborted in a fatal manner.
>
>So I would try to find out who the heck is working interactively
>without
>finishing their commit message in that shared directory.
>
>Ciao,
>Johannes
-- 
Sent from a phone which beats iPhone.

← back to recent threads