threads / discuss / 2977

use GIT_DIR instead of /var/tmp

Subject: use GIT_DIR instead of /var/tmp

## tl;dr

8 messages between Jan 5, 2006 and Jan 6, 2006.

replies: 7people: 5as markdown or json

Alex Riesen· Jan 5, 2006, 11:52 UTC · lore

Not every system (will not one microsoft windows system) have /var/tmp, whereas using GIT_DIR for random temporary files is more or less established.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Subject: [PATCH] use GIT_DIR instead of /var/tmp
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 git-reset.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
9ba3fa786e3de644a9395f99e69cede912f64571
diff --git a/git-reset.sh b/git-reset.sh
index eb44ee8..6c9e58a 100755
--- a/git-reset.sh
+++ b/git-reset.sh
@@ -3,7 +3,7 @@
 USAGE='[--mixed | --soft | --hard]  [<commit-ish>]'
 . git-sh-setup
 
-tmp=/var/tmp/reset.$$
+tmp=${GIT_DIR}/reset.$$
 trap 'rm -f $tmp-*' 0 1 2 3 15
 
 reset_type=--mixed
-- 
1.0.GIT
H. Peter Anvin· Jan 5, 2006, 16:38 UTC · re: Alex Riesen · lore

Re: use GIT_DIR instead of /var/tmp

Alex Riesen wrote:
> Not every system (will not one microsoft windows system) have /var/tmp,
> whereas using GIT_DIR for random temporary files is more or less established.
Depends on what you're doing.  Only if you're writing to the repository.

Windows will usually have $TMP and/or $TEMP, a lot of Unix apps honour $TMP_DIR.

	-hpa
Alex Riesen· Jan 5, 2006, 16:47 UTC · re: H. Peter Anvin · lore

Re: use GIT_DIR instead of /var/tmp

On 1/5/06, H. Peter Anvin <hpa@zytor.com> wrote:
Show 7 quoted lines
> > Not every system (will not one microsoft windows system) have /var/tmp,
> > whereas using GIT_DIR for random temporary files is more or less established.
>
> Depends on what you're doing.  Only if you're writing to the repository.
>
> Windows will usually have $TMP and/or $TEMP, a lot of Unix apps honour
> $TMP_DIR.

Well, it never had TMP/TEMP by default for me (though I'd expect from people installing git to set the thing properly), and it is usually undefined everywhere else.

H. Peter Anvin· Jan 5, 2006, 17:07 UTC · re: Alex Riesen · lore

Re: use GIT_DIR instead of /var/tmp

Alex Riesen wrote:
Show 14 quoted lines
> On 1/5/06, H. Peter Anvin <hpa@zytor.com> wrote:
> 
>>>Not every system (will not one microsoft windows system) have /var/tmp,
>>>whereas using GIT_DIR for random temporary files is more or less established.
>>
>>Depends on what you're doing.  Only if you're writing to the repository.
>>
>>Windows will usually have $TMP and/or $TEMP, a lot of Unix apps honour
>>$TMP_DIR.
> 
> 
> Well, it never had TMP/TEMP by default for me (though I'd expect from people
> installing git to set the thing properly), and it is usually undefined
> everywhere else.
Well, for me it's set to
TEMP=C:\Documents and Settings\user\Local Settings\Temp

(except it's all in 8.3-mangled form)... and I sure as Hades didn't set it. This in on XP SP2. "Local Settings" is a hidden directory which seems to have stuff like the Internet Exploder cache in it.

	-hpa
Linus Torvalds· Jan 5, 2006, 16:42 UTC · re: Alex Riesen · lore

Re: use GIT_DIR instead of /var/tmp

On Thu, 5 Jan 2006, Alex Riesen wrote:
>
> Not every system (will not one microsoft windows system) have /var/tmp,
> whereas using GIT_DIR for random temporary files is more or less established.

Note that in this case it might be appropriate, but in general you should be careful. You may want to access a git directory without actually having write permissions to it.

Of course, for "git reset" that's not an issue (since it needs write permissions anyway), but just in general.. git programs mostly use pipes to communicate, and temporary files are pretty rare, so we hopefully don't have that issue much, but let's make sure that things that just look at a repository can work even with a read-only repo.

		Linus
Jon Nelson· Jan 5, 2006, 16:49 UTC · re: Linus Torvalds · lore

Re: use GIT_DIR instead of /var/tmp

On Thu, 5 Jan 2006, Linus Torvalds wrote:
Show 16 quoted lines
> 
> 
> On Thu, 5 Jan 2006, Alex Riesen wrote:
> >
> > Not every system (will not one microsoft windows system) have /var/tmp,
> > whereas using GIT_DIR for random temporary files is more or less established.
> 
> Note that in this case it might be appropriate, but in general you should 
> be careful. You may want to access a git directory without actually having 
> write permissions to it. 
> 
> Of course, for "git reset" that's not an issue (since it needs write 
> permissions anyway), but just in general.. git programs mostly use pipes 
> to communicate, and temporary files are pretty rare, so we hopefully don't 
> have that issue much, but let's make sure that things that just look at a 
> repository can work even with a read-only repo.

Do you still need write access to $GIT_DIR if $GIT_INDEX_FILE is set to some place outside of $GIT_DIR?

-- Jon Nelson <jnelson-git@jamponi.net>

Alex Riesen· Jan 6, 2006, 09:32 UTC · re: Jon Nelson · lore

Re: use GIT_DIR instead of /var/tmp

Jon Nelson, Thu, Jan 05, 2006 17:49:36 +0100:
> Do you still need write access to $GIT_DIR if $GIT_INDEX_FILE is set to 
> some place outside of $GIT_DIR?
yes, $GIT_DIR/refs/heads/ref-pointed-by-HEAD is updated by git-reset.
Johannes Schindelin· Jan 6, 2006, 10:00 UTC · re: Alex Riesen · lore

Re: use GIT_DIR instead of /var/tmp

Hi,
On Fri, 6 Jan 2006, Alex Riesen wrote:
Show 5 quoted lines
> Jon Nelson, Thu, Jan 05, 2006 17:49:36 +0100:
> > Do you still need write access to $GIT_DIR if $GIT_INDEX_FILE is set to 
> > some place outside of $GIT_DIR?
> 
> yes, $GIT_DIR/refs/heads/ref-pointed-by-HEAD is updated by git-reset.

In a strict sense, this means write access to $GIT_DIR/refs/heads/. In a shared setup, I have repositories where all developers are allowed to write to that folder, but only the repo maintainer (yours truly) is allowed to write to $GIT_DIR (which effectively means: nobody can write an index).

Maybe the safe method would be to introduce $GIT_TMP_DIR, with "/tmp/" being the default?

Ciao, Dscho

← back to recent threads