[Lemon-devel] IMPORTANT: New repository for lemon
Alpár Jüttner
alpar at cs.elte.hu
Tue Dec 18 14:04:53 CET 2007
Dear all,
as I explained in my previous main, we are going to use mercurial
version control for the upcoming series of LEMON. The main public
repository can be found here:
http://lemon.cs.elte.hu/hg/lemon
i.e. you can have a local copy of it by issuing
hg clone http://lemon.cs.elte.hu/hg/lemon my-lemon
Currently I'm the only one having write permission to the repository.
So, I suggest for everyone who wants to contribute regularly to set-up
one or more own public repository, where he can commit directly. Then
everyone can see your changes and I will merge them to the upstream
after some review. Setting up a public private repo is fairly easy, some
instruction is coming soon. (Any volunteer for writing one?)
As an example you can find my private repos here:
http://lime.cs.elte.hu/~alpar/hgwebdir.cgi/
To keep the repository tidy, please do your best to follow the following
commit guidelines:
* If you start implementing a new feature, bug fix etc, always do
it on the top of the main repository, not on the top of your
last local commit.
* Be very careful that you don't add unnecessary files (but add
everything that necessary)
* Do not add generated files into the repository.
* Do not add test files except very small ones.
* Make sure that 'make check' passes without any compilation
warning for each commit with g++-4.2.
* It is even better to check the changset with 'make
distcheck'
* At each point, changes should be "clean", i.e. to be
self-contained, and not include any changesets that were false
starts.
* If you are working on a more substantial new feature or
improvement, you probably want to commit frequently in
order to make it possible the revert the changes that
turn to be a bad idea later. Feel free to do that, but
before you share your changes with others, you should
clean your repository by removing the unwanted commits
and concatenating those actually belong together. Here
is a nice description how to do that:
http://www.selenic.com/mercurial/wiki/index.cgi/TipsAndTricks
* Commit log messages
* The first line must be a self containing short but
meaningful summary of the changeset. It should be no
longer than 70 character.
* The following lines should describe the nature of the
changes in more details.
* If it involves more things, it is a good idea to
write a bulleted list.
* If it is a bug-fix, describe clearly which kind
of bug was fixed and how serious it was.
* You don't have to list the affected files.
* When you add a new algorithm or data structure
* Take the hassle to write a complete doxygen
documentation as well.
* Place the documentation into an appropriate
doxygen module.
* Also provide a more or less exhaustive test
case, whenever it make sense.
All the best,
Alpar
More information about the Lemon-devel
mailing list