summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Couder <chriscool@tuxfamily.org>2009-12-12 04:52:39 (GMT)
committerPaul Mackerras <paulus@samba.org>2009-12-13 23:08:18 (GMT)
commitc2f2dab971d4e955dbf5a48055ed3cde4a078711 (patch)
tree77d2e7c5a5a4346ca556921183835d6beb6d14ed
parenta80e82f6ee79a0b1ad42781af79bc76628ec90e9 (diff)
downloadgit-c2f2dab971d4e955dbf5a48055ed3cde4a078711.zip
git-c2f2dab971d4e955dbf5a48055ed3cde4a078711.tar.gz
git-c2f2dab971d4e955dbf5a48055ed3cde4a078711.tar.bz2
gitk: Add "--no-replace-objects" option
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> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rwxr-xr-xgitk5
1 files changed, 4 insertions, 1 deletions
diff --git a/gitk b/gitk
index 364c7a8..86dff0f 100755
--- a/gitk
+++ b/gitk
@@ -130,7 +130,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
@@ -210,6 +210,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]]} {