【问题标题】:How to write a test that checks the existence of a specific file on a remote git branch?如何编写一个测试来检查远程 git 分支上是否存在特定文件?
【发布时间】:2020-10-04 14:33:22
【问题描述】:

我想写一个测试

  1. 获取远程git分支的特定包中存在哪些文件名,然后
  2. 检查具有该名称的文件是否存在于另一个远程 git 分支的特定包中。

测试应该通过持续集成自动运行。

由于我的项目使用 GitLab,因此使用他们的 API 或类似的解决方案是可行的。

我搜索了答案,唯一能找到的结果是this thread。但是,我不知道如何在自动测试中做到这一点。

我怎样才能做到这一点?

【问题讨论】:

  • 在这种情况下什么是包?
  • 链接的答案在远程存储库上不起作用。它适用于 local 远程跟踪分支。这可能是唯一的方法——在本地获取提交并列出其中的文件。

标签: java git gitlab


【解决方案1】:

如果这是可以接受的:最简单的方法是从两个遥控器fetch,然后在本地运行测试。

获取“存储在提交中的目录”内容的一种方法是ls-tree -r(如果您只想要文件名,请添加--name-only):

git ls-tree --name-only -r upstream/branchname -- path/to/dir
#                           ^                      ^
#          anything that identifies a commit      path to check inside that commit

【讨论】:

    猜你喜欢
    • 2012-01-03
    • 2012-12-31
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 2022-11-16
    • 2014-10-13
    • 2014-02-10
    相关资源
    最近更新 更多