Files
chromium_depot_tools/git_squash_branch.py
Yiwei Zhang 56edc1d23d fail gracefully if git squash-branch is called in cog
Bug: 339231299
Change-Id: If343481d12cd3763897b8fc695d3607cc4d7f64f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5540931
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
2024-05-15 21:32:01 +00:00

38 lines
992 B
Python
Executable File

#!/usr/bin/env python3
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import argparse
import sys
import gclient_utils
import git_common
def main(args):
if gclient_utils.IsEnvCog():
print('squash-branch command is not supported in non-git environment.',
file=sys.stderr)
return 1
parser = argparse.ArgumentParser()
parser.add_argument(
'-m',
'--message',
metavar='<msg>',
default=None,
help='Use the given <msg> as the first line of the commit message.')
opts = parser.parse_args(args)
if git_common.is_dirty_git_tree('squash-branch'):
return 1
git_common.squash_current_branch(opts.message)
return 0
if __name__ == '__main__':
try:
sys.exit(main(sys.argv[1:]))
except KeyboardInterrupt:
sys.stderr.write('interrupted\n')
sys.exit(1)