Thread (8 messages) flat view 8 messages, 3 authors, 2016-06-15

Re: [PATCH 1/1] gitk: add --cwd=path commandline parameter to change path

From: Eric Sunshine <hidden>
Date: 2016-06-15 23:07:10

On Tue, Nov 3, 2015 at 10:00 AM, Juha-Pekka Heikkila
[off-list ref] 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.
quoted hunk ↗ jump to hunk
Signed-off-by: Juha-Pekka Heikkila <redacted>
---
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.
quoted hunk ↗ jump to hunk
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help