def __init__(self, cwd=None, name=None): self.cwd = cwd or core.run("pwd").stdout self.name = name or git.repository_name() self.releases_to_keep = 15 self.revision = "HEAD" self._hooks = [] self._init_folders()
def _ensure_layout(owner): home_dir = user.home_directory(owner) repo_name = git.repository_name() join = os.path.join project_dir = join(home_dir, repo_name) paths = { 'project': join(project_dir), 'current': join(project_dir, 'current'), 'releases': join(project_dir, 'releases'), 'shared': join(project_dir, 'shared'), 'logs': join(project_dir, 'shared', 'logs'), 'temp': join(project_dir, 'shared', 'temp') } with ctx.sudo(owner): for path in paths.itervalues(): if dir.exists(path): continue dir.create(path, recursive=True) return paths
def test_repository_name_without_leading_directories(local): local.expects_call().returns("foo/faz/bar") assert git.repository_name() == "bar"
def test_repository_name_without_trailing_git(local): local.expects_call().returns("bar.git") assert git.repository_name() == "bar"
def test_repository_name(local): cmd = "grep 'url' .git/config | cut -d':' -f2" local.expects_call().with_args(cmd, capture=True).returns("bar") assert git.repository_name() == "bar"