Skip to content

Commit

Permalink
remote-bzr: add option to specify branches
Browse files Browse the repository at this point in the history
We might not want all the branches. And branch handling in bazaar is
rather tricky, so it's safer to simply specify them.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Felipe Contreras authored and Junio C Hamano committed May 1, 2013
1 parent 850dd25 commit 248663c
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions contrib/remote-helpers/git-remote-bzr
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
# or
# % git clone bzr::lp:myrepo
#
# If you want to specify which branches you want track (per repo):
# git config remote-bzr.branches 'trunk, devel, test'
#

import sys

Expand Down Expand Up @@ -51,6 +54,12 @@ def warn(msg, *args):
def gittz(tz):
return '%+03d%02d' % (tz / 3600, tz % 3600 / 60)

def get_config(config):
cmd = ['git', 'config', '--get', config]
process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
output, _ = process.communicate()
return output

class Marks:

def __init__(self, path):
Expand Down Expand Up @@ -756,7 +765,7 @@ def get_remote_branch(origin, remote_branch, name):

return branch

def find_branches(repo):
def find_branches(repo, wanted):
transport = repo.user_transport

for fn in transport.iter_files_recursive():
Expand All @@ -767,6 +776,9 @@ def find_branches(repo):
name = name if name != '' else 'master'
name = name.replace('/', '+')

if wanted and not name in wanted:
continue

try:
cur = transport.clone(subdir)
branch = bzrlib.branch.Branch.open_from_transport(cur)
Expand Down Expand Up @@ -815,7 +827,11 @@ def get_repo(url, alias):
else:
# repository

for name, branch in find_branches(repo):
wanted = get_config('remote-bzr.branches').rstrip().split(', ')
# stupid python
wanted = [e for e in wanted if e]

for name, branch in find_branches(repo, wanted):

if not is_local:
peers[name] = branch
Expand Down

0 comments on commit 248663c

Please sign in to comment.