* [PATCH 0/2] gitk: fix --full-diff handling @ 2012-10-19 10:56 Felipe Contreras 2012-10-19 10:56 ` [PATCH 1/2] gitk: simplify file filtering Felipe Contreras ` (2 more replies) 0 siblings, 3 replies; 5+ messages in thread From: Felipe Contreras @ 2012-10-19 10:56 UTC (permalink / raw) To: git; +Cc: Paul Mackerras, Felipe Contreras Hi, I find usel to do 'git log --full-duff -- file' to find out all the commits that touched the file, and show the full diff (not just the one of the file). Unfortunately gitk doesn't honour this option; the diff is limited in the UI. The following patches fix that. Felipe Contreras (2): gitk: simplify file filtering gitk: handle --full-diff correctly gitk-git/gitk | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) -- 1.8.0.rc2.7.g0961fdf.dirty ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] gitk: simplify file filtering 2012-10-19 10:56 [PATCH 0/2] gitk: fix --full-diff handling Felipe Contreras @ 2012-10-19 10:56 ` Felipe Contreras 2012-10-19 10:56 ` [PATCH 2/2] gitk: handle --full-diff correctly Felipe Contreras 2012-10-19 13:12 ` [PATCH 0/2] gitk: fix --full-diff handling Johannes Sixt 2 siblings, 0 replies; 5+ messages in thread From: Felipe Contreras @ 2012-10-19 10:56 UTC (permalink / raw) To: git; +Cc: Paul Mackerras, Felipe Contreras git diff is perfectly able to do this with '-- files', no need for manual filtering. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- gitk-git/gitk | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/gitk-git/gitk b/gitk-git/gitk index d93bd99..b79dfdf 100755 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -7519,9 +7519,13 @@ proc diffcmd {ids flags} { } proc gettreediffs {ids} { - global treediff treepending + global treediff treepending limitdiffs vfilelimit curview - if {[catch {set gdtf [open [diffcmd $ids {--no-commit-id}] r]}]} return + set cmd [diffcmd $ids {--no-commit-id}] + if {$limitdiffs && $vfilelimit($curview) ne {}} { + set cmd [concat $cmd -- $vfilelimit($curview)] + } + if {[catch {set gdtf [open $cmd r]}]} return set treepending $ids set treediff {} @@ -7565,17 +7569,7 @@ proc gettreediffline {gdtf ids} { return [expr {$nr >= $max? 2: 1}] } close $gdtf - if {$limitdiffs && $vfilelimit($curview) ne {}} { - set flist {} - foreach f $treediff { - if {[path_filter $vfilelimit($curview) $f]} { - lappend flist $f - } - } - set treediffs($ids) $flist - } else { - set treediffs($ids) $treediff - } + set treediffs($ids) $treediff unset treepending if {$cmitmode eq "tree" && [llength $diffids] == 1} { gettree $diffids -- 1.8.0.rc2.7.g0961fdf.dirty ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] gitk: handle --full-diff correctly 2012-10-19 10:56 [PATCH 0/2] gitk: fix --full-diff handling Felipe Contreras 2012-10-19 10:56 ` [PATCH 1/2] gitk: simplify file filtering Felipe Contreras @ 2012-10-19 10:56 ` Felipe Contreras 2012-10-19 13:12 ` [PATCH 0/2] gitk: fix --full-diff handling Johannes Sixt 2 siblings, 0 replies; 5+ messages in thread From: Felipe Contreras @ 2012-10-19 10:56 UTC (permalink / raw) To: git; +Cc: Paul Mackerras, Felipe Contreras Otherwise the files are missing from the diff, and the list of files. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- gitk-git/gitk | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gitk-git/gitk b/gitk-git/gitk index b79dfdf..8109eed 100755 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -155,7 +155,7 @@ proc unmerged_files {files} { } proc parseviewargs {n arglist} { - global vdatemode vmergeonly vflags vdflags vrevs vfiltered vorigargs env + global vdatemode vmergeonly vflags vdflags vrevs vfiltered vorigargs vfileargs env global worddiff git_version set vdatemode($n) 0 @@ -165,6 +165,7 @@ proc parseviewargs {n arglist} { set nextisval 0 set revargs {} set origargs $arglist + set fileargs {} set allknown 1 set filtered 0 set i -1 @@ -187,7 +188,7 @@ proc parseviewargs {n arglist} { "--no-renames" - "--full-index" - "--binary" - "--abbrev=*" - "--find-copies-harder" - "-l*" - "--ext-diff" - "--no-ext-diff" - "--src-prefix=*" - "--dst-prefix=*" - "--no-prefix" - - "-O*" - "--text" - "--full-diff" - "--ignore-space-at-eol" - + "-O*" - "--text" - "--ignore-space-at-eol" - "--ignore-space-change" - "-U*" - "--unified=*" { # These request or affect diff output, which we don't want. # Some could be used to set our defaults for diff display. @@ -233,6 +234,9 @@ proc parseviewargs {n arglist} { set filtered 1 lappend glflags $arg } + "--full-diff" { + lappend fileargs $arg + } "-n" { # This appears to be the only one that has a value as a # separate word following it @@ -276,6 +280,7 @@ proc parseviewargs {n arglist} { set vrevs($n) $revargs set vfiltered($n) $filtered set vorigargs($n) $origargs + set vfileargs($n) $fileargs return $allknown } @@ -7519,10 +7524,11 @@ proc diffcmd {ids flags} { } proc gettreediffs {ids} { - global treediff treepending limitdiffs vfilelimit curview + global treediff treepending limitdiffs vfilelimit vfileargs curview set cmd [diffcmd $ids {--no-commit-id}] if {$limitdiffs && $vfilelimit($curview) ne {}} { + set cmd [concat $cmd $vfileargs($curview)] set cmd [concat $cmd -- $vfilelimit($curview)] } if {[catch {set gdtf [open $cmd r]}]} return @@ -7613,7 +7619,7 @@ proc getblobdiffs {ids} { global diffcontext global ignorespace global worddiff - global limitdiffs vfilelimit curview + global limitdiffs vfilelimit vfileargs curview global diffencoding targetline diffnparents global git_version currdiffsubmod @@ -7633,6 +7639,7 @@ proc getblobdiffs {ids} { append cmd " --word-diff=porcelain" } if {$limitdiffs && $vfilelimit($curview) ne {}} { + set cmd [concat $cmd $vfileargs($curview)] set cmd [concat $cmd -- $vfilelimit($curview)] } if {[catch {set bdf [open $cmd r]} err]} { -- 1.8.0.rc2.7.g0961fdf.dirty ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] gitk: fix --full-diff handling 2012-10-19 10:56 [PATCH 0/2] gitk: fix --full-diff handling Felipe Contreras 2012-10-19 10:56 ` [PATCH 1/2] gitk: simplify file filtering Felipe Contreras 2012-10-19 10:56 ` [PATCH 2/2] gitk: handle --full-diff correctly Felipe Contreras @ 2012-10-19 13:12 ` Johannes Sixt 2012-10-19 13:22 ` Felipe Contreras 2 siblings, 1 reply; 5+ messages in thread From: Johannes Sixt @ 2012-10-19 13:12 UTC (permalink / raw) To: Felipe Contreras; +Cc: git, Paul Mackerras Am 10/19/2012 12:56, schrieb Felipe Contreras: > I find usel to do 'git log --full-duff -- file' to find out all the commits > that touched the file, and show the full diff (not just the one of the file). > > Unfortunately gitk doesn't honour this option; the diff is limited in the UI. There is Edit->Preferences->General->Limit diff to listed paths. Doesn't it do what you want if you switch it off? -- Hannes ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] gitk: fix --full-diff handling 2012-10-19 13:12 ` [PATCH 0/2] gitk: fix --full-diff handling Johannes Sixt @ 2012-10-19 13:22 ` Felipe Contreras 0 siblings, 0 replies; 5+ messages in thread From: Felipe Contreras @ 2012-10-19 13:22 UTC (permalink / raw) To: Johannes Sixt; +Cc: git, Paul Mackerras On Fri, Oct 19, 2012 at 3:12 PM, Johannes Sixt <j.sixt@viscovery.net> wrote: > Am 10/19/2012 12:56, schrieb Felipe Contreras: >> I find usel to do 'git log --full-duff -- file' to find out all the commits >> that touched the file, and show the full diff (not just the one of the file). >> >> Unfortunately gitk doesn't honour this option; the diff is limited in the UI. > > There is Edit->Preferences->General->Limit diff to listed paths. Doesn't > it do what you want if you switch it off? Hmm, I guess so, but it's not triggered from the command line. Maybe the --full-diff option should enable that flag. -- Felipe Contreras ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-10-19 13:22 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-10-19 10:56 [PATCH 0/2] gitk: fix --full-diff handling Felipe Contreras 2012-10-19 10:56 ` [PATCH 1/2] gitk: simplify file filtering Felipe Contreras 2012-10-19 10:56 ` [PATCH 2/2] gitk: handle --full-diff correctly Felipe Contreras 2012-10-19 13:12 ` [PATCH 0/2] gitk: fix --full-diff handling Johannes Sixt 2012-10-19 13:22 ` Felipe Contreras
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).