Maintaining Mercurial (Hg) trees

From LinuxTVWiki
Jump to: navigation, search

CVS is a developer database, It means that it might be broken from time to time. There are more "stable" snapshots at v4l downloads page.

These are some simple rules that gives some directions for maintaing CVS tree:

	1) Every CVS maintainer should be active at #V4L IRC channel. It helps
to have more discussions at major changes;
	2) Minor changes, like simple card additions (only a card row at card
struct) can be applied directly for the CVS maintainer;
	3) Medium changes that needs modification on card coding or creating a
new card type should be discussed at #V4L IRC channel to allow other
contributors to discuss about the way it will be included. V4L
maintainer should be warned to create a snapshot (if the change could
generate impacts on other cards) BEFORE commiting the change to CVS;
	4) Major changes that implies changing some core structs should be
discussed on IRC, posted to the list, created a snapshot THEN committed
to CVS.
 	5) Every CVS maintainer should follow the "rules of thumb" of kernel
development like:
*  Kernel rules to submit patches
*  Kernel rules to submit drivers
*  Kernel Coding Style
	6) People interested in being a CVS maintainer should participate at IRC,
before requesting changing access to V4L CVS.
	7) Non active CVS maintainers or that doesn't like to follow the above
rules may be dropped.
       8) Every commit should update ChangeLog describing who did, what changed and in what files.
It should also have Developer's Certificate of Origin 1.1  for each patch contributor.
The best way for generating it is using make changes
The bottom signed-off-by should be the CVS maintainer.

This is an example:

 2005-06-28 18:35  cvsmaintainer
       * filelist.c, filelist.h:
       - described changes.

       Signed-off-by: Patch Developer <>
       Signed-off-by: Cvs Maintainer <>

Obs.: Timestamp should be in GMT
       9) Commit messages are very rellevant, since they will be used when generating the patches for mainstream.
      The format shall be:
Subject: patch subject - only one line describing the entire patch
From: optional - only one line with the author of the patch
patch descriptions
Signed-off-by: one line by signer - should include the patch commiter and the author


Some quotations about development:

"The most difficult problem isn't fixing bugs, but fixing bugs without breaking other configurations. There are many: different cards, different TV norms, whereas most of the developers can test only one TV norm." - Gerd Knorr

"Anyone who has never made a mistake has never tried anything new." - Albert Einstein