views:

746

answers:

3

So I do a lot of work on a school computer. We can't install anything but we have most of our tools on our flash drives but I was wondering if there's a way to get Command Prompt to use Mercurial off of my Flash Drive. Let's say in theory that Mercurial's files were on my flash drive, where would I go from there?

+10  A: 

Say your flash drive was drive G: and your Mercurial executables are in G:\mercurial

Open a command prompt and enter:

set PATH=%PATH%;G:\mercurial

Proceed to use hg as normal

This should work, in theory. If you're on a *nix computer, you would do something like this (given /media/FLASHDRIVE is the path to your flash drive):

export PATH=$PATH:/media/FLASHDRIVE/mercurial

Hope that helps!

EDIT

In response to the comment below:

@ECHO OFF
REM Mercurial enabler :)
set PATH=%PATH%;G:\mercurial
cmd.exe

Should do it :)

Bryan Ross
That worked! Thanks but got another question! Is there any way to incorporate that into a .bat file so I'd just open that and have it open command prompt and run that at the same time?
NessDan
You sir, are an instant winrar. Thank you and I greatly appreciate it!
NessDan
+4  A: 

To make Bryan's solution "truly" portable in Windows 2000/XP/Vista/7, assuming the BAT file is inside Mercurial's directory, use:

set PATH=%PATH%;%~dp0%

So, no more hardcoded paths.

Ya, we noticed the previous code was kind of un-portable but we fixed it. The code here looks different from ours though, what exactly does %~dp0% do/stand for?
NessDan
The above's pretty good, actually. That crazy %~dp0% basically evaluates to the path of the currently running bat file
Bryan Ross
+2  A: 

download the tortoise hg .msi setup

msiexec /a tortoisehg-1.1.4-hg-1.6.4-x64.msi /qb TARGETDIR=f:\hg-temp

it will extract the tortise hg files to f:\hg-temp path,

goto f:\hg-temp\PFiles\TortoiseHg and copy it to F:\hg

Delete f:\hg-temp\PFiles\TortoiseHg

Then add f:\hg to your path

set PATH=%PATH%;f:\hg

(f:\ is your flash drive)

prabir