Getting TIP of remote Mercurial server
July 18, 2010
I needed to get hold of the tip
and parent
version of a remote mercurial repository. It isn't possible to do this directly through mercurial, but it is possible using paramiko.
This script will print out the output of hg tip
, just change the command to do a hg parent
instead.
import paramiko, base64, os, select, time hostname='remotehost' port = 22 username = 'drumcoder' password = 'secret' client = paramiko.SSHClient() client.load_system_host_keys() client.connect(hostname=hostname, username=username, password=password) transport = client.get_transport() channel = transport.open_session() channel.exec_command("cd /path/to/repos && hg tip") while True: rl, wl, xl = select.select([channel],[],[],0.0) if len(rl) > 0: # Must be stdout lResults = channel.recv(1024) print lResults if len(lResults) == 0: break