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

Mixing recursive and non-recursive commits

From: Philip Martin <philip_at_codematters.co.uk>
Date: Tue, 23 Jul 2013 11:13:58 +0100

I've ben asked whether the command line could be enhanced so that

   svn commit --parents dir/node

where 'dir' is added would automatically include 'dir' in the commit
and thus succeed. The basic definition given is that it would work
"just like the GUI tools" but that doesn't really help me.

I believe the basic principle is that explicit targets are committed
recursively or non-recursively, just like the current commit code, but
that sufficient parents are automatically included to make the commit
work.

It's relatively simple when the extra, non-explict, targets are simple
adds. But when those extra targets are deleted, copied or replaced they
can only be included with some level of recursion and so may affect
other children such as 'dir/node2'. I'm not certain whether the commit
should affect those other children or fail, probably it should fail.

Another problem is property only changes. If 'dir' only has property
changes then it does not have to be included for the commit to be
possible. I'm not certain whether the commit should include or omit
property-only parents.

My feeling is that if --parents included just adds, or perhaps both adds
and property-only changes, with an implicit '--depth empth' then we
would have well defined behaviour that users could understand. The
commit would still fail if it attempted to include a copy, delete or
replace.

Does that sound like an enhancement people would use?

-- 
Philip
Received on 2013-07-23 12:15:02 CEST

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