##// END OF EJS Templates
Merge pull request #2299 from takluyver/remove-duplicate-input-transforms...
Merge pull request #2299 from takluyver/remove-duplicate-input-transforms Remove code from prefilter that duplicates functionality in inputsplitter This is the first step towards implementing IPEP 2 (#2293). Removed all the static transformations from prefilter, because we're relying on the equivalent functionality in inputsplitter. Note that this is a backwards-incompatible change for anyone who might have relied on the low-level details of the prefiltering machinery. Regular users of the IPython applications themselves will not see any changes in behavior.

File last commit:

r5931:4f2ef554
r8219:06a7a574 merge
Show More
git-mrb
80 lines | 2.3 KiB | text/plain | TextLexer
#!/usr/bin/env python
"""git-mrb: merge remote branch.
git mrb [remote:branch OR remote-branch] [onto] [upstream]
remote must be locally available, and branch must exist in that remote.
If 'onto' branch isn't given, default is 'master'.
If 'upstream' repository isn't given, default is 'origin'.
You can separate the remote and branch spec with either a : or a -.
"""
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from subprocess import check_call
import sys
#-----------------------------------------------------------------------------
# Functions
#-----------------------------------------------------------------------------
def sh(cmd):
cmd = cmd.format(**shvars)
print '$', cmd
check_call(cmd, shell=True)
#-----------------------------------------------------------------------------
# Main Script
#-----------------------------------------------------------------------------
argv = sys.argv[1:]
narg = len(argv)
try:
branch_spec = argv[0]
sep = ':' if ':' in branch_spec else '-'
remote, branch = branch_spec.split(':', 1)
if not branch:
raise ValueError('Branch spec %s invalid, branch not found' %
branch_spec)
except:
import traceback as tb
tb.print_exc()
print __doc__
sys.exit(1)
onto = argv[1] if narg >= 2 else 'master'
upstream = argv[1] if narg == 3 else 'origin'
# Git doesn't like ':' in branch names.
if sep == ':':
branch_spec = branch_spec.replace(':', '-')
# Global used by sh
shvars = dict(remote=remote, branch_spec=branch_spec, branch=branch,
onto=onto, upstream=upstream)
# Start git calls.
sh('git fetch {remote}')
sh('git checkout -b {branch_spec} {onto}')
sh('git merge {remote}/{branch}')
print """
*************************************************************
Run test suite. If tests pass, run the following to merge:
git checkout {onto}
git merge {branch_spec}
git push {upstream} {onto}
*************************************************************
""".format(**shvars)
ans = raw_input("Revert to master and delete temporary branch? [Y/n]: ")
if ans.strip().lower() in ('', 'y', 'yes'):
sh('git checkout {onto}')
sh('git branch -D {branch_spec}')