Thursday, 7 October 2010
Using mercurial_keyring extension with Mercurial on Windows
TortoiseHg ships with the mercurial_keyring extension, along with Python Keyring Lib that provides Win32CryptoKeyring for Windows 2k+, allowing secure password storage.
In order to use the mercurial_keyring extension with Mercurial, [Read More…]
Sunday, 16 May 2010
Mercurial pager with color support on Windows
Tested with Mercurial 1.5.3, 1.5.4 and 1.6 on:
- Windows XP Professional
- Windows Server 2008 SP2 x86
- Windows Server 2008 R2
Unfortunately, the pager extension is a little broken on Windows, as described in issue 1677 on Mercurial issue tracker, so I have modified it to use a temporary file for storing the commands output, and then call the pager with the temporary file as a command line parameter. You can find the source code on Bitbucket and CodePlex.
My favorite pager on Windows is less.exe, which works just fine with the ANSI codes generated from the Mercurial color extension:
Tuesday, 4 May 2010
Install Hudson as a Windows service
Tested with Hudson 1.356 on:
- Windows XP Professional
- Windows Server 2008 SP2 x86
- Windows Server 2008 R2
First, follow the Hudson wiki: Installing Hudson as a Windows service. The resulting service is named hudson, and is running under the Local system account.
Next, create a new local user named hudson-user (or any other name you like), which will be used in the next steps:
- alter the hudson service properties to log on as hudson-user
- grant Full control permissions for hudson-user on %HUDSON_HOME% folder
In order to be able to restart Hudson service from the web interface, SubInACL will be used to grant hudson-user the Start Service and Stop Service permission ACEs:
TortoiseHg custom fonts
On a fresh install on my PC, TortoiseHg repository explorer looks like this:

The fonts used on the blue regions can be changed as described on the TortoiseHg Frequently Asked Questions page:
[gtools] # font used in changeset viewer and commit log text fontcomment = Tahoma 8 # font used for diffs in status and commit tools fontdiff = Courier New 10 # font used in file lists in status and commit tools fontlist = Tahoma 8 # font used in command output window fontlog = Courier New 10
However, the only way I could find to change the font used to display the revision ID is to alter the monospace alias in {TortoiseHg folder}\gtk\etc\pango\pango.aliases:
Tuesday, 13 April 2010
Bash prompt with Git branch and status
Based on Gunnar Wolf’s .bashrc, I have customized my .bash_profile to show exit status, bare repositories, and outside work tree cases:



Sunday, 24 January 2010
DVCS resources
- James Bennett On branching new
- Git vs. Mercurial: Please Relax
- Introduction to Distributed Source Control
- Aspects and benefits of distributed version control systems (DVCS)
- The Git Parable
- The Differences Between Mercurial and Git
- Distributed Version Control Systems: A Not-So-Quick Guide Through
- Mercurial, Subversion, and Wesley Snipes
- Analysis of Git and Mercurial (done in summer 2008)
- DVCS Boxing Match: Git v. Hg
- Introduction to distributed version control systems
- Distributed Version Control Systems – Why and How
- On branching
- Mercurial vs Git
- The fighting’s been fun and all, but it’s time to shut up and get along
- VersionControlTools
- Scott Chacon On Mercurial
- Intro to Distributed Version Control (Illustrated)
- Comparison between Bazaar, CVS, Git, Mercurial, Subversion
- Why I Switched to Git From Mercurial
Mercurial resources
Source code / binaries / GUI
Setting up Mercurial servers on IIS
- Setting up a Mercurial server under IIS7 on Windows Server 2008 R2
- Setting up Mercurial server in IIS7 using a ISAPI module
- Mercurial and hosting it as an ISAPI module under IIS6
- Running Mercurial on Windows
- Installing Mercurial hgwebdir.cgi on Windows 2003 IIS 6.0
- Setting up and configuring Mercurial for IIS
Setting up Mercurial servers on Nginx
- Hosting Mercurial Repositories with Nginx
- Running Mercurial with FastCGI in nginx
- How to serve Mercurial HG repository over NGinx
Setting up Mercurial servers on Apache
- Installing Mercurial hgwebdir.cgi on Windows 2003, Apache2
- Quick Tip: Getting Started with Mercurial
- How to use hgweb(dir) with mod_python
Setting up Mercurial servers
- Setting up an HTTP-accessed Mercurial repository on shared web hosting (e.g. Dreamhost)
- Setting up Trac, Mercurial and SSH on Windows
Remote repositories
- Using Mercurial on CodePlex
- Using Mercurial with CodePlex and GitHub
- Mercurial with SSH setup on Windows
Mercurial - Visual Studio integration
Mercurial - Git integration
Tuesday, 3 November 2009
ASP.NET MVC resources
Guides, best practices
ASP.NET Webforms and ASP.NET MVC side by side
- Plug-In Hybrids: ASP.NET WebForms and ASP.MVC and ASP.NET Dynamic Data Side By Side
- Running ASP.NET Webforms and ASP.NET MVC side by side
Dev stack
Extensibility
- 13 ASP.NET MVC extensibility points you have to know new
- Storing ASP.NET MVC Controllers & Views in separate assemblies new
Dependency injection
Monday, 12 October 2009
Git instaweb using mongoose and msysGit
Requirements
- Git up and running (tested with 1.7.0.5, 1.6.6.2, 1.6.5.8, and 1.6.4.4)
- mongoose, current version is mongoose-2.8.exe
- CGI.pm, current version is CGI.pm-3.48.tar.gz
- perllib
- perllib (alternate location)
Mongoose setup
Rename mongoose-2.8.exe to mongoose4instagit.exe and place it in any folder at your choice, in my case: k:devtoolsmongoosemongoose4instagit.exe
Gitweb setup
In a msysGit shell run the following commands to build gitweb.cgi in case it’s not already present (like after running make clean in /git folder):
cd /git make gitweb/gitweb.cgi
Next, extract CGI.pm archive content, and copy the content of the lib subfolder to /lib/perl5/site_perl, keeping the folder structure:
[Read More…]
Sunday, 20 September 2009
Git on Windows with msysGit
The article is based on Install MSysGit wiki page from the msysGit website, and you could also read Updating MSysGit.
For best results use one of the following Git versions:
- Git 1.7.0.5 - recommended
- Git 1.6.6.2
- Git 1.6.5.8
- Git 1.6.4.4
Requirements
- Git source code, current version is git-1.7.0.5.tar.gz
- msysGit full install, current version is msysGit-fullinstall-1.6.4-preview20090729.exe
Setting up Git
First unpack msysGit installer to your desired location (7-Zip works just fine). In my case, the location is K:devtoolsmsysGit. Also, this folder is the root folder inside the msysGit shell, and would be the reference for the rest of the tutorial.
In the K:devtoolsmsysGitgit folder you will find the Git source code provided with the installer. Delete all the files and folders inside it, and then unpack in the same folder the source code of your desired git version.
Final step would be running K:devtoolsmsysGitmsys.bat, which will compile and install git, and leave you to a shell prompt.