user-avatar
Today is Tuesday
May 22, 2012

Tag: mercurial

October 31, 2008

Splitted activity for mercurial

by Thomas Capricelli — Categories: Admin, Gentoo — Tags: , Leave a comment

Today I have added new options to the mercurial activity extension and  most importantly, it is now possible to have a different curve for each author. It looks like this :

October 31, 2008

Activity extension for mercurial

by Thomas Capricelli — Categories: Admin, Gentoo, KDE — Tags: , , 6 Comments

example : activity of the mercurial "crew" repository

 

example : activity of the mercurial crew repository

This is something i’ve really been missing for long in mercurial : a way to display the activity of a repository. No, ‘hg churn’ is not the right answer, I want an idea of when the peaks of development happened. So I have written this small extension. It is based on matplotlib, so you’ll need that to be installed. It is tested with mercurial 1.0.2 and the current development version of mercurial (so-called mercurial ‘crew’ repository). I’m a big fan of this kind of information, and I’m sure to use this extension regularly, so you can count on it being maintained.

To use is, grab a copy :

hg clone http://sources.freehackers.org/hgactivity/

and add a line in your ~/.hgrc under [extensions] with the full path to the activity.py (example on my computer, please adapt to your actual path:)

activity=/home/orzel/hg/hgactivity/activity.py

To use it, just do from inside a repository:

hg activity

The first example shows the activity for the mercurial.crew repository, and here’s another one representing the activity of the the ‘kdebase’ module from kde (I have a local mercurial mirror):

Activity of kdebase in the last month

Activity of kdebase during the last month

Homepage of the project: http://labs.freehackers.org/wiki/hgactivity

September 16, 2008

About mercurial and permissions

by Thomas Capricelli — Categories: Admin, Gentoo — Tags: , 1 Comment

Distributed source control is really great, and among them, the tool I love the most is, by far, mercurial. I use it for all my free software projects, my own non-software projects (config files, mathematical articles and such) and also, dare I say it, for my CLOSE SOURCE projects. Yes, I also do this kind of things, how harsh a world this is, isn’t it ?

In the latter case, though, I often have some problems with permissions. In my (quite common) setup, I have a central repository and the whole tree belongs to a (unix-) group. File access is restricted to this group only (chmod -R o= mydir).

On lot of current linux distribution, each user has an associated group with the same name (john:john), at least that’s how it behaves on both debian and gentoo.

When a user does a push which creates some new directory/file, then those are created as belonging to this user and its main group (john:john here). As a result, other people can not access to it, and when you want to pull the repository, you got a big ugly crash:

pulling from ssh://foo@freehackers.org///usr/olocal/hg/topsecretproject
searching for changes
adding changesets
transaction abort!
rollback completed
abort: received changelog group is empty
remote: abort: Permission denied: .hg/store/data/myfile.i

Of course, i can create a big fixperms scripts in the repository, but then I need to start it each time the problem arises, which if each time someone creates a new file/di: this is far too often.

I thought about the set-group-ID (see man ls) and indeed it works. I dont know if this is the official way of solving this problem among the mercurial communauty, and I would love to know if some other people solve it differently. At least that’s how it is documented on the mercurial site.

Now, you might as well find out about this problem once your repository has been used for a while and is already full of useful stuff. Then it is a little bit less simple than what the mercurial documentation says. Namely, you need to put the set-group-ID in the whole .hg/store/data :

cd topsecretproject/
chown john:topsecretgroup -R .
chmod g=u,o= -R .
find .hg/store/data -type d  | xargs chmod g+s
chmod g+s .hg # needed for .hg/requires

June 15, 2008

Toward release 1.0-alpha1 of Yzis

by Thomas Capricelli — Categories: KDE — Tags: , , 2 Comments

As some of you might know, I had to finish my Ph.D. and it took me a lot more time than previously planned. I’m happy to tell you that it is now finished. I’m officially a doctor in the field of applied mathematics, and I have more time to dedicate to free software.

One of my first goals is to release the sleeping code for yzis. There sure are a lot of issues with this code, and the KDE kpart is still unfinished, but I think we can release basic, working, tested applications. This would mean the curses-based nyzis and the qt4-based qyzis, both for Linux, Mac OS X, windows, and maybe some other platforms like the *bsd.

We created a project on freehackers redmine project manager to handle this new development. We expect to release 1.0-alpha1 next week-end (june 22th), and keep on testing/fixing bugs until 1.0. Then we should focus on the real fun stuff : kpart and other embeddings.

Oh, and, meanwhile, we moved the code from subversion to mercurial.

redmine project for bug reports

Yzis homepage

view yzis source under mercurial (you can also clone the repository from this url)

© 2012 Thomas Capricelli All rights reserved - Wallow theme v0.46.5 by ([][]) TwoBeers - Powered by WordPress - Have fun!