Re: [PATCH 2/2] gitk: add an option to run gitk on an item in the file list
- From
Bert Wesarg <bert.wesarg@googlemail.com>
- Date
- May 8, 2018, 13:17 UTC
- Message-ID
- <CAKPyHN3YMU3oZaW-wR2ZMV6aMwoeFGMmiJBQXtvipVvkWPLZVQ@mail.gmail.com>
- In-Reply-To
- <20180508122256.nyv6ddcoifygfpk4@pflmari>
On Tue, May 8, 2018 at 2:22 PM, Alex Riesen <alexander.riesen@cetitec.com> wrote:
Show 30 quoted lines
> From: Alex Riesen <raa.lkml@gmail.com>
>
> Similar to a git gui feature which visualizes history in a submodule,
> the submodules cause the gitk be started inside the submodule.
>
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> ---
> gitk | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/gitk b/gitk
> index d34833f..1ec545e 100755
> --- a/gitk
> +++ b/gitk
> @@ -2682,6 +2682,7 @@ proc makewindow {} {
> {mc "External diff" command {external_diff}}
> {mc "Blame parent commit" command {external_blame 1}}
> {mc "Copy path" command {clipboard clear; clipboard append $flist_menu_file}}
> + {mc "Run gitk on this" command {flist_gitk}}
> }
> $flist_menu configure -tearoff 0
>
> @@ -3555,6 +3556,17 @@ proc flist_hl {only} {
> set gdttype [mc "touching paths:"]
> }
>
> +proc flist_gitk {} {
> + global flist_menu_file findstring gdttype
> +
> + set x [shellquote $flist_menu_file]this needs to handle cdup, i.e., if gitk is run from a subdirectory, all paths needs to be prefixed with $cdup, like: [file join $cdup $flist_menu_file]
Bert
Show 10 quoted lines
> + if {[file isdirectory $flist_menu_file]} {
> + exec sh -c "cd $x&&gitk" &
> + } else {
> + exec gitk -- $x &
> + }
> +}
> +
> proc gitknewtmpdir {} {
> global diffnum gitktmpdir gitdir env
>