LinuxTV

News

2006-01-30   Mercurial (aka hg) V4L/DVB tree

New v4l/dvb Mercurial tree available, replacing CVS.

Dear V4L/DVB guys,

We are proud to announce that we are doing some important steps to improve v4l/dvb development. Currently, the projects use a very old SCM (Source Configuration Management), based on RCS files (CVS).

Although it was good in the past, now newer concepts were introduced to SCM that allows better models of development. It brings several advantages over CVS like:

  • Capable of being decentralized. Each developer may have its own local copy, with local commits;
  • Atomic commits. on rcs based systems, you have a separate control for each file, not for the patchset. On newer SCMs, the patchset is stored as an unique unit;
  • Better handling for conflict resolution;
  • Commit undo

And others. For a better description of Mercurial, you should look at Mercurial page. They have also an IRC channel on freenode (#mercurial).

From now, cvs access are marked as not to be used, since hg is available. You can retrieve hg via:

http://linuxtv.org/hg/v4l-dvb

The same URL is used for both web view of the tree and web access.

With Mercurial, to retrieve a dynamic generated tarball from latest stuff (as well as for any part of the tree). To get the tarball of the latest version you can do:

  1. Open http://linuxtv.org/hg/v4l-dvb on your favorite browser;
  2. go to Tips line and click on it;
  3. It will open a view of current tags. Click on manifest at the tip line;
  4. A tree graph will be showed. You will see near the top an option to get a or . Click on one of these and you will receive a tarball with the latest version.

To install mercurial, some distros already have it. If not available, you can download a binary version or retrieve a source file.

The source file URL contains some instructions to install it. Basically:

  1. extract the tarball;
  2. cd mercurial*
  3. perl setup.py install

python-2.3 or upper is required.

After having mercurial installed:

hg clone http://linuxtv.org/hg/v4l-dvb

This will create a new dir, called v4l-dvb, and put all stuff there.

To update to the latest version on tree (inside v4l-dvb dir):

make update

(this is an alias for hg pull -u http://linuxtv.org/hg/v4l-dvb)

There is a readme file at v4l-dvb called README.HG that contains some basic instructions for people that wants to generate new patches.

Cheers,
Mauro.

mchehab