Repo: retire new_in_branch() and notion of "bound" branch
Binding (or "pegging") a Repo at a particular branch via new_in_branch() increases the cognitive burden since the reader must maintain a mental model of which Repo instances are pegged and which are not. This burden outweighs whatever minor convenience (if any) is gained by pegging the Repo at a particular branch. It is easier to reason about the code when the branch name is passed to clients directly rather than indirectly via a pegged Repo. Preceding patches retired all callers of new_in_branch(), therefore remove it. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
This commit is contained in:
parent
89a637660f
commit
5568fd50c2
16
git.py
16
git.py
@ -205,9 +205,8 @@ def unquote(s):
|
||||
class Repo:
|
||||
"""A git repository."""
|
||||
|
||||
def __init__(self, path, branch = None, name = None, info = None):
|
||||
def __init__(self, path, name = None, info = None):
|
||||
self.path = path
|
||||
self.branch = branch
|
||||
self.name = name
|
||||
self.info = info or SimpleNamespace()
|
||||
|
||||
@ -249,11 +248,6 @@ class Repo:
|
||||
"""Get the names of the tags."""
|
||||
return ( name for name, _ in self.tags() )
|
||||
|
||||
def new_in_branch(self, branch):
|
||||
"""Returns a new Repo, but on the specific branch."""
|
||||
return Repo(self.path, branch = branch, name = self.name,
|
||||
info = self.info)
|
||||
|
||||
def commit_ids(self, ref, limit = None):
|
||||
"""Generate commit ids."""
|
||||
cmd = self.cmd('rev-list')
|
||||
@ -333,16 +327,12 @@ class Repo:
|
||||
|
||||
return r
|
||||
|
||||
def tree(self, ref = None):
|
||||
def tree(self, ref):
|
||||
"""Returns a Tree instance for the given ref."""
|
||||
if not ref:
|
||||
ref = self.branch
|
||||
return Tree(self, ref)
|
||||
|
||||
def blob(self, path, ref = None):
|
||||
def blob(self, path, ref):
|
||||
"""Returns a Blob instance for the given path."""
|
||||
if not ref:
|
||||
ref = self.branch
|
||||
cmd = self.cmd('cat-file')
|
||||
cmd.raw(True)
|
||||
cmd.batch = '%(objectsize)'
|
||||
|
Loading…
Reference in New Issue
Block a user