darcs2hg: improved logging
authorSébastien Pierre <sebastien@xprima.com>
Mon, 10 Jul 2006 09:24:04 -0700
changeset 2586 bb63d29ce03d
parent 2585 5ec2dded1bda
child 2588 8210cf2ec19d
darcs2hg: improved logging
contrib/darcs2hg.py
--- a/contrib/darcs2hg.py	Sun Jul 09 21:41:00 2006 -0700
+++ b/contrib/darcs2hg.py	Mon Jul 10 09:24:04 2006 -0700
@@ -4,12 +4,11 @@
 # -----------------------------------------------------------------------------
 # Project   : Basic Darcs to Mercurial conversion script
 # -----------------------------------------------------------------------------
-# Author    : Sebastien Pierre <sebastien@xprima.com>
+# Authors   : Sebastien Pierre                           <sebastien@xprima.com>
+#             TK Soh                                      <teekaysoh@gmail.com>
+# -----------------------------------------------------------------------------
 # Creation  : 24-May-2006
-# Last mod  : 26-May-2006
-# History   :
-#             26-May-2006 - Updated
-#             24-May-2006 - First implementation
+# Last mod  : 01-Jun-2006
 # -----------------------------------------------------------------------------
 
 import os, sys
@@ -35,7 +34,7 @@
 #
 # ------------------------------------------------------------------------------
 
-def cmd(text, path=None):
+def cmd(text, path=None, silent=False):
 	"""Executes a command, in the given directory (if any), and returns the
 	command result as a string."""
 	cwd = None
@@ -43,7 +42,7 @@
 		path = os.path.abspath(path)
 		cwd  = os.getcwd()
 		os.chdir(path)
-	print text
+	if not silent: print "> ", text
 	res = os.popen(text).read()
 	if path:
 		os.chdir(cwd)
@@ -53,6 +52,12 @@
 	"""Writes the given data into the given file."""
 	f = file(path, "w") ; f.write(data)  ; f.close()
 
+def error( *args ):
+	sys.stderr.write("ERROR:")
+	for a in args: sys.stderr.write(str(a))
+	sys.stderr.write("\n")
+	sys.exit(-1)
+
 # ------------------------------------------------------------------------------
 #
 # Darcs interface
@@ -64,7 +69,6 @@
 	chronological list of changes as (change name, change summary)."""
 	changes    = cmd("darcs changes --reverse --xml-output", darcsRepo)
 	doc        = xml_dom.parseString(changes)
-	res        = []
 	for patch_node in doc.childNodes[0].childNodes:
 		name = filter(lambda n:n.nodeName == "name", patch_node.childNodes)
 		comm = filter(lambda n:n.nodeName == "comment", patch_node.childNodes)
@@ -111,7 +115,7 @@
 		sys.exit(-1)
 	# Initializes the target repo
 	if not os.path.isdir(darcs_repo + "/_darcs"):
-		print "No darcs directory found at: " + darc_repo
+		print "No darcs directory found at: " + darcs_repo
 		sys.exit(-1)
 	if not os.path.isdir(hg_repo):
 		os.mkdir(hg_repo)
@@ -128,4 +132,3 @@
 		hg_commit(hg_repo, text, author, epoch)
 
 # EOF
-