git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Bert Wesarg <bert.wesarg@googlemail.com>
To: Alex Riesen <alexander.riesen@cetitec.com>
Cc: Paul Mackerras <paulus@ozlabs.org>,
	Git Mailing List <git@vger.kernel.org>,
	Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH] gitk: do not limit tree mode listing in the file list panel to current sub-directory
Date: Wed, 9 May 2018 14:08:51 +0200	[thread overview]
Message-ID: <CAKPyHN0iQh=UJOX-8u4PO1ON9SW+G1gBCGh25FJ_RyoGk906QQ@mail.gmail.com> (raw)
In-Reply-To: <56ccabf699cdc6e15c5dcb73db5692180c79906d.1525863290.git.raa.lkml@gmail.com>

Thanks.

On Wed, May 9, 2018 at 12:59 PM, Alex Riesen
<alexander.riesen@cetitec.com> wrote:
> From: Alex Riesen <raa.lkml@gmail.com>
>
> 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
>

  reply	other threads:[~2018-05-09 12:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-08 12:11 [PATCH 0/2] gitk: improve handling of submodules in the file list panel Alex Riesen
2018-05-08 12:22 ` [PATCH 1/2] gitk: show part of submodule log instead of empty pane when listing trees Alex Riesen
2018-05-08 17:07   ` Stefan Beller
2018-05-09  9:01     ` Alex Riesen
2018-05-08 12:22 ` [PATCH 2/2] gitk: add an option to run gitk on an item in the file list Alex Riesen
2018-05-08 13:17   ` Bert Wesarg
2018-05-08 13:39     ` Alex Riesen
2018-05-09  7:19       ` Bert Wesarg
2018-05-09 10:59         ` [PATCH] gitk: do not limit tree mode listing in the file list panel to current sub-directory Alex Riesen
2018-05-09 12:08           ` Bert Wesarg [this message]
2018-05-09 12:14             ` Alex Riesen
2018-05-09 12:35 ` [PATCH v2 0/2] gitk: improve handling of submodules in the file list panel Alex Riesen
2018-05-09 12:35   ` [PATCH v2 1/2] gitk: show part of submodule log instead of empty pane when listing trees Alex Riesen
2018-05-09 12:35   ` [PATCH v2 2/2] gitk: add an option to run gitk on an item in the file list Alex Riesen
2018-05-09 18:52   ` [PATCH v2 0/2] gitk: improve handling of submodules in the file list panel Stefan Beller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKPyHN0iQh=UJOX-8u4PO1ON9SW+G1gBCGh25FJ_RyoGk906QQ@mail.gmail.com' \
    --to=bert.wesarg@googlemail.com \
    --cc=alexander.riesen@cetitec.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=paulus@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).