def fetch_impl(self):
        cached_dir = os.path.join(self.config.cached_sources,
                                  self.package_name)
        if os.path.isdir(os.path.join(cached_dir, ".svn")):
            if os.path.exists(self.repo_dir):
                shutil.rmtree(self.repo_dir)
            m.action(
                _('Copying cached repo from %s to %s instead of %s') %
                (cached_dir, self.repo_dir, self.url))
            shell.copy_dir(cached_dir, self.repo_dir)
            return

        checkout = True
        if os.path.exists(self.repo_dir):
            if os.path.isdir(os.path.join(self.repo_dir, '.svn')):
                if self.offline:
                    return
                checkout = False
            else:
                shutil.rmtree(self.repo_dir)

        if checkout:
            os.makedirs(self.repo_dir, exist_ok=True)
            svn.checkout(self.url, self.repo_dir)
        svn.update(self.repo_dir, self.revision)
예제 #2
0
파일: source.py 프로젝트: llenroc/cerbero
 def fetch(self):
     if os.path.exists(os.path.join(self.repo_dir, '.svn')):
         svn.revert_all(self.repo_dir)
     else:
         if os.path.exists(self.repo_dir):
             shutil.rmtree(self.repo_dir)
         os.makedirs(self.repo_dir)
         svn.checkout(self.url, self.repo_dir)
     svn.update(self.repo_dir, self.revision)
예제 #3
0
파일: source.py 프로젝트: fluendo/cerbero
 def fetch(self):
     if os.path.exists(os.path.join(self.repo_dir, '.svn')):
         svn.revert_all(self.repo_dir)
     else:
         if os.path.exists(self.repo_dir):
             shutil.rmtree(self.repo_dir)
         os.makedirs(self.repo_dir)
         svn.checkout(self.url, self.repo_dir)
     svn.update(self.repo_dir, self.revision)
예제 #4
0
파일: source.py 프로젝트: jpakkane/cerbero
    def fetch(self):
        if os.path.exists(self.repo_dir):
            shutil.rmtree(self.repo_dir)

        cached_dir = os.path.join(self.config.cached_sources, self.package_name)
        if os.path.isdir(os.path.join(cached_dir, ".svn")):
            m.action(_('Copying cached repo from %s to %s instead of %s') %
                     (cached_dir, self.repo_dir, self.url))
            shell.copy_dir(cached_dir, self.repo_dir)
            return

        os.makedirs(self.repo_dir)
        svn.checkout(self.url, self.repo_dir)
        svn.update(self.repo_dir, self.revision)
예제 #5
0
    def fetch(self):
        if os.path.exists(self.repo_dir):
            shutil.rmtree(self.repo_dir)

        cached_dir = os.path.join(self.config.cached_sources, self.package_name)
        if os.path.isdir(os.path.join(cached_dir, ".svn")):
            m.action(_('Copying cached repo from %s to %s instead of %s') %
                     (cached_dir, self.repo_dir, self.url))
            shell.copy_dir(cached_dir, self.repo_dir)
            return

        os.makedirs(self.repo_dir)
        svn.checkout(self.url, self.repo_dir)
        svn.update(self.repo_dir, self.revision)
예제 #6
0
    def fetch(self):
        if os.path.exists(self.repo_dir):
            shutil.rmtree(self.repo_dir)

        cached_dir = os.path.join(self.config.cached_sources, self.package_name)
        if os.path.isdir(os.path.join(cached_dir, ".svn")):
            m.action(_('Copying cached repo from %s to %s instead of %s') %
                     (cached_dir, self.repo_dir, self.url))
            shell.copy_dir(cached_dir, self.repo_dir)
            return

        os.makedirs(self.repo_dir)
        if self.offline:
            raise FatalError('Offline mode: no cached svn repos found for {} at {!r}'
                             ''.format(self.package_name, self.config.cached_sources))
        svn.checkout(self.url, self.repo_dir)
        svn.update(self.repo_dir, self.revision)
예제 #7
0
 def fetch(self):
     if os.path.exists(self.repo_dir):
         shutil.rmtree(self.repo_dir)
     os.makedirs(self.repo_dir)
     svn.checkout(self.url, self.repo_dir)
     svn.update(self.repo_dir, self.revision)