Fix stdout, remote detection, and branch detection

This commit is contained in:
Tom Marshall 2014-05-09 07:43:25 -05:00
parent e01311dff3
commit db0459e056
2 changed files with 13 additions and 11 deletions

View File

@ -65,17 +65,17 @@ if len(argv) != 1:
change_number = int(argv[0]) change_number = int(argv[0])
cur_dir = os.getcwd() cur_dir = os.getcwd()
print "cur_dir=%s" % (cur_dir) verbose("cur_dir=%s\n" % (cur_dir))
prj_dir = None prj_dir = None
try: try:
top_dir = get_topdir() top_dir = get_topdir()
except OSError: except OSError:
sys.stderr.write("Cannot find top of android tree\n") sys.stderr.write("Cannot find top of android tree\n")
sys.exit(1) sys.exit(1)
print "top_dir=%s" % (top_dir) verbose("top_dir=%s\n" % (top_dir))
if len(top_dir) < len(cur_dir): if len(top_dir) < len(cur_dir):
prj_dir = cur_dir[len(top_dir)+1:] prj_dir = cur_dir[len(top_dir)+1:]
print "prj_dir=%s" % (prj_dir) verbose("prj_dir=%s\n" % (prj_dir))
# Read our manifest # Read our manifest
args = [] args = []
@ -91,13 +91,13 @@ manifest = ElementTree.fromstring(out)
# Figure out which remote to use # Figure out which remote to use
remote_name = cfg['remote'] remote_name = cfg['remote']
if remote_name is None: if remote_name is None:
if prj_dir is None: if not prj_dir is None:
for elem in manifest.findall('default'):
cfg['remote'] = elem.get('name')
else:
for elem in manifest.findall('project'): for elem in manifest.findall('project'):
if elem.get('path') == prj_dir: if elem.get('path') == prj_dir:
remote_name = elem.get('remote') remote_name = elem.get('remote')
if remote_name is None:
for elem in manifest.findall('default'):
remote_name = elem.get('remote')
if remote_name is None: if remote_name is None:
sys.stderr.write("Cannot find appropriate remote entry in manifest\n"); sys.stderr.write("Cannot find appropriate remote entry in manifest\n");
sys.exit(1); sys.exit(1);

View File

@ -80,13 +80,13 @@ manifest = ElementTree.fromstring(out)
# Figure out which remote to use # Figure out which remote to use
remote_name = cfg['remote'] remote_name = cfg['remote']
if remote_name is None: if remote_name is None:
if prj_dir is None: if not prj_dir is None:
for elem in manifest.findall('default'):
cfg['remote'] = elem.get('name')
else:
for elem in manifest.findall('project'): for elem in manifest.findall('project'):
if elem.get('path') == prj_dir: if elem.get('path') == prj_dir:
remote_name = elem.get('remote') remote_name = elem.get('remote')
if remote_name is None:
for elem in manifest.findall('default'):
remote_name = elem.get('remote')
if remote_name is None: if remote_name is None:
sys.stderr.write("Cannot find appropriate remote entry in manifest\n"); sys.stderr.write("Cannot find appropriate remote entry in manifest\n");
sys.exit(1); sys.exit(1);
@ -125,6 +125,8 @@ if project_branch is None:
if project_branch is None: if project_branch is None:
sys.stderr.write("Cannot find project branch in manifest\n"); sys.stderr.write("Cannot find project branch in manifest\n");
sys.exit(1); sys.exit(1);
if project_branch.startswith('refs/heads/'):
project_branch = project_branch[11:]
verbose("project_branch=%s\n" % (project_branch)) verbose("project_branch=%s\n" % (project_branch))
# Push the change # Push the change