~le-charmers/charms/trusty/swift-proxy/leadership-election

« back to all changes in this revision

Viewing changes to hooks/charmhelpers/fetch/giturl.py

  • Committer: Liam Young
  • Date: 2015-06-04 08:44:50 UTC
  • Revision ID: liam.young@canonical.com-20150604084450-6542hlpg58av4zw1
Resync le charm helpers

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
        else:
46
46
            return True
47
47
 
48
 
    def clone(self, source, dest, branch):
 
48
    def clone(self, source, dest, branch, depth=None):
49
49
        if not self.can_handle(source):
50
50
            raise UnhandledSource("Cannot handle {}".format(source))
51
51
 
52
 
        repo = Repo.clone_from(source, dest)
53
 
        repo.git.checkout(branch)
 
52
        if depth:
 
53
            Repo.clone_from(source, dest, branch=branch, depth=depth)
 
54
        else:
 
55
            Repo.clone_from(source, dest, branch=branch)
54
56
 
55
 
    def install(self, source, branch="master", dest=None):
 
57
    def install(self, source, branch="master", dest=None, depth=None):
56
58
        url_parts = self.parse_url(source)
57
59
        branch_name = url_parts.path.strip("/").split("/")[-1]
58
60
        if dest:
63
65
        if not os.path.exists(dest_dir):
64
66
            mkdir(dest_dir, perms=0o755)
65
67
        try:
66
 
            self.clone(source, dest_dir, branch)
 
68
            self.clone(source, dest_dir, branch, depth)
67
69
        except GitCommandError as e:
68
70
            raise UnhandledSource(e.message)
69
71
        except OSError as e: