Skip to content

Commit

Permalink
Extract private method for Git._folder_args
Browse files Browse the repository at this point in the history
  • Loading branch information
Darren Weber committed Jun 19, 2019
1 parent 7cd1835 commit 02cb8d1
Showing 1 changed file with 14 additions and 37 deletions.
51 changes: 14 additions & 37 deletions poetry/vcs/git.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,58 +45,35 @@ def clone(self, repository, dest): # type: (...) -> str
return self.run("clone", repository, str(dest))

def checkout(self, rev, folder=None): # type: (...) -> str
args = []
if folder is None and self._work_dir:
folder = self._work_dir

if folder:
args += [
"--git-dir",
(folder / ".git").as_posix(),
"--work-tree",
folder.as_posix(),
]

args = self._folder_args(folder)
args += ["checkout", rev]

return self.run(*args)

def rev_parse(self, rev, folder=None): # type: (...) -> str
args = []
if folder is None and self._work_dir:
folder = self._work_dir

if folder:
args += [
"--git-dir",
(folder / ".git").as_posix(),
"--work-tree",
folder.as_posix(),
]

args = self._folder_args(folder)
args += ["rev-parse", rev]

return self.run(*args)

def get_ignored_files(self, folder=None): # type: (...) -> list
args = self._folder_args(folder)
args += ["ls-files", "--others", "-i", "--exclude-standard"]
output = self.run(*args)
return output.split("\n")

def run(self, *args): # type: (...) -> str
return decode(
subprocess.check_output(["git"] + list(args), stderr=subprocess.STDOUT)
)

def _folder_args(self, folder): # type: (...) -> list
args = []
if folder is None and self._work_dir:
folder = self._work_dir

if folder:
args += [
"--git-dir",
(folder / ".git").as_posix(),
"--work-tree",
folder.as_posix(),
]

args += ["ls-files", "--others", "-i", "--exclude-standard"]
output = self.run(*args)

return output.split("\n")

def run(self, *args): # type: (...) -> str
return decode(
subprocess.check_output(["git"] + list(args), stderr=subprocess.STDOUT)
)
return args

0 comments on commit 02cb8d1

Please sign in to comment.