reverse engineered

Debian Gitweb server

After getting sick of GitHub’s clunky closed-source interface, I decided to migrate my repositories to my own Debian-based server using the gitweb web interface. Considering that I already have SSH access to the server, I only needed to provide read-only public access. As well as providing this access via the traditional 9418/tcp git protocol port, I wanted to provide access via HTTP too (I sometimes get caught behind firewalls which block 9418/tcp). Read more →

Set git email address on a per repository basis

git allows you to specify email addresses on a per repository basis. This is handy when working with repositories from multiple organisations. When in the repo directory, use the following commands to set a per repository email address: jbloggs@hostname:~/git$ git config “Joe Bloggs” jbloggs@hostname:~/git$ git config “” Alternatively, you can edit .git/config manually, and add the required information under the [user] heading: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote " Read more →

git multiple remotes

git has a very undocumented feature which allows you to group multiple remote URLs as a single remote. This allows you to push to many remote branches in a single command. I prefer using gitweb to browse my repositories, so I push to my own server, but I know that other people like using github, so I may as well push there as well. To add multiple remote URLs, edit the . Read more →

Git SVN Mirror

Git is a version control system for managing source code. It is notable for originally being written by Linus Torvalds to manage the Linux source tree. While Git is arguably one of the best control systems around, there are many projects still using SVN. If you find yourself accustomed to Git, moving backwards to SVN can cause problems. Luckily, Git has a solution. Git is capable of interacting with SVN repositories directly. Read more →