diff options
author | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2014-03-14 13:01:45 +0000 |
---|---|---|
committer | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2014-03-20 13:54:21 +0000 |
commit | cbc117355a6f549a14cae57dac43fa6f432c1849 (patch) | |
tree | 714fcf6af5023e4ed77ec75907e5edfdd08e7238 /morphlib/git.py | |
parent | 73e22af6a9c83f9e9e1d79f4018f4562bf5ae1b2 (diff) | |
download | morph-cbc117355a6f549a14cae57dac43fa6f432c1849.tar.gz |
Make existing morph commands use git-fat
When cloning a repository, the files stored using git-fat need to
be pulled. This situation occurs in `morph branch`, `morph edit`,
and `morph checkout`.
Diffstat (limited to 'morphlib/git.py')
-rw-r--r-- | morphlib/git.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/morphlib/git.py b/morphlib/git.py index 27146206..ccd06323 100644 --- a/morphlib/git.py +++ b/morphlib/git.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2013 Codethink Limited +# Copyright (C) 2011-2014 Codethink Limited # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -279,6 +279,10 @@ def copy_repository(runcmd, repo, destdir, is_mirror=True): def checkout_ref(runcmd, gitdir, ref): '''Checks out a specific ref/SHA1 in a git working tree.''' runcmd(['git', 'checkout', ref], cwd=gitdir) + gd = morphlib.gitdir.GitDirectory(gitdir) + if gd.has_fat(): + gd.fat_init() + gd.fat_pull() def index_has_changes(runcmd, gitdir): @@ -308,6 +312,10 @@ def clone_into(runcmd, srcpath, targetpath, ref=None): runcmd(['git', 'checkout', ref], cwd=targetpath) else: runcmd(['git', 'clone', '-b', ref, srcpath, targetpath]) + gd = morphlib.gitdir.GitDirectory(targetpath) + if gd.has_fat(): + gd.fat_init() + gd.fat_pull() def is_valid_sha1(ref): '''Checks whether a string is a valid SHA1.''' |