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

[PATCHv4 4/5] git-gui: set GIT_DIR and GIT_WORK_TREE after setup

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Jan 23, 2010, 10:03 UTC
Message-ID
<1264241018-6616-5-git-send-email-giuseppe.bilotta@gmail.com>
In-Reply-To
<1264241018-6616-1-git-send-email-giuseppe.bilotta@gmail.com>

Rather than juggling $GIT_DIR around the invocation of gitk, set it (and $GIT_WORK_TREE) after finishing setup, ensuring that any external tool works with the setup we're running with.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
---
 git-gui/git-gui.sh |   15 +++------------
 1 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index c5c787d..aff0644 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -1171,6 +1171,9 @@ if {[lindex $_reponame end] eq {.git}} {
 	set _reponame [lindex $_reponame end]
 }
 
+set env(GIT_DIR) $_gitdir
+set env(GIT_WORK_TREE) $_gitworktree
+
 ######################################################################
 ##
 ## global init
@@ -1986,25 +1989,13 @@ proc do_gitk {revs} {
 	} else {
 		global env
 
-		if {[info exists env(GIT_DIR)]} {
-			set old_GIT_DIR $env(GIT_DIR)
-		} else {
-			set old_GIT_DIR {}
-		}
-
 		set pwd [pwd]
 		if { ![is_bare] } {
 			cd $_gitworktree
 		}
-		set env(GIT_DIR) [file normalize [gitdir]]
 
 		eval exec $cmd $revs &
 
-		if {$old_GIT_DIR eq {}} {
-			unset env(GIT_DIR)
-		} else {
-			set env(GIT_DIR) $old_GIT_DIR
-		}
 		cd $pwd
 
 		ui_status $::starting_gitk_msg
-- 
1.6.6.rc1.295.g3a4e71
Previous: Giuseppe BilottaNext: Shawn O. Pearce
Message 5 of 9 in “[PATCHv4 0/5] git-gui: more robust handling of fancy repos”
  1. Giuseppe BilottaJan 23, 2010
  2. 1/5 git-gui: handle non-standard worktree locationsGiuseppe Bilotta, Jan 23, 2010
  3. 2/5 git-gui: handle bare repos correctlyGiuseppe Bilotta, Jan 23, 2010
  4. 3/5 git-gui: work from the .git dirGiuseppe Bilotta, Jan 23, 2010
  5. 4/5 git-gui: set GIT_DIR and GIT_WORK_TREE after setupGiuseppe Bilotta, Jan 23, 2010
  6. Shawn O. PearceJan 23, 2010
  7. git-gui: set GIT_DIR and GIT_WORK_TREE after setupGiuseppe Bilotta, Jan 23, 2010
  8. Shawn O. PearceJan 24, 2010
  9. 5/5 git-gui: update shortcut tools to use _gitworktreeGiuseppe Bilotta, Jan 23, 2010

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.