git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/4] Move check_base() shell function to git-sh-setup

From
Junio C Hamano <junkio@cox.net>
Date
Apr 9, 2007, 06:13 UTC
Message-ID
<7v3b3a5b3m.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<7vps6e5b93.fsf_-_@assigned-by-dhcp.cox.net>

The scripts that attempt to make a commit on top of the current HEAD need to use the same logic in check_base() to make sure the current index is based on the HEAD commit we are going to build on top of. Move this function from git-commit to git-sh-setup, so that it is available to everybody else.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 git-commit.sh   |   16 ----------------
 git-sh-setup.sh |   16 ++++++++++++++++
 2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/git-commit.sh b/git-commit.sh
index 42f1c93..6b4c784 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -25,22 +25,6 @@ refuse_partial () {
 	exit 1
 }
 
-check_base () {
-	quiet="$1"
-	if HEAD=`git rev-parse --verify HEAD 2>/dev/null` &&
-	   BASE=`git update-index --get-base` &&
-	   test -n "$BASE" &&
-	   test "$BASE" != "$HEAD"
-	then
-		test -z "$quiet" || exit 1
-		ours=`git show -s --pretty=oneline --abbrev-commit $BASE`
-		theirs=`git show -s --pretty=oneline --abbrev-commit $HEAD`
-		echo >&2 "* The index is based on '$ours', however, the HEAD"
-		echo >&2 "  points at different commit '$theirs'"
-		exit 1
-	fi
-}
-
 THIS_INDEX="$GIT_DIR/index"
 NEXT_INDEX="$GIT_DIR/next-index$$"
 rm -f "$NEXT_INDEX"
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index f24c7f2..0797acd 100755
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -28,6 +28,22 @@ set_reflog_action() {
 	fi
 }
 
+check_base () {
+	quiet="$1"
+	if HEAD=`git rev-parse --verify HEAD 2>/dev/null` &&
+	   BASE=`git update-index --get-base` &&
+	   test -n "$BASE" &&
+	   test "$BASE" != "$HEAD"
+	then
+		test -z "$quiet" || exit 1
+		ours=`git show -s --pretty=oneline --abbrev-commit $BASE`
+		theirs=`git show -s --pretty=oneline --abbrev-commit $HEAD`
+		echo >&2 "* The index is based on '$ours', however, the HEAD"
+		echo >&2 "  points at different commit '$theirs'"
+		exit 1
+	fi
+}
+
 is_bare_repository () {
 	git-config --bool --get core.bare ||
 	case "$GIT_DIR" in
-- 
1.5.1.730.g0d43be
Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 7 in “What's cooking in git.git (topics)”
  1. Junio C HamanoApr 3, 2007
  2. Junio C HamanoApr 5, 2007
  3. The index is based on blah, however, the HEAD points at different commit.Junio C Hamano, Apr 9, 2007
  4. 1/4 Move check_base() shell function to git-sh-setupJunio C Hamano, Apr 9, 2007
  5. 2/4 Use BASE index extension in git-am.Junio C Hamano, Apr 9, 2007
  6. 3/4 git-read-tree --set-base=<commit>Junio C Hamano, Apr 9, 2007
  7. 4/4 Teach git-reset to use index BASE extension.Junio C Hamano, Apr 9, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.