[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())