Re: [viewvc-users] Migration from CVS to Mercurial

Paul Boddie <[email protected]>
Newsgroups gmane.comp.version-control.cvs.viewcvs.user
Message-ID <[email protected]>
C. Michael Pilato wrote:
> My understanding is that at least with Mercurial,
> there's already a Python interface to work with, which I would expect *has*
> to be of some help.  A simple, perhaps naive approach would need only to
> implement 10-15 interfaces, answering questions about item types and
> directory listings, revision log info, and so on.  But honestly, I have no
> estimate for how much work even that would be.
>   

I'm using ViewVC for a CVS deployment, but have myself moved to 
Mercurial a while ago. As a result, I've been using hgweb (the built-in 
Web interface for Mercurial) and I find it very usable, especially in 
more recent versions with the built-in graph support. For example (the 
CPython project):

http://hg.python.org/cpython/graph/7563f10275a2

Or, with some SVG-related customisations (which need a modern browser) 
showing a personal project:

http://hgweb.boddie.org.uk/EventAggregator/graph

ViewVC and hgweb differ somewhat in style, probably because of the 
different structure of information you get in systems like Mercurial, 
with a more obvious focus on repository-wide changes in hgweb. I also 
think that hgweb benefits from usability experiences with systems like 
ViewVC, so that the number of links to follow to get to a piece of 
information can be reduced in various common cases. Disadvantages with 
hgweb include the fairly plain styling of diffs and the lack of syntax 
highlighting. I imagine that these are topics for Google Summer of Code 
improvements, but I don't think that adding them would be that difficult.

> If I had enough free time to learn Mercurial's concepts and put such an
> integration into place myself I'd be keen on doing so, but that's a
> conditional that returns FALSE for me pretty me universally these days.
>   

I think I probably considered adding Mercurial support to ViewVC in the 
beginning, but hgweb is fairly easy to style:

http://mercurial.selenic.com/wiki/Theming

There are some drawbacks with the templating which probably don't exist 
in the ViewVC templating system, but it's quite straightforward to 
customise to a particular look and feel. I don't really have any 
preference for the usual styling of ViewVC, but I've not tried to 
re-style it either.

On the topic of Mercurial concepts in general, I've tried to improve the 
Mercurial Wiki documentation with respect to CVS-oriented usage and for 
those with a CVS-like background:

http://mercurial.selenic.com/wiki/CvsLikePractice

The things to be most aware of are...

* Distributed means having your own copy of the whole repository history 
(which doesn't change anything from a ViewVC perspective, of course).
* Work done locally need not be shared until you are ready to do so.
* Operations are repository-wide, not file-oriented, so upon sharing 
changes and being warned about other people's commits involving 
different files (creating "new remote heads") may seem like a nuisance, 
but it makes sense from a repository-wide perspective (the state of the 
entire repository has changed in diverging ways).

But from a ViewVC perspective, where you have code ploughing through the 
history and building Web pages, there may be fewer differences than one 
might imagine.

Paul

------------------------------------------------------
http://viewvc.tigris.org/ds/viewMessage.do?dsForumId=4255&dsMessageId=2719766

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.