hgbook
diff examples/hg-interdiff @ 114:ccff2b25478e
Missed a file!
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Mon Nov 13 14:34:57 2006 -0800 (2006-11-13) |
parents | |
children | ba2334e2ba9a |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/examples/hg-interdiff Mon Nov 13 14:34:57 2006 -0800 1.3 @@ -0,0 +1,35 @@ 1.4 +#!/usr/bin/env python 1.5 +# 1.6 +# Adapter for using interdiff with mercurial's extdiff extension. 1.7 +# Copyright 2006 Bryan O'Sullivan <bos@serpentine.com> 1.8 + 1.9 +import os, sys 1.10 + 1.11 +def walk(base): 1.12 + # yield all non-directories below the base path. 1.13 + for root, dirs, files in os.walk(base): 1.14 + for f in files: 1.15 + path = os.path.join(root, f) 1.16 + yield path[len(base)+1:], path 1.17 + 1.18 +# create list of unique file names under both directories. 1.19 +files = dict(walk(sys.argv[1])) 1.20 +files.update(walk(sys.argv[2])) 1.21 +files = files.keys() 1.22 +files.sort() 1.23 + 1.24 +def name(base, f): 1.25 + # interdiff requires two files; use /dev/null if one is missing. 1.26 + path = os.path.join(base, f) 1.27 + if os.path.exists(path): 1.28 + return path 1.29 + return '/dev/null' 1.30 + 1.31 +ret = 0 1.32 + 1.33 +for f in files: 1.34 + if os.system('interdiff "%s" "%s"' % (name(sys.argv[1], f), 1.35 + name(sys.argv[2], f))): 1.36 + ret = 1 1.37 + 1.38 +sys.exit(ret)