svndiff for the windows
R=epoger@google.com
Review URL: https://codereview.chromium.org/49323006
git-svn-id: http://skia.googlecode.com/svn/trunk@11995 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/svndiff.py b/tools/svndiff.py
index 4f96185..716d497 100755
--- a/tools/svndiff.py
+++ b/tools/svndiff.py
@@ -19,6 +19,7 @@
# common Python modules
import optparse
import os
+import posixpath
import re
import shutil
import subprocess
@@ -87,8 +88,15 @@
raise Exception('unable to find skdiff at user-set path %s' %
user_set_path)
trunk_path = os.path.join(os.path.dirname(__file__), os.pardir)
- possible_paths = [os.path.join(trunk_path, 'out', 'Release', 'skdiff'),
- os.path.join(trunk_path, 'out', 'Debug', 'skdiff')]
+
+ extension = ''
+ if os.name is 'nt':
+ extension = '.exe'
+
+ possible_paths = [os.path.join(trunk_path, 'out', 'Release',
+ 'skdiff' + extension),
+ os.path.join(trunk_path, 'out', 'Debug',
+ 'skdiff' + extension)]
for try_path in possible_paths:
if os.path.isfile(try_path):
return try_path
@@ -202,7 +210,9 @@
# For now, though, "git show" is the most straightforward implementation
# I could come up with. I tried using "git cat-file", but I had trouble
# getting it to work as desired.
- args = ['git', 'show', os.path.join('HEAD:.', file_within_repo)]
+ # Note that git expects / rather than \ as a path separator even on
+ # windows.
+ args = ['git', 'show', posixpath.join('HEAD:.', file_within_repo)]
with open(dest_path, 'wb') as outfile:
proc = subprocess.Popen(args, stdout=outfile)
proc.communicate()