Skip to content

Commit

Permalink
gitk: Add option to specify the default commit on command line
Browse files Browse the repository at this point in the history
Other GUI tools may need to start gitk and make it automatically
select a certain commit.  This adds a new command-line option
--select-commit=id to make that possible.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Alexander Gavrilov authored and Paul Mackerras committed Aug 26, 2008
1 parent df75e86 commit 39816d6
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion gitk
Original file line number Diff line number Diff line change
Expand Up @@ -418,10 +418,12 @@ proc stop_rev_list {view} {
}

proc reset_pending_select {selid} {
global pending_select mainheadid
global pending_select mainheadid selectheadid

if {$selid ne {}} {
set pending_select $selid
} elseif {$selectheadid ne {}} {
set pending_select $selectheadid
} else {
set pending_select $mainheadid
}
Expand Down Expand Up @@ -1609,6 +1611,7 @@ proc getcommit {id} {
proc readrefs {} {
global tagids idtags headids idheads tagobjid
global otherrefids idotherrefs mainhead mainheadid
global selecthead selectheadid

foreach v {tagids idtags headids idheads otherrefids idotherrefs} {
catch {unset $v}
Expand Down Expand Up @@ -1655,6 +1658,12 @@ proc readrefs {} {
set mainhead [string range $thehead 11 end]
}
}
set selectheadid {}
if {$selecthead ne {}} {
catch {
set selectheadid [exec git rev-parse --verify $selecthead]
}
}
}

# skip over fake commits
Expand Down Expand Up @@ -9865,6 +9874,9 @@ if {![file isdirectory $gitdir]} {
exit 1
}

set selecthead {}
set selectheadid {}

set revtreeargs {}
set cmdline_files {}
set i 0
Expand All @@ -9876,6 +9888,9 @@ foreach arg $argv {
set cmdline_files [lrange $argv [expr {$i + 1}] end]
break
}
"--select-commit=*" {
set selecthead [string range $arg 16 end]
}
"--argscmd=*" {
set revtreeargscmd [string range $arg 10 end]
}
Expand All @@ -9886,6 +9901,10 @@ foreach arg $argv {
incr i
}

if {$selecthead eq "HEAD"} {
set selecthead {}
}

if {$i >= [llength $argv] && $revtreeargs ne {}} {
# no -- on command line, but some arguments (other than --argscmd)
if {[catch {
Expand Down

0 comments on commit 39816d6

Please sign in to comment.