git_squash_branch.py 748 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env python
  2. # Copyright 2014 The Chromium Authors. All rights reserved.
  3. # Use of this source code is governed by a BSD-style license that can be
  4. # found in the LICENSE file.
  5. import argparse
  6. import sys
  7. import git_common
  8. def main(args):
  9. parser = argparse.ArgumentParser()
  10. parser.add_argument(
  11. '-m', '--message', metavar='<msg>', default=None,
  12. help='Use the given <msg> as the first line of the commit message.')
  13. opts = parser.parse_args(args)
  14. if git_common.is_dirty_git_tree('squash-branch'):
  15. return 1
  16. git_common.squash_current_branch(opts.message)
  17. return 0
  18. if __name__ == '__main__':
  19. try:
  20. sys.exit(main(sys.argv[1:]))
  21. except KeyboardInterrupt:
  22. sys.stderr.write('interrupted\n')
  23. sys.exit(1)