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

[PATCH v4 3/4] gitk: add "--no-replace-objects" option

From
Christian Couder <chriscool@tuxfamily.org>
Date
Nov 22, 2009, 06:56 UTC
Message-ID
<20091122065645.4811.99983.chriscool@tuxfamily.org>
In-Reply-To
<20091122064652.4811.38993.chriscool@tuxfamily.org>

Replace refs are useful to change some git objects after they have started to be shared between different repositories. One might want to ignore them to see the original state, and "--no-replace-objects" option can be used from the command line to do so.

This option simply sets the GIT_NO_REPLACE_OBJECTS environment variable, and that is enough to make gitk ignore replace refs.

The GIT_NO_REPLACE_OBJECTS is set to "1" instead of "" as it is safer on some platforms, thanks to Johannes Sixt and Michael J Gruber.

Tested-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 gitk-git/gitk |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index a0214b7..c586b93 100644
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -128,7 +128,7 @@ proc unmerged_files {files} {
 }
 
 proc parseviewargs {n arglist} {
-    global vdatemode vmergeonly vflags vdflags vrevs vfiltered vorigargs
+    global vdatemode vmergeonly vflags vdflags vrevs vfiltered vorigargs env
 
     set vdatemode($n) 0
     set vmergeonly($n) 0
@@ -208,6 +208,9 @@ proc parseviewargs {n arglist} {
 		# git rev-parse doesn't understand --merge
 		lappend revargs --gitk-symmetric-diff-marker MERGE_HEAD...HEAD
 	    }
+	    "--no-replace-objects" {
+		set env(GIT_NO_REPLACE_OBJECTS) "1"
+	    }
 	    "-*" {
 		# Other flag arguments including -<n>
 		if {[string is digit -strict [string range $arg 1 end]]} {
-- 
1.6.5.1.gaf97d
Previous: Christian CouderNext: Christian Couder
Message 4 of 5 in “add new GIT_NO_REPLACE_OBJECTS env variable”
  1. 0/4 add new GIT_NO_REPLACE_OBJECTS env variableChristian Couder, Nov 22, 2009
  2. 1/4 Documentation: fix typos and spelling in git-replace documentationChristian Couder, Nov 22, 2009
  3. 2/4 replace: use a GIT_NO_REPLACE_OBJECTS env variableChristian Couder, Nov 22, 2009
  4. 3/4 gitk: add "--no-replace-objects" optionChristian Couder, Nov 22, 2009
  5. 4/4 Documentation: replace: talk a little bit about GIT_NO_REPLACE_OBJECTSChristian Couder, Nov 22, 2009

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.