Junio C Hamano <gits...@pobox.com> writes:

> If your justification were "above says 'there may be a readon why
> the user wanted to ask it in that way', i.e. 'find in this tree
> object HEAD:some/path and report where hits appear', but the reason
> can only be from laziness and/or broken script and the user always
> wants the answer from within the top-level tree-ish", then that
> argument may make some sense. You need to justify why it is OK to
> lose information in the answer by rewriting the colon that separates
> the question ("in this tree object") and the answer ("at this path
> relative to the tree object given").
>
> Whether you rewrite the input or the output is not important; you
> are trying to give an answer to a different question, which is what
> I find questionable.

For example, one of the cases the proposed change will break that I
am worried about is a script that wants to take N trees and a
pattern, and report where in the given trees hits appear, something
like:

git grep -c -e $pattern "$@" |
perl -e '
        my @trees = @ARGV;
        my %found = ();
        while (<>) {
                my $line = $_;
                for (@trees) {
                        my $tree_prefix = $_ . ":";
                        my $len = len($tree_prefix);
                        if (substr($line, 0, $len) eq $tree_prefix) {
                                my ($path_count) = substr($line, $len);
                                my ($path, $count) = $path_count =~ 
/^(.*):(\d+)$/
                                $found{$tree} = [$path, $count];
                        }
                }
        }
        # Do stats on %found
' "$@"

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to