From: Junio C Hamano <junkio@cox.net>
To: Linus Torvalds <torvalds@osdl.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 6/8] ls-tree: work from subdirectory.
Date: Mon, 28 Nov 2005 02:51:11 -0800 [thread overview]
Message-ID: <7v3blhvye8.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <7v64qdyxxx.fsf@assigned-by-dhcp.cox.net> (Junio C. Hamano's message of "Mon, 28 Nov 2005 00:32:42 -0800")
Junio C Hamano <junkio@cox.net> writes:
> So let's cook this for a while and have Porcelain people holler
> if they find something lacking. I'll put this in the proposed
> updates tonight, and we will plan to push everything in the
> proposed updates branch to the master branch on Wednesday, with
> any fixes and updates necessary.
OK, so I did some tests adjustments (they are in "pu"). Most
differences are easily explained but some are not.
Easy ones:
- With -r, tree entries are not shown.
- Unlike /bin/ls arguments, the paths are now filters, so
no duplicates on the output, nor the output order does not
depend on command line argument order.
- "path" shows the tree if path corresponds to a directory;
say "path/" to get its contents.
However I do not have an easy way to explain how these two work
the way they do. Taken from t/t3101 test.
The first one has both path0/a/b/c and path0/a in the filter,
and path0/a tree entry itself is not shown because it "recurses
through it".
+# I am not so sure about this one after ls-tree doing pathspec match.
+# Having both path0/a and path0/a/b/c makes path0/a redundant, and
+# it behaves as if path0/a/b/c, path1/b/c, path2 and path3 are specified.
test_expect_success \
'ls-tree filter directories' \
'git-ls-tree $tree path3 path2 path0/a/b/c path1/b/c path0/a >current &&
cat >expected <<\EOF &&
-040000 tree X path3
-100644 blob X path3/1.txt
-100644 blob X path3/2.txt
-040000 tree X path2
-100644 blob X path2/1.txt
040000 tree X path0/a/b/c
-100644 blob X path0/a/b/c/1.txt
040000 tree X path1/b/c
-100644 blob X path1/b/c/1.txt
-040000 tree X path0/a
-040000 tree X path0/a/b
+040000 tree X path2
+040000 tree X path3
EOF
test_output'
The second one is the same; since there is path3/, it recurses
through it and path3 itself is not shown but its contents are.
It is showing both path3/1.txt and path3/2.txt not because
path3/1.txt is specified but path3/ was specified.
+# Again, duplicates are filtered away so this is equivalent to
+# having 1.txt and path3/
test_expect_success \
'ls-tree filter odd names' \
'git-ls-tree $tree 1.txt /1.txt //1.txt path3/1.txt /path3/1.txt //path3//1.txt path3 /path3/ path3// >current &&
cat >expected <<\EOF &&
100644 blob X 1.txt
-100644 blob X 1.txt
-100644 blob X 1.txt
-100644 blob X path3/1.txt
-100644 blob X path3/1.txt
-100644 blob X path3/1.txt
-040000 tree X path3
-100644 blob X path3/1.txt
-100644 blob X path3/2.txt
-040000 tree X path3
-100644 blob X path3/1.txt
-100644 blob X path3/2.txt
-040000 tree X path3
100644 blob X path3/1.txt
100644 blob X path3/2.txt
EOF
next prev parent reply other threads:[~2005-11-28 10:51 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 ` [PATCH 6/8] ls-tree: work from subdirectory Junio C Hamano
2005-11-27 11:08 ` 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 [this message]
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=7v3blhvye8.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=git@vger.kernel.org \
--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.