Thanks. On Wed, May 9, 2018 at 12:59 PM, Alex Riesen <alexander.riesen@xxxxxxxxxxx> wrote: > From: Alex Riesen <raa.lkml@xxxxxxxxx> > > The previous behavior conflicts with the "Patch" mode of the panel, > which always shows the changes from the top-level of the repository. > It is also impossible to get back to the full listing without restarting > gitk. > --- > > Bert Wesarg, Wed, May 09, 2018 09:19:55 +0200: >> > Frankly, this listing limited to just a sub-directory confuses me a bit. Is >> > there anyway to get to display full repository without changing to the top >> > level? >> >> I noticed that too, while testing your patch and I'm also confused. >> But was not able to send a request to Paul yet. ls-tree --full-tree >> seems to be one that should be used here, I think. > > Well, I just tried your suggestion. 'ls-files' doesn't have --full-tree, so > for those it is just cd-up. > > It is on top of the re-sent series. I would consider the current behavior as a bug, therefor I would put this patch first, and than your other fixes/enhancements. > > gitk | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/gitk b/gitk > index c430dfe..03ead98 100755 > --- a/gitk > +++ b/gitk > @@ -7600,18 +7600,18 @@ proc go_to_parent {i} { > > proc gettree {id} { > global treefilelist treeidlist diffids diffmergeid treepending > - global nullid nullid2 > + global nullid nullid2 cdup > > set diffids $id > unset -nocomplain diffmergeid > if {![info exists treefilelist($id)]} { > if {![info exists treepending]} { > if {$id eq $nullid} { > - set cmd [list | git ls-files] > + set cmd [list | git -C $cdup ls-files] > } elseif {$id eq $nullid2} { > - set cmd [list | git ls-files --stage -t] > + set cmd [list | git -C $cdup ls-files --stage -t] > } else { > - set cmd [list | git ls-tree -r $id] > + set cmd [list | git ls-tree --full-tree -r $id] > } > if {[catch {set gtf [open $cmd r]}]} { > return > @@ -7670,7 +7670,7 @@ proc gettreeline {gtf id} { > proc showfile {f} { > global treefilelist treeidlist diffids nullid nullid2 > global ctext_file_names ctext_file_lines > - global ctext commentend > + global ctext commentend cdup > > set submodlog "log --format=%h\\ %aN:\\ %s -100" > set fcmt "" > @@ -7680,15 +7680,15 @@ proc showfile {f} { > return > } > if {$diffids eq $nullid} { > - if {[file isdirectory $f]} { > + if {[file isdirectory "$cdup$f"]} { > # a submodule > - set qf [shellquote $f] > + set qf [shellquote "$cdup$f"] > if {[catch {set bf [open "| git -C $qf $submodlog" r]} err]} { > puts "oops, can't read submodule $f: $err" > return > } > } else { > - if {[catch {set bf [open $f r]} err]} { > + if {[catch {set bf [open "$cdup$f" r]} err]} { > puts "oops, can't read $f: $err" > return > } > @@ -7704,7 +7704,7 @@ proc showfile {f} { > } > } else { > # also a submodule > - set qf [shellquote $f] > + set qf [shellquote "$cdup$f"] > if {[catch {set bf [open "| git -C $qf $submodlog $blob" r]} err]} { > puts "oops, error reading submodule commit: $err" > return > -- > 2.17.0.593.g2029711e64 > > > --- > Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft. > https://www.avast.com/antivirus >