
Peter Dimov wrote: [...]
I'll try to give a hopefully non-vague answer reflecting my idea of 'trunky' development.
The trunk is where integration testing happens. If the testing resources can only cover one branch, the trunk is that branch.
Doesn't it imply no more HEAD/branch dichotomy, or at the very least no tests on HEAD?
Development occurs on the trunk via incremental refactoring. Ideally, changes are committed only after a test cycle, so that the reason for a regression can be isolated with reasonable accuracy.
Still developers should have private areas/branches/whatever to which commit their intermediate stages, don't you think? That is, committing changes as you say above may actually be a case of merging.
The practice of a developer working on a branch (or on the local copy) for four months, then merging a major patch and breaking the world is discouraged. The practice of a developer working on a branch for four months and then not merging at all because the real world interfered in the meantime is discouraged. Non-incremental development is discouraged.
Does this make sense? :-)
It certainly does, but isn't that similar to what I wrote here: http://svn.boost.org/trac/boost/wiki/AlternateProcessProposal possibly with extremely short stages? Cheers, Nicola Musatti