def remotes_local_branches(remote): """Returns the list of local branches fetched from given remote """ branches = [] if remote in __remotes_from_config(): for line in config.getall('remote.%s.fetch' % remote): branches.append(refspec_localpart(line)) elif remote in __remotes_from_dir('remotes'): stream = open(os.path.join(basedir.get(), 'remotes', remote), 'r') for line in stream: # Only consider Pull lines m = re.match('^Pull: (.*)\n$', line) if m: branches.append(refspec_localpart(m.group(1))) stream.close() elif remote in __remotes_from_dir('branches'): # old-style branches only declare one branch branches.append('refs/heads/' + remote) else: raise GitException('Unknown remote "%s"' % remote) return branches
def remotes_local_branches(remote): """Returns the list of local branches fetched from given remote """ branches = [] if remote in __remotes_from_config(): for line in config.getall('remote.%s.fetch' % remote): branches.append(refspec_localpart(line)) elif remote in __remotes_from_dir('remotes'): stream = open(os.path.join(basedir.get(), 'remotes', remote), 'r') for line in stream: # Only consider Pull lines m = re.match('^Pull: (.*)\n$', line) if m: branches.append(refspec_localpart(m.group(1))) stream.close() elif remote in __remotes_from_dir('branches'): # old-style branches only declare one branch branches.append('refs/heads/'+remote); else: raise GitException, 'Unknown remote "%s"' % remote return branches