Stefan KŁng <tortoisesvn_at_gmail.com> wrote on 04.03.2008 07:10:13:
> SF_at_tigris.org wrote:
> > Author: SF
> > Date: 2008-03-03 15:24:57-0800
> > New Revision: 12259
> > Modified:
> > trunk/src/TortoiseProc/RevisionGraph.cpp
> > Log:
> > replace the expensive GetWCRevisionStatus (crawls the whole WC!)
> > call by the much faster GetFirstFileInfo.
> But GetFirstFileInfo does not give you the revision of the working copy!
> And we need/want to mark the revision in the graph where the working
> copy is on.
Hm. It depends on what we want to show. In my opinion,
the user wants to know what his "current position" is
within the revision graph.
Using GetFirstFileInfo, I mark the last changed revision
for single files and folders alike. Usually there is a
already a corresponding node in the graph (for obvious
reasons). To me, this is an exact description of what
"my current position" within the changes graph is.
I tried a number of paths in the TSVN /trunk tree and
for all of them, GetFirstFileInfo()->lastchangedrev
gives the same value as the maxrev out-parameter of
GetWCRevisionStatus(). As this lastchangedrev info should
be present in any working copy ever since SVN 1.0,
we can rely on both calls yielding the same results
at least for 1.5.x.
Things become complicated with mixed revision WCs.
This can only be an issue with folders. GetWCRevisionStatus
might return a higher number here, if only some deeply
nested sub-folder got updated.
But as long as we don't want to say "mixed revision"
in the graph while not marking any revision, I think
marking the revision of the selected path is The Right Thing.
If you should disagree here, I would rather make it an
option to mark the current revision. Some working copies
here at the office are more than 10 time as big as TSVN
(excluding externals in both cases). Crawling them is
a big issue while it isn't for TSVN-sized projects.
To unsubscribe, e-mail: dev-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: dev-help_at_tortoisesvn.tigris.org
Received on 2008-03-04 13:42:00 CET