From: Paul Jackson <pj@sgi.com>
To: git@vger.kernel.org
Cc: Petr Baudis <pasky@ucw.cz>, Paul Jackson <pj@sgi.com>
Subject: [PATCH] fix mktemp (remove mktemp ;)
Date: Sat, 16 Apr 2005 16:27:43 -0700 (PDT) [thread overview]
Message-ID: <20050416232749.23430.93360.sendpatchset@sam.engr.sgi.com> (raw)
Remove mktemp usage - it doesn't work on
some Mandrakes, nor on my SuSE 8.2 with
mktemp-1.5-531.
Replace with simple use of $$ (pid).
I've been using this same pattern for
20 years on many production scripts;
it's fast, solid and simple.
More robust tmp file removal, using trap,
so that scripts interrupted by signals
HUP, INT, QUIT or PIPE will cleanup.
Signed-off-by: Paul Jackson <pj@sgi.com>
Index: git-pasky-0.4/README
===================================================================
--- git-pasky-0.4.orig/README 2005-04-16 13:16:54.000000000 -0700
+++ git-pasky-0.4/README 2005-04-16 13:17:01.000000000 -0700
@@ -116,7 +116,6 @@ Software requirements:
C compiler
bash
basic shell environment (sed, gred, textutils, ...)
- mktemp 1.5+ (Mandrake users beware!)
diff, patch
Index: git-pasky-0.4/gitcommit.sh
===================================================================
--- git-pasky-0.4.orig/gitcommit.sh 2005-04-12 10:39:14.000000000 -0700
+++ git-pasky-0.4/gitcommit.sh 2005-04-16 13:17:49.000000000 -0700
@@ -60,7 +60,9 @@ for file in $commitfiles; do
echo $file;
done
echo "Enter commit message, terminated by ctrl-D on a separate line:"
-LOGMSG=`mktemp -t gitci.XXXXXX`
+t=${TMPDIR:-/usr/tmp}/gitapply.$$
+trap 'rm -f $t.?; trap 0; exit 0' 0 1 2 3 15
+LOGMSG=$t.1
if [ "$merged" ]; then
cat .git/merged | sed 's/^/Merging: /' >>$LOGMSG
cat .git/merged | sed 's/^/Merging: /'
@@ -86,7 +88,6 @@ if [ "$treeid" = "$(tree-id)" ] && [ ! "
fi
newhead=$(commit-tree $treeid $oldhead $merged <$LOGMSG)
-rm $LOGMSG
rm -f .git/add-queue .git/rm-queue .git/merged
if [ "$newhead" ]; then
Index: git-pasky-0.4/gitapply.sh
===================================================================
--- git-pasky-0.4.orig/gitapply.sh 2005-04-13 02:21:14.000000000 -0700
+++ git-pasky-0.4/gitapply.sh 2005-04-16 13:16:13.000000000 -0700
@@ -8,9 +8,11 @@
#
# Takes the diff on stdin.
-gonefile=$(mktemp -t gitapply.XXXXXX)
-todo=$(mktemp -t gitapply.XXXXXX)
-patchfifo=$(mktemp -t gitapply.XXXXXX)
+t=${TMPDIR:-/usr/tmp}/gitapply.$$
+trap 'rm -f $t.?; trap 0; exit 0' 0 1 2 3 15
+gonefile=$t.1
+todo=$t.2
+patchfifo=$t.3
rm $patchfifo && mkfifo -m 600 $patchfifo
show-files --deleted >$gonefile
@@ -74,4 +76,3 @@ while [ "$1" ]; do
done
'
-rm $pathfifo $todo $gonefile
Index: git-pasky-0.4/gitdiff-do
===================================================================
--- git-pasky-0.4.orig/gitdiff-do 2005-04-16 13:13:59.000000000 -0700
+++ git-pasky-0.4/gitdiff-do 2005-04-16 13:18:29.000000000 -0700
@@ -32,7 +32,9 @@ mkbanner () {
[ "$labelapp" ] && label="$label ($labelapp)"
}
-diffdir=$(mktemp -d -t gitdiff.XXXXXX)
+t=${TMPDIR:-/usr/tmp}/gitdiff.$$
+trap 'rm -fr $t.?; trap 0; exit 0' 0 1 2 3 15
+diffdir=$t.1
diffdir1="$diffdir/$id1"
diffdir2="$diffdir/$id2"
mkdir "$diffdir1" "$diffdir2"
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.650.933.1373, 1.925.600.0401
next reply other threads:[~2005-04-16 23:25 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-16 23:27 Paul Jackson [this message]
2005-04-16 23:27 ` [PATCH] missing mkdir -p flag in gitdiff-do Paul Jackson
2005-04-16 23:28 ` [PATCH] optimize gitdiff-do script Paul Jackson
2005-04-16 23:43 ` Petr Baudis
2005-04-17 0:10 ` Paul Jackson
2005-04-18 15:23 ` Paul Jackson
2005-04-18 18:30 ` Petr Baudis
2005-04-18 19:17 ` Paul Jackson
2005-05-10 2:56 ` Paul Jackson
2005-04-16 23:36 ` [PATCH] fix mktemp (remove mktemp ;) Jan-Benedict Glaw
2005-04-16 23:46 ` Paul Jackson
2005-04-16 23:37 ` Petr Baudis
2005-04-17 0:02 ` Paul Jackson
2005-04-17 0:33 ` Dave Jones
2005-04-17 0:44 ` Paul Jackson
2005-04-17 0:57 ` Dave Jones
2005-04-17 1:03 ` David Lang
2005-04-17 1:15 ` Paul Jackson
2005-04-17 2:38 ` Brian O'Mahoney
2005-04-17 2:46 ` Paul Jackson
2005-04-17 0:51 ` Erik van Konijnenburg
2005-04-17 1:18 ` Paul Jackson
2005-04-18 3:01 ` Herbert Xu
2005-04-18 4:47 ` Paul Jackson
2005-04-18 12:12 ` Florian Weimer
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=20050416232749.23430.93360.sendpatchset@sam.engr.sgi.com \
--to=pj@sgi.com \
--cc=git@vger.kernel.org \
--cc=pasky@ucw.cz \
/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.