On Tue, Nov 3, 2015 at 10:00 AM, Juha-Pekka Heikkila <juhapekka.heikkila@xxxxxxxxx> wrote: > This patch adds --cwd (change working directory) parameter to > gitk. With this parameter, instead of need to cd to directory > with .git folder, one can point the correct folder from > commandline. git itself supports this sort of functionality via -C, as does GNU tar, which suggests such an option in gitk should be named -C, as well. > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@xxxxxxxxx> > --- > diff --git a/Documentation/gitk.txt b/Documentation/gitk.txt > @@ -146,6 +146,11 @@ gitk-specific options > Select the specified commit after loading the graph. > Default behavior is equivalent to specifying '--select-commit=HEAD'. > > +--cwd=<path>:: > + > + Change working direcoty to <path>. If the git tree exist elsewhere s/direcoty/directory/ > + gitk first cd to given path before start to operate. Taking git's -C documentation as a template, perhaps this could be written instead as: Run as if gitk was started in '<path>' instead of the current working directory. When multiple `-C` options are given, each subsequent non-absolute `-C <path>` is interpreted relative to the preceding `-C <path>`. This description correctly reflects your implementation which allows --cwd to be specified multiple times. > Examples > -------- > gitk v2.6.12.. include/scsi drivers/scsi:: > diff --git a/gitk-git/gitk b/gitk-git/gitk > index fcc606e..5fdf459 100755 > --- a/gitk-git/gitk > +++ b/gitk-git/gitk > @@ -12279,12 +12279,6 @@ setui $uicolor > > setoptions > > -# check that we can find a .git directory somewhere... > -if {[catch {set gitdir [exec git rev-parse --git-dir]}]} { > - show_error {} . [mc "Cannot find a git repository here."] > - exit 1 > -} > - > set selecthead {} > set selectheadid {} > > @@ -12305,6 +12299,9 @@ foreach arg $argv { > "--argscmd=*" { > set revtreeargscmd [string range $arg 10 end] > } > + "--cwd=*" { > + cd [string range $arg 6 end] > + } > default { > lappend revtreeargs $arg > } > @@ -12312,6 +12309,12 @@ foreach arg $argv { > incr i > } > > +# check that we can find a .git directory somewhere... > +if {[catch {set gitdir [exec git rev-parse --git-dir]}]} { > + show_error {} . [mc "Cannot find a git repository here."] > + exit 1 > +} > + > if {$selecthead eq "HEAD"} { > set selecthead {} > } > -- > 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html