I am new to mercurial and I am trying to grok the whole branched repository vs. named branch issue.
It seems that the mercurial dev team and most of the experienced users have settled on the branched repository side. I have landed on the named branch side, at least for my development team. This confuses and concerns me.
Most of what I can find online is just vague hand waving and name calling: named branches are broken, hard, confusing, poorly supported, etc. The specifics I have dug up do not seem to support any of that. Could it be a cultural or historical bias due to the relatively late addition of named-branches?
There is some inherent complexity in branched development, but it seems that the primary difference between the two modes is that the branched repository model hides branches from you based on which repository you are looking at. From my perspective, this seems to make it more difficult to see the big picture and to slightly increase the complexity of things.
My concern is all the things I don't know about Mercurial that I may not learn about until it's too late.
Can some of you experienced Mercurial users give specific pros and cons of the two models?
4/30/08 update: We have been using named branches in our branch-per-feature model for over two months. This has worked very, very well for us. No gotchas. No roadblocks. There is no other feasible way within Kiln/Mercurial to cherry pick features as they are validated, which our development process requires.