当前位置: 首页>>代码示例>>Python>>正文


Python GitClient.path_exists方法代码示例

本文整理汇总了Python中vcstools.git.GitClient.path_exists方法的典型用法代码示例。如果您正苦于以下问题:Python GitClient.path_exists方法的具体用法?Python GitClient.path_exists怎么用?Python GitClient.path_exists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vcstools.git.GitClient的用法示例。


在下文中一共展示了GitClient.path_exists方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_export_master

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def test_export_master(self):
     url = self.remote_path
     client = GitClient(self.local_path)
     subclient = GitClient(self.sublocal_path)
     subsubclient = GitClient(self.subsublocal_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertFalse(os.path.exists(self.export_path))
     self.assertTrue(client.checkout(url))
     self.assertTrue(client.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
     tarpath = client.export_repository("master", self.export_path)
     self.assertEqual(tarpath, self.export_path + '.tar.gz')
     os.mkdir(self.export_path)
     with closing(tarfile.open(tarpath, "r:gz")) as tarf:
         tarf.extractall(self.export_path)
     subsubdirdiff = filecmp.dircmp(self.subsubexport_path, self.subsublocal_path, ignore=['.git', '.gitmodules'])
     self.assertEqual(subsubdirdiff.left_only, [])
     self.assertEqual(subsubdirdiff.right_only, [])
     self.assertEqual(subsubdirdiff.diff_files, [])
     subdirdiff = filecmp.dircmp(self.subexport_path, self.sublocal_path, ignore=['.git', '.gitmodules'])
     self.assertEqual(subdirdiff.left_only, [])
     self.assertEqual(subdirdiff.right_only, [])
     self.assertEqual(subdirdiff.diff_files, [])
     dirdiff = filecmp.dircmp(self.export_path, self.local_path, ignore=['.git', '.gitmodules'])
     self.assertEqual(dirdiff.left_only, [])
     self.assertEqual(dirdiff.right_only, [])
     self.assertEqual(dirdiff.diff_files, [])
开发者ID:esteve,项目名称:vcstools,代码行数:31,代码来源:test_git_subm.py

示例2: test_checkout_branch_with_subs

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def test_checkout_branch_with_subs(self):
     url = self.remote_path
     client = GitClient(self.local_path)
     subclient = GitClient(self.sublocal_path)
     subsubclient = GitClient(self.subsublocal_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertTrue(client.checkout(url, refname='test_branch'))
     self.assertTrue(client.path_exists())
     self.assertTrue(client.detect_presence())
     self.assertEqual(self.version_init, client.get_version())
     self.assertFalse(subclient.path_exists())
开发者ID:tkruse,项目名称:vcstools,代码行数:14,代码来源:test_git_subm.py

示例3: _get_file

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
    def _get_file(self, repo_type, repo_url, version, filename):
        """ Fetch the file specificed by filename relative to the root of the repository"""
        name = simplify_repo_name(repo_url)
        repo_path = os.path.join(self._cache_location, name)
        #client = VcsClient(repo_type, repo_path)
        client = GitClient(repo_path)  # using git only
        updated = False
        if client.path_exists():
            if client.get_url() == repo_url:
                if not self._skip_update:
                    updated = client.update(version, force_fetch=True)
                else:
                    updated = client._do_update(version)
            if not updated:
                shutil.rmtree(repo_path)
        if not updated:
            updated = client.checkout(repo_url, version, shallow=True)

        if not updated:
            raise VcsError("Impossible to update/checkout repo '%s' with version '%s'." % (repo_url, version))

        full_filename = os.path.join(repo_path, filename)
        if not os.path.exists(full_filename):
            raise VcsError("Requested file '%s' missing from repo '%s' version '%s' (viewed at version '%s').  It was expected at: %s" %
                           (filename, repo_url, version, client.get_version(), full_filename))

        return full_filename
开发者ID:po1,项目名称:buildfarm,代码行数:29,代码来源:dependency_walker.py

示例4: _get_file

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
    def _get_file(self, _repo_type, repo_url, version, filename):
        """ Fetch the file specificed by filename relative to the root of the repository"""
        name = simplify_repo_name(repo_url)
        repo_path = os.path.join(self._cache_location, name)
        client = GitClient(repo_path)  # using git only
        updated = False
        if client.path_exists():
            if client.get_url() == repo_url:
                if not self._skip_update:
                    logging.disable(logging.WARNING)
                    updated = client.update(version, force_fetch=True)
                    logging.disable(logging.NOTSET)
                else:
                    try:  # catch exception which can be caused by calling internal API
                        logging.disable(logging.WARNING)
                        updated = client._do_update(version)
                        logging.disable(logging.NOTSET)
                    except GitError:
                        updated = False
            if not updated:
                shutil.rmtree(repo_path)
        if not updated:
            logging.disable(logging.WARNING)
            updated = client.checkout(repo_url, version)
            logging.disable(logging.NOTSET)

        if not updated:
            raise VcsError("Impossible to update/checkout repo '%s' with version '%s'." % (repo_url, version))

        full_filename = os.path.join(repo_path, filename)
        if not os.path.exists(full_filename):
            raise VcsError("Requested file '%s' missing from repo '%s' version '%s' (viewed at version '%s').  It was expected at: %s" %
                           (filename, repo_url, version, client.get_version(), full_filename))

        return full_filename
开发者ID:jamuraa,项目名称:catkin-debs,代码行数:37,代码来源:dependency_walker.py

示例5: test_checkout_master_with_subs

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def test_checkout_master_with_subs(self):
     url = self.remote_path
     client = GitClient(self.local_path)
     subclient = GitClient(self.sublocal_path)
     subsubclient = GitClient(self.subsublocal_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertTrue(client.checkout(url))
     self.assertTrue(client.path_exists())
     self.assertTrue(client.detect_presence())
     self.assertEqual(self.version_final, client.get_version())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subclient.detect_presence())
     self.assertEqual(self.subversion_final, subclient.get_version())
     self.assertTrue(subsubclient.path_exists())
     self.assertTrue(subsubclient.detect_presence())
     self.assertEqual(self.subsubversion_final, subsubclient.get_version())
开发者ID:tkruse,项目名称:vcstools,代码行数:19,代码来源:test_git_subm.py

示例6: test_get_url_by_reading

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
    def test_get_url_by_reading(self):
        from vcstools.git import GitClient

        client = GitClient(self.readonly_path)
        self.assertTrue(client.path_exists())
        self.assertTrue(client.detect_presence())
        self.assertEqual(client.get_url(), self.readonly_url)
        self.assertEqual(client.get_version(), self.readonly_version)
        self.assertEqual(client.get_version(self.readonly_version_init[0:6]), self.readonly_version_init)
        self.assertEqual(client.get_version("test_tag"), self.readonly_version_init)
开发者ID:130s,项目名称:dry_prerelease_job_generator,代码行数:12,代码来源:test_git.py

示例7: test_checkout

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
    def test_checkout(self):
        from vcstools.git import GitClient
        directory = tempfile.mkdtemp()
        self.directories["checkout_test"] = directory
        local_path = os.path.join(directory, "ros")
        url = self.readonly_url
        client = GitClient(local_path)
        self.assertFalse(client.path_exists())
        self.assertFalse(client.detect_presence())
        self.assertFalse(client.detect_presence())
        self.assertTrue(client.checkout(url))
        self.assertTrue(client.path_exists())
        self.assertTrue(client.detect_presence())
        self.assertEqual(client.get_path(), local_path)
        self.assertEqual(client.get_url(), url)
        self.assertEqual(client.get_branch(), "master")
        self.assertEqual(client.get_branch_parent(), "master")
        #self.assertEqual(client.get_version(), '-r*')

        shutil.rmtree(directory)
        self.directories.pop("checkout_test")
开发者ID:130s,项目名称:dry_prerelease_job_generator,代码行数:23,代码来源:test_git.py

示例8: test_checkout_specific_branch_and_update

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def test_checkout_specific_branch_and_update(self):
     from vcstools.git import GitClient
     directory = tempfile.mkdtemp()
     subdir = "checkout_specific_version_test"
     self.directories[subdir] = directory
     local_path = os.path.join(directory, "ros")
     url = self.readonly_url
     branch = "master"
     client = GitClient(local_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertTrue(client.checkout(url, branch))
     self.assertTrue(client.path_exists())
     self.assertTrue(client.detect_presence())
     self.assertEqual(client.get_path(), local_path)
     self.assertEqual(client.get_url(), url)
     self.assertEqual(client.get_branch_parent(), branch)
     
     new_branch = 'master'
     self.assertTrue(client.update(new_branch))
     self.assertEqual(client.get_branch_parent(), new_branch)
     
     shutil.rmtree(directory)
     self.directories.pop(subdir)
开发者ID:130s,项目名称:dry_prerelease_job_generator,代码行数:26,代码来源:test_git.py

示例9: test_switch_branches

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def test_switch_branches(self):
     url = self.remote_path
     client = GitClient(self.local_path)
     subclient = GitClient(self.sublocal_path)
     subclient2 = GitClient(self.sublocal2_path)
     subsubclient = GitClient(self.subsublocal_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertTrue(client.checkout(url))
     self.assertTrue(client.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
     self.assertFalse(subclient2.path_exists())
     new_version = "test_branch2"
     self.assertTrue(client.update(new_version))
     self.assertTrue(subclient2.path_exists())
开发者ID:tkruse,项目名称:vcstools,代码行数:18,代码来源:test_git_subm.py

示例10: checkout_package

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
  def checkout_package(self, package_name):
    """Fetches and checks out the correct version of a package for the rosdistro"""
    pkg_info = self._rosdist.get_package_checkout_info()[package_name]
    repo_url = pkg_info['url']
    name = os.path.basename(pkg_info['url'])
    repo_path = os.path.join(self.workspace, name)
    client = GitClient(repo_path)
    if client.path_exists():
      tag = pkg_info['version'] if client.is_tag(pkg_info['version']) else pkg_info['full_version']
      if client.get_url() == repo_url:
        # Sometimes debian/rules gets mussed with in the build process.
        # This should translate to 'git checkout debian/rules' which should reset so we can change tags
        client.update('debian/rules', verbose=True)
        updated = client.update(tag, force_fetch=True, verbose=True)
      if not updated:
        print("WARNING: Repo at %s changed url from %s to %s or update failed. Redownloading!" % (repo_path, client.get_url(), repo_url))
        shutil.rmtree(repo_path)
        self.fetch_with_tagcheck(client, pkg_info)

    else:
      self.fetch_with_tagcheck(client, pkg_info)

    return repo_path
开发者ID:garyservin,项目名称:ros-debuild-install,代码行数:25,代码来源:ros_gbp_build_debians.py

示例11: test_switch_branches_retrieve_local_subcommit

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def test_switch_branches_retrieve_local_subcommit(self):
     url = self.remote_path
     client = GitClient(self.local_path)
     subclient = GitClient(self.sublocal_path)
     subclient2 = GitClient(self.sublocal2_path)
     subsubclient = GitClient(self.subsublocal_path)
     subsubclient2 = GitClient(self.subsublocal2_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertTrue(client.checkout(url))
     self.assertTrue(client.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
     self.assertFalse(subclient2.path_exists())
     new_version = "test_branch"
     self.assertTrue(client.update(new_version))
     # checking that update doesnt make submodule disappear (git default behavior)
     self.assertTrue(subclient2.path_exists())
     self.assertTrue(subsubclient2.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
     subprocess.check_call("touch submodif.txt", shell=True, cwd=self.sublocal2_path)
     subprocess.check_call("git add submodif.txt", shell=True, cwd=self.sublocal2_path)
     subprocess.check_call("git commit -m submodif", shell=True, cwd=self.sublocal2_path)
     subprocess.check_call("git add submodule2", shell=True, cwd=self.local_path)
     subprocess.check_call("git commit -m submodule2_modif", shell=True, cwd=self.local_path)
     oldnew_version = "master"
     self.assertTrue(client.update(oldnew_version))
     # checking that update doesnt make submodule2 disappear (git default behavior)
     self.assertTrue(subclient2.path_exists())
     self.assertTrue(subsubclient2.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
     self.assertTrue(client.update(new_version))
     # checking that update still has submodule with submodif
     self.assertTrue(subclient2.path_exists())
     self.assertTrue(subsubclient2.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
     self.assertTrue(os.path.exists(os.path.join(self.sublocal2_path, "submodif.txt")))
开发者ID:esteve,项目名称:vcstools,代码行数:42,代码来源:test_git_subm.py

示例12: test_switch_branches

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def test_switch_branches(self):
     url = self.remote_path
     client = GitClient(self.local_path)
     subclient = GitClient(self.sublocal_path)
     subclient2 = GitClient(self.sublocal2_path)
     subsubclient = GitClient(self.subsublocal_path)
     subsubclient2 = GitClient(self.subsublocal2_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertTrue(client.checkout(url))
     self.assertTrue(client.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
     self.assertFalse(subclient2.path_exists())
     new_version = "test_branch"
     self.assertTrue(client.update(new_version))
     # checking that update doesnt make submodule disappear (git default behavior)
     self.assertTrue(subclient2.path_exists())
     self.assertTrue(subsubclient2.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
     oldnew_version = "master"
     self.assertTrue(client.update(oldnew_version))
     # checking that update doesnt make submodule2 disappear (git default behavior)
     self.assertTrue(subclient2.path_exists())
     self.assertTrue(subsubclient2.path_exists())
     self.assertTrue(subclient.path_exists())
     self.assertTrue(subsubclient.path_exists())
开发者ID:esteve,项目名称:vcstools,代码行数:30,代码来源:test_git_subm.py

示例13: test_export_hash

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
    def test_export_hash(self):
        url = self.remote_path
        client = GitClient(self.local_path)
        subclient = GitClient(self.sublocal_path)
        subclient2 = GitClient(self.sublocal2_path)
        subsubclient = GitClient(self.subsublocal_path)
        subsubclient2 = GitClient(self.subsublocal2_path)
        self.assertFalse(client.path_exists())
        self.assertFalse(client.detect_presence())
        self.assertFalse(os.path.exists(self.export_path))
        self.assertTrue(client.checkout(url, version='master'))
        self.assertTrue(client.path_exists())
        self.assertTrue(subclient.path_exists())
        self.assertTrue(subsubclient.path_exists())
        self.assertFalse(subclient2.path_exists())
        self.assertFalse(subsubclient2.path_exists())
        # we need first to retrieve locally the hash we want to export
        self.assertTrue(client.update(version=self.version_test))
        self.assertTrue(client.path_exists())
        # git leaves old submodule around by default
        self.assertTrue(subclient.path_exists())
        self.assertTrue(subsubclient.path_exists())
        # new submodule should be there
        self.assertTrue(subclient2.path_exists())
        self.assertTrue(subsubclient2.path_exists())

        tarpath = client.export_repository(self.version_test, self.export_path)
        self.assertEqual(tarpath, self.export_path + '.tar.gz')
        os.mkdir(self.export_path)
        with closing(tarfile.open(tarpath, "r:gz")) as tarf:
            tarf.extractall(self.export_path)

        # Checking that we have only submodule2 in our export
        self.assertFalse(os.path.exists(self.subexport_path))
        self.assertFalse(os.path.exists(self.subsubexport_path))
        self.assertTrue(os.path.exists(self.subexport2_path))
        self.assertTrue(os.path.exists(self.subsubexport2_path))

        # comparing with version_test ( currently checked-out )
        subsubdirdiff = filecmp.dircmp(self.subsubexport2_path, self.subsublocal_path, ignore=['.git', '.gitmodules'])
        self.assertEqual(subsubdirdiff.left_only, [])  # same subsubfixed.txt in both subsubmodule/
        self.assertEqual(subsubdirdiff.right_only, [])
        self.assertEqual(subsubdirdiff.diff_files, [])
        subdirdiff = filecmp.dircmp(self.subexport2_path, self.sublocal_path, ignore=['.git', '.gitmodules'])
        self.assertEqual(subdirdiff.left_only, [])
        self.assertEqual(subdirdiff.right_only, [])
        self.assertEqual(subdirdiff.diff_files, [])
        dirdiff = filecmp.dircmp(self.export_path, self.local_path, ignore=['.git', '.gitmodules'])
        self.assertEqual(dirdiff.left_only, [])
        # submodule is still there on local_path (git default behavior)
        self.assertEqual(dirdiff.right_only, ['submodule'])
        self.assertEqual(dirdiff.diff_files, [])
开发者ID:esteve,项目名称:vcstools,代码行数:54,代码来源:test_git_subm.py

示例14: testStatusUntracked

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def testStatusUntracked(self):
     from vcstools.git import GitClient
     client = GitClient(self.readonly_path)
     self.assertTrue(client.path_exists())
     self.assertTrue(client.detect_presence())
     self.assertEquals('A  ./added.txt\n D ./deleted-fs.txt\nD  ./deleted.txt\n M ./modified-fs.txt\nM  ./modified.txt\n?? ./added-fs.txt\n', client.get_status(untracked=True))
开发者ID:130s,项目名称:dry_prerelease_job_generator,代码行数:8,代码来源:test_git.py

示例15: testStatusRelPath

# 需要导入模块: from vcstools.git import GitClient [as 别名]
# 或者: from vcstools.git.GitClient import path_exists [as 别名]
 def testStatusRelPath(self):
     from vcstools.git import GitClient
     client = GitClient(self.readonly_path)
     self.assertTrue(client.path_exists())
     self.assertTrue(client.detect_presence())
     self.assertEquals('A  readonly/added.txt\n D readonly/deleted-fs.txt\nD  readonly/deleted.txt\n M readonly/modified-fs.txt\nM  readonly/modified.txt\n', client.get_status(basepath=os.path.dirname(self.readonly_path)))
开发者ID:130s,项目名称:dry_prerelease_job_generator,代码行数:8,代码来源:test_git.py


注:本文中的vcstools.git.GitClient.path_exists方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。