[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: RFC: Log Message Templates via new hook.

From: SteveKing <steveking_at_gmx.ch>
Date: 2005-05-27 22:41:47 CEST

kfogel@collab.net wrote:

> How does TSVN handle it when it finds multiple such properties as it
> crawls upwards, and they have different values?

It uses the first property found. That way, a property set on a
subfolder can 'overwrite' a property on a parent folder.
And we don't crawl upwards until we find *all* possible properties. We
stop when we found a folder which has one of those props set and use
that. This is due to the fact that we don't have inherited properties
and it *would* take a while to crawl all folders upwards. Also, it would
be inconsitent because if we would crawl upwards to the wc root (and
maybe even merge the property values), the result could be different
depending from where you've checked out your working copy.

> How does TSVN handle it if the crawl to find a tsvn:logtemplate
> property takes a long time? Does it just wait that long to show the
> user a log message edit box, or does it show the box immediately and
> then take further action later if it finds a template(s) during the
> crawl?

The crawl doesn't really take long, it's not even really noticeable. The
TSVN project props are only set on folders. So even if you have a
working copy with a very deep tree, it can't take that long. My timing
tests showed that if you have a tree eight levels deep, and no
properties set on the lower seven levels (so the crawl has to go up to
the top folder), it takes ~690ms. Of course, if the properties are set
on every folder (which is what we recommend), then it only takes a few
milliseconds.

> Another way to ask that might be: What does TSVN do between the time
> the user starts the commit and the time the user checkboxes the first
> file or directory to be included in the commit?
>
> As the user checks/unchecks different files and directories (perhaps
> the user is indecisive and keeps changing his mind about what will be
> in the commit), does TSVN re-crawl to discover whether the log message
> template needs to change based on the new target paths? If it does,
> how does the interface handle the time delay potentially involved in
> the re-crawl?

Our implementation of the log template is static. That means it doesn't
depend on the selected files. But we have (previously with a button, now
in the context menu) the ability to insert a list of the selected files
in the edit box.

> I am not saying you haven't solved these problems. Maybe you have --
> but if so, then you have (IMHO) dealt with "huge complexity" :-).

I tried to keep it simple. I can't really implement inherited properties
in TSVN without hacking the Subversion code (or a *big* overhead by
adding properties after each update/checkout to each subfolder.
Subversion already knows which files/folders get updated/checked out and
doesn't have to crawl a maybe very big working copy again to get that
information).

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri May 27 22:42:33 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.