Re: Unable to create temporary file '/var/git/tmv3-target-overlay.git/shallow_Un8ZOR': Permission denied
- From
- Joakim Tjernlund <joakim.tjernlund@transmode.se>
- Date
- Sep 17, 2015, 16:54 UTC
- Message-ID
- <1442508864.21964.26.camel@transmode.se>
- In-Reply-To
- <CACsJy8BAOXWt2aVge7W8Mk9v0HbHHGkSQFwySeioam9r+n6z_Q@mail.gmail.com>
On Thu, 2015-09-17 at 20:18 +0700, Duy Nguyen wrote:
Show 42 quoted lines
> On Mon, Sep 14, 2015 at 10:37 PM, Joakim Tjernlund
> <joakim.tjernlund@transmode.se> wrote:
> > On Mon, 2015-08-31 at 16:56 +0700, Duy Nguyen wrote:
> > > On Fri, Aug 21, 2015 at 6:36 PM, Joakim Tjernlund
> > > <joakim.tjernlund@transmode.se> wrote:
> > > > I cannot push:
> > > > # > git push origin
> > > > Login for jocke@git.transmode.se
> > > > Password:
> > > > Counting objects: 7, done.
> > > > Delta compression using up to 4 threads.
> > > > Compressing objects: 100% (7/7), done.
> > > > Writing objects: 100% (7/7), 13.73 KiB | 0 bytes/s, done.
> > > > Total 7 (delta 4), reused 0 (delta 0)
> > > > fatal: Unable to create temporary file '/var/git/tmv3-target-overlay.git/shallow_Un8ZOR': Permission
> > > > denied
> > > > fatal: The remote end hung up unexpectedly
> > > > fatal: The remote end hung up unexpectedly
> > >
> > > Noted. Will try to fix (but probably not fast). At first I thought
> > > this was an old bug, but that old bug [1] is in the fetch/clone path,
> > > not push. Not sure if the same approach can be reused here (i.e.avoid
> > > temp files altoghether).
> > >
> > > [1] b790e0f (upload-pack: send shallow info over stdin to pack-objects
> > > - 2014-03-11)
> >
> > Noticed I had forgotten to reply ...
> >
> > An even simpler fix would be to have an tmp dir within the repo, aka:
> > /var/git/tmv3-target-overlay.git/tmp/shallow_Un8ZOR
> > This would cover all cases when one must create a tmp file
>
> Sorry for my silence. I intend to put these temp files in $TMPDIR by
> resurrecting (part of) this patch [1]. Maybe tomorrow.
>
> But if you build your own, you can put them in $GIT_DIR/tmp by
> replacing "shallow_XXXXXX" in setup_temporary_shallow() in shallow.c
> with "tmp/shallow_XXXX". You need to create the directory "tmp" in
> advance though, or do
> "safe_create_leading_directories_const(git_path("tmp/shallow_XXXXX"));"
> before xmkstemp()I think you should do both, safe_create_leading_directories_const(git_path("tmp/shallow_XXXXX")) and TMPDIR.
Anyhow, can you send me a patch when you are done?
Jocke