Posts Tagged ‘git’
When you commit changes on a repository that fix a bug, what do you put in the message log?:
- Fixed bug (adjetive)
- Fixes bug (3rd person, the commit fixes the bug)
- Fix bug (imperative)
For me it is logic to use the 2nd approach which details what the commit modifies but according to the de facto standard the most recommended form is the 3rd one. The Git documentation to submit patches suggest that the body should provide a meaningful commit message, which uses the imperative, present tense: “change”, not “changed” or “changes”. Tim Pope explains this in his blog saying that this convention matches up with commit messages generated by commands like git merge and git revert.
Next time you do a commit, remember to be imperative as if you were the Master of
Puppets Commits :P
As part of my homework for the master on libre software I have to study some of the tools that are commonly used in FLOSS. Git is one of my favourite ones and today I found a couple of tools that use git for other purposes than managing source code. These are git-annex, etckeeper, mr and ikiwiki:
git-annex is a very interesting application to manage large files with git but without checking the file contents into git. The creator explain it in two sample cases, the Archivits and the Nomad, both detailed in the web site at git-annex.branchable.com. The basic idea of this tool is you can have a lot of information stored in several drives and you can forget to keep them manually in sync, you can even build a simple backup method requiring more than one copy of a file exists or maybe you just need to move file content between repositories because your laptop is running out of space and you still want to have the data as available as possible.
etckeeper is the kind of application that you miss when you are in trouble, it works with APT or YUM to let /etc be stored in git, mercurial, bzr or darcs repository. How many times have you been looking for an old version of a file related with your X windows or virtual hosts of apache? Great tool for system administrators.
The third tool is mr, a command to perform actions over a set of repositories as if they were one combined repository. This is very useful, with the arrival of git the big projects end up with hundreds of repositories which makes more complex some trivial actions like updating, for instance have a look at the repos used by the Android project at android.git.kernel.org, Google had to create an ad-hoc script to check them out in one go.
Last but not least let me present ikiwiki, a wiki compiler based on git. Besides using git to store pages and its history, it also converts wiki pages into HTML pages suitable for publishing on a website, including support for blogging, as well as a large array of plugins. Currently the site www.branchable.com offers ikiwiki “to create a website, wiki, or blog, easily, within a minute”.
If you know more tools that use git as backend please let me know.
Two weeks ago we studied the Apache market share in the master on libre software, this libre product that has dominated the niche of the web servers during the last decade, it isn’t bad at all!. As part of my homework and as I usually work with development tools I’ve get some data about the current SCM market share. Due to I work only with libre software I thought I could have a biased vision, so I’ve looked for reports done about this niche market but I didn’t found a fresh one.
A Forrester’s study made a year ago stated that Open Source SCM Solutions were closing in on 50% total market share. Have a look at the bar chart below:
As you can see, modern and libre SCMs like Git and Mercurial didn’t have remarkable position more than a year ago and Subversion had more than double users than the second one. Have a look again at the chart, there is something unbelievable on the bottom of the list. Did you see it? 6,5% of those 1020 persons did not use a source code management system. More than 50 “application development professionals” do not use one of these tools, I would even replace the article’s title with “6 out of 100 application developers have discovered something better than source code management systems”. Or .. maybe they haven’t ;)
Let me recover the focus, I think that the next report will be very different for Git. During the last year the outstanding growth of platforms based on it like github (with half a million git repositories created in half a year!) and gitorious should have impact on the market share. We could end up with Subversion leaving the first position in favour of Git, at least that is what we could think having a look at the google trends for these two applications. On the other hand, the Debian users still value Subversion over Git.