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

Properties (was Re: Subversion Vision and Roadmap Proposal)

From: Martin Hauner <martin.hauner_at_gmx.net>
Date: Mon, 05 Apr 2010 19:28:57 +0200

Hi,

On 05.04.10 17:06, Stefan Sperling wrote:
> On Mon, Apr 05, 2010 at 04:14:21PM +0200, Martin Hauner wrote:
> [..]
>> In case of merging (mostly cherry picking from trunk to live and
>> next release branches, merge tracking is nice BUT svn:merginfo on
>> the root folder kills it again. After each merge I have to update
>> again (ie. wait another few minutes) before I'm able to commit
>> again.
>
> So mergeinfo kills it because it takes a long time to update?
> How is this any different from the performance problem you mentioned,
> and what has it got to do with mergeinfo?
> Or do you generally oppose the idea of storing merge information
> in svn: properties? If so, were else would you store it?

Äh, performance yes. ;-)

The performance problem makes merge tracking more a pain than a gain.

Before merge tracking I could do this:

merge (cherry pick) from trunk to branch
commit, add merged revision to log message
merge (cherry pick) from trunk to branch
commit, add merged revision to log message

and so on...

In most cases this didn't touch common folders so while updating my branch I
could mostly skip the update step.

With svn:mergeinfo I have to update after each commit because its on my root
folder and always is out of date on the next commit. So the extra step takes
away another few minutes because of the performance issue.

merge (cherry pick) from trunk to branch
commit
update
merge (cherry pick) from trunk to branch
commit
update

This is annoying.. :)

So yes, apart from the performance issue I don't like that svn:merginfo is a
property on the root folder. Using a property for this kind of information feels
wrong to me.

You mention that there is the idea of using another svn: property to configure
branching/merging strategy. I don't like that either.

I see that looking from the "how do we get this into subversion" point of view
properties are an option because we don't have a better place. But from a user
point of view this is completely arcane.

This is "high level" info or meta information and not interesting for single
files & folders. Having them user visible at "special" places (i.e. the root
folder, which it is only by convention) or "normal" files & folders is confusing.

In case of svn:mergeinfo on the root folder it even interferes with the normal
work flow. On /trunk I can commit without update for a while. On cherry picking
& merging I always have to commit & update.

So as a user I ask: why is this two steps then..? What a strange system ;-)))

I can't offer a better place to store such information, but in my opinion it
shows that subversion is missing something, a basic concept, here.

Some random thoughts:

Maybe such configuration could be stored in global properties? Properties not
set on files/folders or revisions but on the repository.

 From an svn client view, I would like to have api calls to get all interesting
info (for example the repository layout) for any given repository location.

svn_client_get_root
("http://svn.apache.org/repos/asf/subversion/trunk/subversion/svn_client");

would give me "http://svn.apache.org/repos/asf/subversion/trunk"

svn_client_get_root
("http://svn.apache.org/repos/asf/subversion/branches/1.6.x/subversion/svn_client");

would give me "http://svn.apache.org/repos/asf/subversion/branches/1.6.x"

Then I could ask

svn_client_layout ("http://svn.apache.org/repos/asf/subversion/trunk");
or
svn_client_layout ("http://svn.apache.org/repos/asf/subversion/branches/1.6.x");

which would tell me

trunk: "http://svn.apache.org/repos/asf/subversion/trunk"
branches: "http://svn.apache.org/repos/asf/subversion/branches"
tags: "http://svn.apache.org/repos/asf/subversion/tags"

Then an "svn branch" could check that the target is indeed in branches and not tags.

> Thanks,
> Stefan

-- 
Martin
Subcommander 2.0.0 Beta 5 - http://subcommander.tigris.org
a Win32/Unix/MacOSX subversion GUI client & diff/merge tool.
Received on 2010-04-05 19:29:31 CEST

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