[PATCH] D64893: Ask confirmation when `git llvm push` will push multiple commits
Mehdi AMINI via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 17 22:19:25 PDT 2019
mehdi_amini updated this revision to Diff 210481.
mehdi_amini marked 3 inline comments as done.
mehdi_amini added a comment.
Change abort message to "Aborting"
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64893/new/
https://reviews.llvm.org/D64893
Files:
llvm/utils/git-svn/git-llvm
Index: llvm/utils/git-svn/git-llvm
===================================================================
--- llvm/utils/git-svn/git-llvm
+++ llvm/utils/git-svn/git-llvm
@@ -26,6 +26,11 @@
import time
assert sys.version_info >= (2, 7)
+try:
+ exec("import __builtin__") # To avoid IDE's grammar check
+except ImportError:
+ import builtins
+
try:
dict.iteritems
except AttributeError:
@@ -99,6 +104,21 @@
sys.exit(1)
+def ask_confirm(prompt):
+ # Python 2/3 compatibility
+ try:
+ input = eval("__builtin__.raw_input")
+ except NameError:
+ input = builtins.input
+
+ while True:
+ query = input('%s (y/n): ' % (prompt))
+ if query == '' or not query[0].lower() in ['y','n']:
+ print('Expect y or n!')
+ continue
+ return query[0].lower() == 'y'
+
+
def split_first_path_component(d):
# Assuming we have a git path, it'll use slashes even on windows...I hope.
if '/' in d:
@@ -427,6 +447,12 @@
's' if len(revs) != 1 else '',
'\n'.join(' ' + git('show', '--oneline', '--quiet', c)
for c in revs)))
+
+ # Ask confirmation if multiple commits are about to be pushed
+ if len(revs) != 1:
+ if not ask_confirm("Are you sure?"):
+ die("Aborting")
+
for r in revs:
clean_svn(svn_root)
svn_push_one_rev(svn_root, r, git_to_svn_mapping, dry_run)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64893.210481.patch
Type: text/x-patch
Size: 1427 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190718/857ffa12/attachment.bin>
More information about the llvm-commits
mailing list