[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] File log command-line UI thoughts
From: |
Kevin Smith |
Subject: |
Re: [Monotone-devel] File log command-line UI thoughts |
Date: |
Thu, 13 Nov 2003 19:42:24 -0800 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20031024 Thunderbird/0.2 |
Kevin Smith wrote:
I think the sane thing to do is to allow you to pull the history for a
given file back to the first point that it had two ancestors. At that
point, it would stop and tell you the ids of the two ancestors.
I think it's going to be harder than I thought. If I understand things
correctly, monotone doesn't "track" file changes. That is, it only
tracks tree changes, of which file changes happen to be a part.
So, given a file id, I can't ask for the "author" or "date" cert,
because there aren't any. There doesn't even seem to be an ancestor
cert, because we don't really care how a file got to its present state,
except within the context of manifests and trees.
So the only way to show a file's history is by walking back through
manifests, watching for changes to the file in question.
But we might have a manifest merge (which appears to me as a fork, since
I'm moving backward in time). The file in question might be different in
the two ancestors, or it could be the same in both. I'm not sure whether
to stop there, or keep going, possibly running into an n-way "fork"
(where multiple different versions of this file may have been merged),
or possible in a diamond.
Aside from that question, it seems that instead of the command being:
flog <file-id>
it would have to be:
flog <filename> <manifest-id>
If manifest-id is omitted, the workspace version would be used. But we
have to work within the context of a manifest.
And I thought this feature would be easy.
Am I understanding things correctly?
Kevin