From: koreth@midwinter.com
To: Andy Parkins <andyparkins@gmail.com>
Cc: git@vger.kernel.org
Subject: [PATCH] Change to the repository's root directory if needed.
Date: Fri, 12 Jan 2007 11:10:44 -0800 [thread overview]
Message-ID: <20070112191044.GA5113@midwinter.com> (raw)
In-Reply-To: <200701121501.24642.andyparkins@gmail.com>
Signed-off-by: Steven Grimm <koreth@midwinter.com>
---
Or try this instead. It seems to work in my limited testing, but it's
possible this breaks something somewhere. The only weird thing here
is that if, e.g., you have a file foo.c in the top-level directory and
you run "git pull" from a subdirectory, you'll see a message indicating
that "foo.c" was updated, implying that it's updating that file in the
current directory. (Output about files in subdirectories, to my eye,
feels less ambiguous in that respect.) But after running with this for
just a few minutes, I'm willing to put up with that in exchange for
not having to manually cd.
git-sh-setup.sh | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 4a02b38..d1c78c4 100755
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -59,8 +59,13 @@ esac
# Make sure we are in a valid repository of a vintage we understand.
if [ -z "$SUBDIRECTORY_OK" ]
then
- : ${GIT_DIR=.git}
- GIT_DIR=$(GIT_DIR="$GIT_DIR" git-rev-parse --git-dir) || exit
+ GIT_DIR=$(git-rev-parse --git-dir) || exit
+ if [ "$GIT_DIR" != ".git" -a "$(basename \"$GIT_DIR\")" = ".git" ]
+ then
+ # In a subdirectory of a non-bare repository; move to root dir
+ cd "`dirname \"$GIT_DIR\"`" || \
+ die "Can't change to repository root directory"
+ fi
else
GIT_DIR=$(git-rev-parse --git-dir) || exit
fi
--
1.5.0.rc0.g4083
next prev parent reply other threads:[~2007-01-12 19:10 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-12 2:43 What's in git.git and announcing GIT v1.5.0-rc1 Junio C Hamano
2007-01-12 3:59 ` [PATCH] reflog-expire: brown paper bag fix Junio C Hamano
2007-01-12 4:02 ` Shawn O. Pearce
2007-01-12 15:01 ` What's in git.git and announcing GIT v1.5.0-rc1 Andy Parkins
2007-01-12 18:35 ` [PATCH] Friendlier error message for commands that can't be run from a subdirectory koreth
2007-01-12 18:39 ` What's in git.git and announcing GIT v1.5.0-rc1 Steven Grimm
2007-01-12 19:10 ` koreth [this message]
2007-01-12 21:18 ` [PATCH] Change to the repository's root directory if needed Junio C Hamano
2007-01-12 22:11 ` Steven Grimm
2007-01-12 23:17 ` Junio C Hamano
2007-01-12 20:26 ` [PATCH] Explain "Not a git repository: '.git'" Junio C Hamano
2007-01-12 20:55 ` Junio C Hamano
2007-01-12 20:55 ` [PATCH 1/3] Define cd_to_toplevel shell function in git-sh-setup Junio C Hamano
2007-01-12 20:55 ` [PATCH 2/3] Use cd_to_toplevel in scripts that implement it by hand Junio C Hamano
2007-01-12 20:56 ` [PATCH 3/3] Allow whole-tree operations to be started from a subdirectory Junio C Hamano
2007-01-13 16:42 ` Andy Parkins
2007-01-14 0:11 ` Josef Weidendorfer
2007-01-14 0:21 ` Shawn O. Pearce
2007-01-14 0:39 ` Josef Weidendorfer
2007-01-14 0:50 ` Junio C Hamano
2007-01-14 0:52 ` Steven Grimm
2007-01-14 1:37 ` Junio C Hamano
2007-01-14 18:13 ` Steven Grimm
2007-01-14 18:29 ` Steven Grimm
2007-01-14 19:36 ` Junio C Hamano
2007-01-14 1:50 ` Junio C Hamano
2007-01-16 15:14 ` Andreas Ericsson
2007-01-14 23:36 ` What's in git.git and announcing GIT v1.5.0-rc1 lamikr
2007-01-15 2:21 ` Horst H. von Brand
2007-01-15 20:54 ` lamikr
2007-01-15 21:56 ` Junio C Hamano
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=20070112191044.GA5113@midwinter.com \
--to=koreth@midwinter.com \
--cc=andyparkins@gmail.com \
--cc=git@vger.kernel.org \
/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.