All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Petr Baudis <pasky@suse.cz>, Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH 6/8] ls-tree: work from subdirectory.
Date: Sun, 27 Nov 2005 01:21:53 -0800	[thread overview]
Message-ID: <7vr792fnta.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: Pine.LNX.4.64.0511251953081.13959@g5.osdl.org

Linus Torvalds <torvalds@osdl.org> writes:

> And this is just ugly.
>
> git-ls-tree should be rewritten to use a pathspec the same way everybody 
> else does. Right now it's the odd man out: if you do
>
> 	git-ls-tree HEAD divers/char drivers/
>
> it will show the same files _twice_, which is not how pathspecs in general 
> work.

True; that is more or less deliberate.  The behaviour is
modelled after what "/bin/ls -a" does.

> How about this patch? It breaks some of the git-ls-tree tests, but it 
> makes git-ls-tree work a lot more like other git pathspec commands, and it 
> removes more than 150 lines by re-using the recursive tree traversal (but 
> the "-d" flag is gone for good, so I'm not pushing this too hard).

I am all for it if it were just me, and all the more so for its
cleanup value.  I do not think anybody uses "-d" (none of
Cogito, StGIT nor gitweb seems to use it, and I have not seen
Jason McMullan, who wanted to have a way in ls-tree to see just
the object name of a subtree, on the list for a while); I
suspect that nobody would miss that option.

However, this patch changes its behaviour in another way, and
that could impact Porcelains more than the removal of the "-d"
option.  Currently, "git-ls-tree <tree> $dir" shows what
"/bin/ls -a -1 $dir" would show --- the tree for $dir itself and
its immediate children.  This patch changes it to show the tree
for $dir and nothing else.  In effect, "-d" becomes the default
that you cannot turn off, except using "-r" to allow it go all
the way down.

I do not think StGIT is affected; it does not use ls-tree at all.
gitweb is not affected either.  It does not use paths specifier.

Cogito might need a slight adjustment.

 - cg-admin-cat may want to use -r for the first one (${ARGS[@]}
   may name a directory), but that also would change the
   behaviour.  The current one shows only one level, instead of
   going all the way down.

 - cg-log:117 uses ls-tree without -r, but I have a feeling that
   it might be just a bug, even with the current ls-tree; I
   suspect the user would not see things in subdirectories.
   This is only for the initial commit so it may or may not
   matter much.

 - cg-restore already uses ls-tree -r so that would not be
   affected.

  parent reply	other threads:[~2005-11-27  9:22 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-20 17:00 Get rid of .git/branches/ and .git/remotes/? Johannes Schindelin
2005-11-20 18:09 ` Linus Torvalds
2005-11-20 18:29   ` Sven Verdoolaege
2005-11-20 19:07     ` Linus Torvalds
2005-11-20 19:16       ` Andreas Ericsson
2005-11-20 19:50   ` Johannes Schindelin
2005-11-26 23:50     ` Petr Baudis
2005-11-27  0:38       ` Junio C Hamano
2005-11-20 23:26   ` Josef Weidendorfer
2005-11-20 23:58     ` Johannes Schindelin
2005-11-22 17:31     ` Josef Weidendorfer
2005-11-22 17:56       ` Johannes Schindelin
2005-11-22 19:30         ` Andreas Ericsson
2005-11-23 15:08           ` Johannes Schindelin
2005-11-23 23:21             ` Junio C Hamano
2005-11-23 23:29               ` Andreas Ericsson
2005-11-23 23:42                 ` Johannes Schindelin
2005-11-24  8:05                   ` Andreas Ericsson
2005-11-24  8:33                     ` Junio C Hamano
2005-11-24 10:36                       ` [PATCH] Rename git-config-set to git-repo-config Johannes Schindelin
2005-11-24 11:33                         ` Junio C Hamano
2005-11-24 13:28                           ` Johannes Schindelin
2005-11-24 21:24                             ` Junio C Hamano
2005-11-24 21:54                               ` Johannes Schindelin
2005-11-26  2:22                                 ` Junio C Hamano
2005-11-26  4:05                                   ` Linus Torvalds
2005-11-26  4:07                                     ` Linus Torvalds
2005-11-26  9:51                                     ` [PATCH 0/8] Make C-level operable from subdirectories Junio C Hamano
2005-11-26 10:59                                       ` Junio C Hamano
2005-11-26 18:44                                       ` Ryan Anderson
2005-11-27  9:21                                     ` Junio C Hamano [this message]
2005-11-27 11:08                                       ` [PATCH 6/8] ls-tree: work from subdirectory Petr Baudis
2005-11-27 18:01                                       ` Linus Torvalds
2005-11-27 18:22                                         ` Petr Baudis
2005-11-27 19:00                                           ` Linus Torvalds
2005-11-28  1:07                                             ` Junio C Hamano
2005-11-28  1:46                                               ` Linus Torvalds
2005-11-28  6:11                                                 ` Junio C Hamano
2005-11-28  6:48                                                   ` Linus Torvalds
2005-11-28  8:32                                                     ` Junio C Hamano
2005-11-28 10:51                                                       ` Junio C Hamano
2005-11-28 10:51                                                     ` [PATCH] ls-tree: Resurrect funny name quoting lost during rewrite Junio C Hamano
2005-11-26  5:52                               ` [PATCH] Rename git-config-set to git-repo-config Junio C Hamano
2005-11-26  9:56                               ` [PATCH 1/8] git-apply: work from subdirectory Junio C Hamano
2005-11-26 17:36                                 ` Linus Torvalds
2005-11-26 18:54                                   ` Junio C Hamano
2005-11-27  4:06                                   ` Junio C Hamano
2005-11-27 14:39                                     ` Lars Magne Ingebrigtsen
     [not found]                                       ` <7vy839dfzk.fsf@assigned-by-dhcp.cox.net>
2005-11-27 21:13                                         ` Lars Magne Ingebrigtsen
2005-11-27 22:12                                           ` Junio C Hamano
2005-11-26  9:56                               ` [PATCH 2/8] peek-remote: honor proxy config even " Junio C Hamano
2005-11-26  9:56                               ` [PATCH 3/8] fsck-objects: work " Junio C Hamano
2005-11-26  9:56                               ` [PATCH 4/8] checkout-index: " Junio C Hamano
2005-11-26  9:57                               ` [PATCH 5/8] hash-object: work within subdirectory Junio C Hamano
2005-11-26  9:57                               ` [PATCH 6/8] ls-tree: work from subdirectory Junio C Hamano
2005-11-26 17:38                                 ` Linus Torvalds
2005-11-26  9:57                               ` [PATCH 7/8] Make networking commands to work from a subdirectory Junio C Hamano
2005-11-26  9:57                               ` [PATCH 8/8] Make the rest of commands " Junio C Hamano
2005-11-22 23:05         ` Get rid of .git/branches/ and .git/remotes/? Josef Weidendorfer
2005-11-23 14:53           ` Johannes Schindelin
2005-11-23 15:39             ` Josef Weidendorfer
2005-11-23 17:22               ` Johannes Schindelin

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

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

  git send-email \
    --in-reply-to=7vr792fnta.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=pasky@suse.cz \
    --cc=torvalds@osdl.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.