[git-llvm] Handle files ignored by svn correctly
Summary: Correctly handle files ignored by svn (such as .o files,
which are ignored by default) by adding "--no-ignore" flag to "svn
status" and "svn add".
Differential Revision: https://reviews.llvm.org/D41404
llvm-svn: 321388
diff --git a/llvm/utils/git-svn/git-llvm b/llvm/utils/git-svn/git-llvm
index 0d566da..5d9d4d2 100755
--- a/llvm/utils/git-svn/git-llvm
+++ b/llvm/utils/git-svn/git-llvm
@@ -178,7 +178,7 @@
# Unfortunately it appears there's no svn equivalent for git clean, so we
# have to do it ourselves.
- for line in svn(svn_repo, 'status').split('\n'):
+ for line in svn(svn_repo, 'status', '--no-ignore').split('\n'):
if not line.startswith('?'):
continue
filename = line[1:].strip()
@@ -252,7 +252,7 @@
if not subrepos:
raise RuntimeError('Empty diff for rev %s?' % rev)
- status = svn(svn_repo, 'status')
+ status = svn(svn_repo, 'status', '--no-ignore')
if status:
die("Can't push git rev %s because svn status is not empty:\n%s" %
(rev, status))
@@ -272,10 +272,11 @@
"first?")
sys.exit(2)
- status_lines = svn(svn_repo, 'status').split('\n')
+ status_lines = svn(svn_repo, 'status', '--no-ignore').split('\n')
- for l in (l for l in status_lines if l.startswith('?')):
- svn(svn_repo, 'add', l[1:].strip())
+ for l in (l for l in status_lines if (l.startswith('?') or
+ l.startswith('I'))):
+ svn(svn_repo, 'add', '--no-ignore', l[1:].strip())
for l in (l for l in status_lines if l.startswith('!')):
svn(svn_repo, 'remove', l[1:].strip())