Index: trunk/packages/invirt-dev/python/invirt/builder.py
===================================================================
--- trunk/packages/invirt-dev/python/invirt/builder.py	(revision 3028)
+++ trunk/packages/invirt-dev/python/invirt/builder.py	(revision 3035)
@@ -29,5 +29,5 @@
     return os.path.join(_REPO_DIR, 'invirt/packages', '%s.git' % package)
 
-def ensureValidRepo(package):
+def ensureValidPackage(package):
     """Perform some basic sanity checks that the requested repo is in a
     subdirectory of _REPO_DIR/invirt/packages.  This prevents weirdness
@@ -42,4 +42,12 @@
     elif not os.path.exists(repo):
         raise InvalidBuild('Nonexisting package %s' % package)
+
+def canonicalize_commit(package, commit, shorten=False):
+    if shorten:
+        flags = ['--short']
+    else:
+        flags = []
+    return c.captureOutput(['git', 'rev-parse'] + flags + [commit],
+                           cwd=getRepo(package)).strip()
 
 def pocketToGit(pocket):
@@ -99,5 +107,5 @@
     it returns True.
     """
-    ensureValidRepo(package)
+    ensureValidPackage(package)
     package_repo = getRepo(package)
     new_version = getVersion(package, commit)
