Re: [PATCH] gitk: show staged submodules regardless of ignore config
On Fri, Jun 06, 2014 at 02:08:29PM -0700, Junio C Hamano wrote: > From: Jens Lehmann > Date: Tue, 8 Apr 2014 21:36:08 +0200 > > Currently setting submodule..ignore and/or diff.ignoreSubmodules to > "all" suppresses all output of submodule changes for gitk. This is really > confusing, as even when the user chooses to record a new commit for an > ignored submodule by adding it manually this change won't show up under > "Local changes checked in to index but not committed". > > Fix that by using the '--ignore-submodules=dirty' option for both callers > of "git diff-index --cached" when the underlying git version supports that > option. > > Signed-off-by: Jens Lehmann > Signed-off-by: Junio C Hamano Thanks, applied. Paul. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] gitk: show staged submodules regardless of ignore config
From: Jens Lehmann Date: Tue, 8 Apr 2014 21:36:08 +0200 Currently setting submodule..ignore and/or diff.ignoreSubmodules to "all" suppresses all output of submodule changes for gitk. This is really confusing, as even when the user chooses to record a new commit for an ignored submodule by adding it manually this change won't show up under "Local changes checked in to index but not committed". Fix that by using the '--ignore-submodules=dirty' option for both callers of "git diff-index --cached" when the underlying git version supports that option. Signed-off-by: Jens Lehmann Signed-off-by: Junio C Hamano --- * Paul, I've been carrying this in my 'pu' but I would prefer changes to gitk fed to me through you. Could you apply this so that I can drop my tentative copy? Thanks. gitk | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gitk b/gitk index 90764e8..f6efaa6 100755 --- a/gitk +++ b/gitk @@ -5205,11 +5205,15 @@ proc dohidelocalchanges {} { # spawn off a process to do git diff-index --cached HEAD proc dodiffindex {} { global lserial showlocalchanges vfilelimit curview -global hasworktree +global hasworktree git_version if {!$showlocalchanges || !$hasworktree} return incr lserial -set cmd "|git diff-index --cached HEAD" +if {[package vcompare $git_version "1.7.2"] >= 0} { + set cmd "|git diff-index --cached --ignore-submodules=dirty HEAD" +} else { + set cmd "|git diff-index --cached HEAD" +} if {$vfilelimit($curview) ne {}} { set cmd [concat $cmd -- $vfilelimit($curview)] } @@ -7705,7 +7709,7 @@ proc addtocflist {ids} { } proc diffcmd {ids flags} { -global log_showroot nullid nullid2 +global log_showroot nullid nullid2 git_version set i [lsearch -exact $ids $nullid] set j [lsearch -exact $ids $nullid2] @@ -7726,6 +7730,9 @@ proc diffcmd {ids flags} { } } } elseif {$j >= 0} { + if {[package vcompare $git_version "1.7.2"] >= 0} { + set flags "$flags --ignore-submodules=dirty" + } set cmd [concat | git diff-index --cached $flags] if {[llength $ids] > 1} { # comparing index with specific revision -- 2.0.0-531-gbd04298 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] gitk: show staged submodules regardless of ignore config
Jens Lehmann writes: > Currently setting submodule..ignore and/or diff.ignoreSubmodules to > "all" suppresses all output of submodule changes for gitk. This is really > confusing, as even when the user chooses to record a new commit for an > ignored submodule by adding it manually this change won't show up under > "Local changes checked in to index but not committed". > > Fix that by using the '--ignore-submodules=dirty' option for both callers > of "git diff-index --cached" when the underlying git version supports that > option. > > Signed-off-by: Jens Lehmann > --- I'll tentatively queue this on jl/gitk-show-added-submodule-changes and park it on 'pu', but I'd prefer it to come to me through your tree. I'll be tagging 2.0.0-rc0 later this week; if you have some accumulated changes (I saw that your public repository has an initial vietnamese translation patch that I still do not have), please plan to get them in by the end of next week. Thanks. > gitk | 13 ++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/gitk b/gitk > index 90764e8..f6efaa6 100755 > --- a/gitk > +++ b/gitk > @@ -5205,11 +5205,15 @@ proc dohidelocalchanges {} { > # spawn off a process to do git diff-index --cached HEAD > proc dodiffindex {} { > global lserial showlocalchanges vfilelimit curview > -global hasworktree > +global hasworktree git_version > > if {!$showlocalchanges || !$hasworktree} return > incr lserial > -set cmd "|git diff-index --cached HEAD" > +if {[package vcompare $git_version "1.7.2"] >= 0} { > + set cmd "|git diff-index --cached --ignore-submodules=dirty HEAD" > +} else { > + set cmd "|git diff-index --cached HEAD" > +} > if {$vfilelimit($curview) ne {}} { > set cmd [concat $cmd -- $vfilelimit($curview)] > } > @@ -7705,7 +7709,7 @@ proc addtocflist {ids} { > } > > proc diffcmd {ids flags} { > -global log_showroot nullid nullid2 > +global log_showroot nullid nullid2 git_version > > set i [lsearch -exact $ids $nullid] > set j [lsearch -exact $ids $nullid2] > @@ -7726,6 +7730,9 @@ proc diffcmd {ids flags} { > } > } > } elseif {$j >= 0} { > + if {[package vcompare $git_version "1.7.2"] >= 0} { > + set flags "$flags --ignore-submodules=dirty" > + } > set cmd [concat | git diff-index --cached $flags] > if {[llength $ids] > 1} { > # comparing index with specific revision -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] gitk: show staged submodules regardless of ignore config
Currently setting submodule..ignore and/or diff.ignoreSubmodules to "all" suppresses all output of submodule changes for gitk. This is really confusing, as even when the user chooses to record a new commit for an ignored submodule by adding it manually this change won't show up under "Local changes checked in to index but not committed". Fix that by using the '--ignore-submodules=dirty' option for both callers of "git diff-index --cached" when the underlying git version supports that option. Signed-off-by: Jens Lehmann --- gitk | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gitk b/gitk index 90764e8..f6efaa6 100755 --- a/gitk +++ b/gitk @@ -5205,11 +5205,15 @@ proc dohidelocalchanges {} { # spawn off a process to do git diff-index --cached HEAD proc dodiffindex {} { global lserial showlocalchanges vfilelimit curview -global hasworktree +global hasworktree git_version if {!$showlocalchanges || !$hasworktree} return incr lserial -set cmd "|git diff-index --cached HEAD" +if {[package vcompare $git_version "1.7.2"] >= 0} { + set cmd "|git diff-index --cached --ignore-submodules=dirty HEAD" +} else { + set cmd "|git diff-index --cached HEAD" +} if {$vfilelimit($curview) ne {}} { set cmd [concat $cmd -- $vfilelimit($curview)] } @@ -7705,7 +7709,7 @@ proc addtocflist {ids} { } proc diffcmd {ids flags} { -global log_showroot nullid nullid2 +global log_showroot nullid nullid2 git_version set i [lsearch -exact $ids $nullid] set j [lsearch -exact $ids $nullid2] @@ -7726,6 +7730,9 @@ proc diffcmd {ids flags} { } } } elseif {$j >= 0} { + if {[package vcompare $git_version "1.7.2"] >= 0} { + set flags "$flags --ignore-submodules=dirty" + } set cmd [concat | git diff-index --cached $flags] if {[llength $ids] > 1} { # comparing index with specific revision -- 1.9.1.492.g8149f6f -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html