Add support for mercurial (hg)
Support adddiffs, addchangelist and addchanges for mercurial
As of 6.0, Mercurial has addhgdiffs and addchanges support.
12 comments
-
awilson
commented
One challenge when creating code reviews is including only changes that the developer is responsible for. If we only use hgdiffs between revision A and B, we end up dragging a lot of unrelated changes into the review.
When we commit code, we often will create a bundle of changes (local changes&commits against the top level base repository). We will then pass this bundle to another developer for a sanity check before committing. The developer will then create a new clone of the base repository, and then pull in the changesets. This generally forces the developer to perform a merge -- so all changes are outstanding. It's then easy to create a diff of base repository vs. new commits by running hg diff. If there was a way to do this with code collaborator, that would be awesome. We need a way to filter all of the unrelated code changes that may happen between revision A and revision B.
-
avir
commented
Support should specifically allow for post-commit/pre-push reviews. Especially from the Windows GUI.
-
Admingsporar
(Admin, Code Collaborator)
commented
Version 5.0 has support for adddiffs so this is partially complete (unfortunately, UserVoice does not have a "partially complete" state).
-
Garen
commented
Assuming I understand you correctly, I'd favor "post-commit", regardless of the VCS being used. You really want to be able to refer to a specific version, especially if you have triggers running after the review. Pre-commit to me suggests to me that you're not properly isolated.
-
Garen
commented
There is Eclipse plugin for Mercurial: hhttp://bitbucket.org/mercurialeclipse/
Command line support is probably "good enough" to begin with, since most Mercurial users are used to using it that way in the first place (except for some Eclipse users). For wider adoption long term, will need GUI support too.
-
Admingsporar
(Admin, Code Collaborator)
commented
Which leads to the questions about Mercurial. How would you envision using it with CC? Pre-commit? Post-commit? Both? If so, which is higher priority? And are there Mercurial-specific features we should take into account? Is a command line user interface enough or do you need support in the CC GUI as well? Is there an Eclipse plugin for Hg that is popular - if so we can leverage it with ours, etc.
-
Admingsporar
(Admin, Code Collaborator)
commented
Hi Garen - Code Collaborator (CC) provides a variety of different levels of support, depending upon the vcs in question; e.g. CC can't provide support for "jobs" in VSS because VSS doesn't support jobs - but Perforce does, etc. The support ranges from just being able to use the same parameters as a vcs's native diff tool all the way up to support for concepts that are available *only* in one vcs.
-
Garen
commented
Besides, shouldn't the fact that Review Board ("competitor" or alternative code review software) supports it be enough? See:
http://code.google.com/p/reviewboard/ -
Garen
commented
Jason, I'm not sure what you mean by your questions, and with only 400 characters per post I can't speculate too much. :) Suffice to say that mercurial is the DCVS that actually works well on multiple platforms. There's a chicken-and-egg issue here, given that it's limited by a lack of 3rd party tool support. (Komodo 5.1 just came out with mercurial/git support though!)
-
Adminpjz
(Admin, Code Collaborator)
commented
5.0 will have addhgdiffs support, so at least you don't have to mess with piping things in.
-
randyw
commented
when using SVN, I usually use addchanges to review changes before committing. I'd like the same ability with Hg. Currently, I have to use addfiles from the commandline and specify each file individually that I'd like to review. This is painful when reviewing a directory full of files.
-
It's funny that there are so many votes and no comments.
Would anyone like to share exactly how they'd like to see the implementation work? How would it fit into your current workflow? Which integration point would you like to see first?