diff disagrees with status
Adrian Buehlmann
adrian at cadifra.com
Thu Jan 24 09:31:57 UTC 2008
On 24.01.2008 02:38, j w wrote:
> What does hg give you that can't be accomplished with branch/integrate in p4?
Perforce is one of the best classical central model VCS', yes (even better than
Subversion, thanks to the integration records). But,
Perforce treats file revisions rather decoupled from overall depot states
(changelists).
In other words: Perforce for example doesn't record which changeset was merged
into which other changeset. It records merges only on a file revision basis, not
on a changelist/depot wide basis.
Perforce doesn't record some other infos as well (for example, the parent
changelist(s) of your submit). Perforce doesn't even know to which changelist
you have synced your workspace.
In Perforce, you need to know in advance whether you will need a branch or not.
With Mercurial, every working directory state is the starting point of a branch.
For example, if you want to have the same flexibility as in Mercurial, you might
end having a lot of branches in Perforce. Let's say you have X features and Y
developers. This tends to give you X times Y branches in Perforce (at least in
the main line). Add release branches. All branches started in advance in
Perforce -- even if you later discover that you didn't need a particular branch.
And, of course, with Mercurial you have local commits, ad-hoc (group or
peerwise) software integrations, easy backup, easy resync after offline times,
cheap server hardware even for larger teams (if you have a central repo), a nice
built-in webserver, complete verifiability (thanks to the sha1 hashes covering
all data) delivered at reasonable speed, and you can take your repos on the
road, explore the projects history without connection to a central server.
Ok. I'll stop here :-)
More information about the Mercurial
mailing list