[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321388 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Walter Lee 2017-12-22 21:19:13 +00:00
parent 0dd51585c9
commit 4e7b8c0dce

View File

@ -178,7 +178,7 @@ def clean_and_update_svn(svn_repo):
# 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 @@ def svn_push_one_rev(svn_repo, rev, dry_run):
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 @@ def svn_push_one_rev(svn_repo, rev, dry_run):
"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())