Page MenuHomePhabricator

D66395.diff
No OneTemporary

File Metadata

Created
Thu, Dec 12, 12:56 PM

D66395.diff

Index: llvm/utils/git-svn/git-llvm
===================================================================
--- llvm/utils/git-svn/git-llvm
+++ llvm/utils/git-svn/git-llvm
@@ -44,9 +44,11 @@
# Python 2
from pipes import quote
+LLVM_MONOREPO_DIR = '/trunk'
+
# It's *almost* a straightforward mapping from the monorepo to svn...
LLVM_MONOREPO_SVN_MAPPING = {
- d: (d + '/trunk')
+ d: (d + LLVM_MONOREPO_DIR)
for d in [
'clang-tools-extra',
'compiler-rt',
@@ -67,10 +69,10 @@
'pstl',
]
}
-LLVM_MONOREPO_SVN_MAPPING.update({'clang': 'cfe/trunk'})
-LLVM_MONOREPO_SVN_MAPPING.update({'': 'monorepo-root/trunk'})
+LLVM_MONOREPO_SVN_MAPPING.update({'clang': 'cfe' + LLVM_MONOREPO_DIR})
+LLVM_MONOREPO_SVN_MAPPING.update({'': 'monorepo-root' + LLVM_MONOREPO_DIR})
-SPLIT_REPO_NAMES = {'llvm-' + d: d + '/trunk'
+SPLIT_REPO_NAMES = {'llvm-' + d: d + LLVM_MONOREPO_DIR
for d in ['www', 'zorg', 'test-suite', 'lnt']}
VERBOSE = False
@@ -430,6 +432,11 @@
Note: a current limitation is that git does not track file rename, so they
will show up in SVN as delete+add.
'''
+
+ # Check for the branch.
+ if LLVM_MONOREPO_DIR != '/trunk' and not args.force_branch:
+ die("Branch is not trunk (specify --force-branch to override)")
+
# Get the git root
git_root = git('rev-parse', '--show-toplevel')
if not os.path.isdir(git_root):
@@ -543,6 +550,10 @@
populates the git commit message with both the SVN revision and git hash of
the change being reverted.'''
+ # Check for the branch.
+ if LLVM_MONOREPO_DIR != '/trunk' and not args.force_branch:
+ die("Branch is not trunk (specify --force-branch to override)")
+
# Get the git root
git_root = git('rev-parse', '--show-toplevel')
if not os.path.isdir(git_root):
@@ -626,6 +637,11 @@
help='Do everything other than commit to svn. Leaves junk in the svn '
'repo, so probably will not work well if you try to commit more '
'than one rev.')
+ parser_push.add_argument(
+ '--force-branch',
+ dest='force_branch',
+ action='store_true',
+ help='Force pushing to a non-trunk branch.')
parser_push.add_argument(
'rev_range',
metavar='GIT_REVS',
@@ -651,6 +667,11 @@
action='store_true',
help='Do everything other than perform a revert. Prints the git '
'revert command it would have run.')
+ parser_revert.add_argument(
+ '--force-branch',
+ dest='force_branch',
+ action='store_true',
+ help='Force reverting a commit on a non-trunk branch.')
parser_revert.set_defaults(func=cmd_revert)
parser_svn_lookup = subcommands.add_parser(

Event Timeline