All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramkumar Ramachandra <artagnon@gmail.com>
To: Thomas Rast <trast@inf.ethz.ch>
Cc: Git List <git@vger.kernel.org>,
	Avery Pennarun <apenwarr@gmail.com>,
	Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH] t4202 (log): add failing test for log with subtree
Date: Mon, 22 Apr 2013 21:16:40 +0530	[thread overview]
Message-ID: <CALkWK0kgQqhG_ojuxZ85mTF8rhLf=wv5dGamU8z+cFxpN7QWYQ@mail.gmail.com> (raw)
In-Reply-To: <87wqruk2pj.fsf@linux-k42r.v.cablecom.net>

Thomas Rast wrote:
> So (I think?) in the above you claim that $USER interprets
>
>   git log -- README.md
>
> as
>
>   Show me the history of README.md.
>
> But there's no such thing as the history of a file!

I made no such claims.  I might not know as much as you or the others
on the list about git, but I can certainly grok how git stores
history.

There needs to be some amount of mutual respect for a healthy
conversation: if you start assuming midway that I don't understand
what history is, we have a problem.

> So please don't write tests that go contrary to that definition, because
> they're *wrong*.  The current implementation precisely matches the
> current definition of pathspec filtering.

Who said anything about changing any definitions?  Where are you
getting all this from?

How does "git log HEAD~3 -- README" work?  It sets up a revision walk
to start from HEAD~3 going all the way down to the root commit.  In
each of these commits, it looks for the entry "README" in the
corresponding tree.  It then runs diff-tree with the previous commit's
tree to see if the object (blob) corresponding to the "README" entry
is different: if so, it selects the commit and displays it.

Now, what am I saying?  I'm saying that this approach assumes that all
trees are read into /.  A pathspec "subproject/README" is _only_
present in the subtree-merge commit^{tree} and nowhere else.  The
current log algorithm might try to look for the entry
"subproject/README" (your pathspec) in all the commit^{tree}s of the
commits leading up to M^2.  That is _not_ the problem, as I have
already illustrated that --follow follows over merges.  The problem is
looking for the pathspec "subproject/README" in the first place: those
commit^{trees}s have the entry stored as "README".

Am I making any sense, or are you going to accuse me of not
understanding trees now?

  reply	other threads:[~2013-04-22 15:47 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-22 12:08 [PATCH] t4202 (log): add failing test for log with subtree Ramkumar Ramachandra
2013-04-22 12:11 ` Matthieu Moy
2013-04-22 12:17   ` Thomas Rast
2013-04-22 12:37     ` Ramkumar Ramachandra
2013-04-22 12:54       ` Ramkumar Ramachandra
2013-04-22 12:29   ` Ramkumar Ramachandra
2013-04-22 12:36     ` Matthieu Moy
2013-04-22 13:15 ` Thomas Rast
2013-04-22 13:19   ` Thomas Rast
2013-04-22 14:30   ` Ramkumar Ramachandra
2013-04-22 14:57     ` Ramkumar Ramachandra
2013-04-22 15:24     ` Thomas Rast
2013-04-22 15:46       ` Ramkumar Ramachandra [this message]
2013-04-22 15:50       ` Ramkumar Ramachandra
2013-04-22 15:54         ` Ramkumar Ramachandra
2013-04-22 17:29           ` Ramkumar Ramachandra
2013-04-22 19:15             ` Thomas Rast
2013-04-22 19:54               ` Ramkumar Ramachandra
2013-04-22 21:00                 ` Philip Oakley
2013-04-22 21:08                   ` Ramkumar Ramachandra
2013-04-22 21:23                     ` Ramkumar Ramachandra
2013-04-22 21:06               ` Matthieu Moy
2013-04-22 21:59                 ` Junio C Hamano
2013-04-22 22:52                   ` Ramkumar Ramachandra
2013-04-22 22:59                     ` Ramkumar Ramachandra
2013-04-22 23:55                     ` Junio C Hamano
2013-04-23  7:53                       ` Ramkumar Ramachandra
2013-04-23 16:03                         ` Junio C Hamano
2013-04-23 16:29                           ` Ramkumar Ramachandra
2013-04-22 16:32       ` Junio C Hamano
2013-04-22 18:00         ` Ramkumar Ramachandra
2013-04-22 18:18           ` Matthieu Moy
2013-04-22 19:09           ` Junio C Hamano
2013-04-22 20:39         ` Ramkumar Ramachandra

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='CALkWK0kgQqhG_ojuxZ85mTF8rhLf=wv5dGamU8z+cFxpN7QWYQ@mail.gmail.com' \
    --to=artagnon@gmail.com \
    --cc=apenwarr@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=trast@inf.ethz.ch \
    /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.