| Index: git_freezer.py
|
| diff --git a/git_freezer.py b/git_freezer.py
|
| index 6e28b3e342b066f582fd46c48153f90a8038ebf9..f1e4c95725d5317be7deb2ad965bda812c2f3111 100755
|
| --- a/git_freezer.py
|
| +++ b/git_freezer.py
|
| @@ -1,73 +1,33 @@
|
| #!/usr/local/bin/python
|
| +# 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 sys
|
| -import re
|
| import optparse
|
|
|
| import subcommand
|
| -import subprocess2
|
| -
|
| -from git_common import run, stream
|
| -
|
| -FREEZE = 'FREEZE'
|
| -SECTIONS = {
|
| - 'indexed': 'soft',
|
| - 'unindexed': 'mixed'
|
| -}
|
| -MATCHER = re.compile(r'%s.(%s)' % (FREEZE, '|'.join(SECTIONS)))
|
| -
|
| -
|
| -def freeze():
|
| - took_action = False
|
| -
|
| - try:
|
| - run('commit', '-m', FREEZE + '.indexed')
|
| - took_action = True
|
| - except subprocess2.CalledProcessError:
|
| - pass
|
| -
|
| - try:
|
| - run('add', '-A')
|
| - run('commit', '-m', FREEZE + '.unindexed')
|
| - took_action = True
|
| - except subprocess2.CalledProcessError:
|
| - pass
|
| -
|
| - if not took_action:
|
| - return 'Nothing to freeze.'
|
| -
|
| -
|
| -def thaw():
|
| - took_action = False
|
| - for sha in (s.strip() for s in stream('rev-list', 'HEAD').xreadlines()):
|
| - msg = run('show', '--format=%f%b', '-s', 'HEAD')
|
| - match = MATCHER.match(msg)
|
| - if not match:
|
| - if not took_action:
|
| - return 'Nothing to thaw.'
|
| - break
|
| -
|
| - run('reset', '--' + SECTIONS[match.group(1)], sha)
|
| - took_action = True
|
|
|
| +from git_common import freeze, thaw
|
|
|
| -def CMDfreeze(parser, args): # pragma: no cover
|
| +def CMDfreeze(parser, args):
|
| """Freeze a branch's changes."""
|
| parser.parse_args(args)
|
| return freeze()
|
|
|
|
|
| -def CMDthaw(parser, args): # pragma: no cover
|
| +def CMDthaw(parser, args):
|
| """Returns a frozen branch to the state before it was frozen."""
|
| parser.parse_args(args)
|
| return thaw()
|
|
|
|
|
| -def main(): # pragma: no cover
|
| +def main():
|
| dispatcher = subcommand.CommandDispatcher(__name__)
|
| ret = dispatcher.execute(optparse.OptionParser(), sys.argv[1:])
|
| if ret:
|
| print ret
|
|
|
|
|
| -if __name__ == '__main__': # pragma: no cover
|
| - main()
|
| +if __name__ == '__main__':
|
| + main()
|
|
|