Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] contrib/workdir: add a simple script to create a working directory

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:01

Possibly related (same subject, not in this thread)

Julian Phillips [off-list ref] writes:
quoted hunk
diff --git a/contrib/workdir/git-new-workdir b/contrib/workdir/git-new-workdir
new file mode 100755
index 0000000..5bfd87e
--- /dev/null
+++ b/contrib/workdir/git-new-workdir
@@ -0,0 +1,55 @@
+#!/bin/bash
I do not see anything bash specific you need to do in your
script.
+
+function usage () {
+	echo "usage:" $1;
+	exit 127;
+}
+
+function die () {
+	echo $1;
+	exit 128;
+}
Do not add noiseword "function" in our shell scripts, please.
This is the only thing POSIX says "produces unspecified results"
I found in your script, so if you lose them you shouldn't have
to say "#!/bin/bash".
+test $# -eq 3 || usage "$0 <original> <new_workdir> <branch>";
+
+orig_git=$1;
+new_workdir=$2;
+branch=$3;
Perhaps default branch to whatever original's HEAD points at?
+
+# want to make sure that what is pointed to has a .git directory ...
+test -d ${orig_git}/.git || die "${original_git} is not a git repository!";
+
+# don't link to a workdir, link to the original repo the workdir is linked to
+if test -L ${orig_git}/.git/config
+then
+	orig_git=$(dirname $(dirname $(readlink -f gm/.git/config)));
+fi
"gm"?  I think it is not worth doing this, as readlink is not
all that portable.  Just see if it is a symlink and error out.

Dq all pathname values you get from the user, like "$orig_git".
They may have SP in them.

Do you need all those braces around shell variable names?
+# vim: tabstop=8
+# vim: noexpandtab
Lose these two lines, please.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help