#!/usr/bin/perl
if(@ARGV >= 2 and ($ARGV[0] eq "ch" or $ARGV[0] eq "checkout") and $ARGV[1] =~ /^(\S+)-r(\d+)$/) {
    @revlist = `git rev-list $1`;
    if(!@revlist) {
        die "no such branch '$1'\n";
    }
    if($2 > @revlist) {
        $n = @revlist;
        die "branch '$1' has only $n revs\n";
    }
    $ARGV[1] = @revlist[@revlist - $2];
    chomp($ARGV[1]);
}
exec "/usr/bin/git", @ARGV;
