Neels J Hofmeyr wrote on Wed, Aug 24, 2011 at 22:04:11 +0200: > On 08/24/2011 04:01 PM, Daniel Shahaf wrote: > > Neels J Hofmeyr wrote on Wed, Aug 24, 2011 at 15:32:20 +0200: > >> Changelists have been *designed* in the flipped-over wrong-way-round: they > >> *include*, not exclude selected items. We'd have to implement this against > >> its basic design. (Like using switch for externals, remember?) > > > > Changelists were designed to group files. What's fundamentally flawed in > > > > % svn cl foo A/mu ./iota > > % svn commit --depth=empty A/mu ./iota --except-cl=foo > > Usually the code goes like "if there is a changelist, act on the node only > when it is part of the changelist." ...well, it's just what I remember > faintly, admittedly. Is that true? >
My recollection is that 'svn $subcommand foo --changelist bar' applies to one of: - the subset of descendants of that are in changelist 'bar'; - both to foo and to members of 'bar' where some subcommands behave differently than others. > If it isn't, there's nothing wrong with your command at all. In fact that > would be quite nice. > > But from the ignore-on-commit perspective, you still need to remember to > supply it at commit time. > You'd need to make the changelist always secretly self-acting, and thus the > changelist must have a special name, as Hyrum kindly pointed out :) > If I can instead create a simple property to achieve the same, I'm happier. > We could decide that the special changelist is always applied, unless a node has been explicitly named as a commit target. It wouldn't even require a revision of the API signature :-) > And your command example doesn't give you the ability to propagate it > globally without even coding a single additional line of code. (none except > warning messages we may want to introduce.) > True. But you could add [auto-changelists] to ~/.subversion/config... (which doesn't solve the 'global propagation' problem, but helps a little)