All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <johannes.schindelin@gmx.de>
Cc: Joakim Tjernlund <joakim.tjernlund@transmode.se>,
	git@vger.kernel.org, pclouds@gmail.com
Subject: Re: Unable to create temporary file '/var/git/tmv3-target-overlay.git/shallow_Un8ZOR': Permission denied
Date: Wed, 23 Sep 2015 08:13:56 -0700	[thread overview]
Message-ID: <xmqqwpvhxj63.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <5f56381a3cf5a5ccf6a1e4e3ea48f516@dscho.org> (Johannes Schindelin's message of "Wed, 23 Sep 2015 13:10:35 +0200")

Johannes Schindelin <johannes.schindelin@gmx.de> writes:

>> A .git/tmp/ would make housekeeping easier, you would know that every
>> file under .git
>> should be there and if you find something you don't recognize you would react.
>
> No, it would actually make it harder. I seem to recall that there was
> some problem with renaming a file unless it was already in the same
> directory as the destination. If all files were to be written to
> .git/tmp/ first...

I agree with you here.  This "some filesystems do not like
cross-directory renames" was also why I thought the idea to create
everything in $GIT_DIR/tmp and moving to the final destination would
not fly well.

For the specific issue with the shallow-cutoff list temporarily
created, however, it is created, written to, read from and removed
without ever leaving the original place, so we could designate one
writable "temporary" place somewhere under $GIT_DIR, and $GIT_DIR/tmp
could certainly that designated temporary place.

By the way, the temporary shallow-cutoff-list is created by callingy
xmks_tempfile().  I wonder if it can safely changed to use
mks_tempfile() instead.  That way, people can set up a wrapper for
receive-pack that sets up a suitable TMPDIR exported to the real
thing to relocate it.

  reply	other threads:[~2015-09-23 15:14 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-21 11:36 Unable to create temporary file '/var/git/tmv3-target-overlay.git/shallow_Un8ZOR': Permission denied Joakim Tjernlund
2015-08-21 11:50 ` Joakim Tjernlund
2015-08-31  9:03   ` Joakim Tjernlund
2015-08-31  9:56 ` Duy Nguyen
2015-09-14 15:37   ` Joakim Tjernlund
2015-09-17 13:18     ` Duy Nguyen
2015-09-17 16:54       ` Joakim Tjernlund
2015-09-19  2:21         ` Duy Nguyen
2015-09-19  2:26           ` Duy Nguyen
2015-09-19  7:13           ` Johannes Schindelin
2015-09-20 13:36             ` Joakim Tjernlund
2015-09-19  8:44           ` Joakim Tjernlund
2015-09-21 16:48           ` Junio C Hamano
2015-09-21 17:08             ` Joakim Tjernlund
2015-09-22 20:00               ` Johannes Schindelin
2015-09-22 20:58                 ` Joakim Tjernlund
2015-09-23 11:10                   ` Johannes Schindelin
2015-09-23 15:13                     ` Junio C Hamano [this message]
2015-09-23 20:41                     ` Joakim Tjernlund
2015-09-23 22:48                       ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqwpvhxj63.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=joakim.tjernlund@transmode.se \
    --cc=johannes.schindelin@gmx.de \
    --cc=pclouds@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.