当前位置: 首页 > 知识库问答 >
问题:

JGit稀疏签出不断添加文件

荣声
2023-03-14

在Java中,我与JGit合作,在远程存储库中执行一些操作。但是,当我依次在版本之间执行稀疏签出时:

checkout.
  setCreateBranch(false).
  setName(tag).
  addPath("server/scripts/").
  setStartPoint(tag);

它保留最后一个签出文件并添加新的签出文件。只有当目录中的文件名不相同时才会发生这种情况。以这种方式使用checkout命令时,如何避免这种情况?

我考虑过删除正在签出的文件夹中的文件(本例中是脚本),但我不知道当“下载”的文件具有相同的名称时,是否会带来冲突。

共有1个答案

萧飞
2023-03-14

首先请注意,setCreateBranch()默认为false,因此无需显式调用setCreateBranch(false)

此外,不能将addPath()setName()混合使用addPath()的JavaDoc说明:

如果设置了此选项,则既不考虑setCreateBranch(布尔)选项,也不考虑setName(字符串)选项。换句话说,这些选项是排他性的。

但是,我不确定您看到的行为是否正确。请用命令行git检查是否显示相同的结果,如果JGit不同,请提交错误报告。

要处理孤立文件,可以使用StatusCommand手动删除所有未跟踪的文件:

Status status = git.status().call();
for( String fileName : status.getUntracked() ) {
  // delete fileName
}

 类似资料:
  • 问题内容: 有没有人有正确的代码示例 Jenkins DSL插件中需要设置块来设置git稀疏签出吗? 好像config.xml部分看起来像这样: 问题答案:

  • 问题内容: 我想将文件从一个地方复制到另一个地方,问题是我处理了很多稀疏文件。 有什么(简单的)复制稀疏文件而不会在目标位置变得庞大的方法? 我的基本代码: 问题答案: 一些背景理论 请注意,通过管道传输原始字节–一旦您认为将原始数据通过管道从到提供和的,就可以理解。这样,绝对可以处理提供字节的任何源以及使用它们的任何接收器。 另一方面,文件中漏洞的位置是“侧通道”信息,这些“侧通道”信息是“经典

  • 问题内容: 我得到了一个1TB的稀疏文件,在Linux上实际上存储了32MB数据。 是否可以“有效地”制作一个软件包来存储稀疏文件?该软件包应解压缩为另一台计算机上的1TB稀疏文件。理想情况下,“软件包”应为32MB左右。 注意:可能的解决方案是使用“ tar”:https : //wiki.archlinux.org/index.php/Sparse_file#Archiving_with_.6

  • 请看示例代码(注意 data 的数组下标): -- http://www.kyne.com.au/~mark/software/lua-cjson.php -- version: 2.1 devel local json = require("cjson") local data = {1, 2} data[1000] = 99 -- ... do the other things ngx.

  • 问题内容: 最近,Elasticsearch允许在查询中使用向量和稀疏向量。在他们的文档之后,我发现了一个错误,本质上是: 似乎“嵌入”不是一个成功的领域。 我将文档上传到Elasticsearch如下: 我为每个文档创建一个json文件 我在Python中加载json文件 我将这些objetcs传递给Elasticsearch: 这是我的json文件的结构(请注意,嵌入是字典,因为它是稀疏向量)

  • 我正在使用Jax-RS和Jooq。我想知道如何使用稀疏数据实现REST补丁。 比如说我有一些PoJo。我得到了一个JSON补丁(http://www.restapitutorial.com/lessons/httpmethods.html)请求的对象不完整,只包含应该更改的字段。 我该如何编写这样的处理程序? 我试着接受真实的Pojo对象。我的第一个想法是“如果一个字段为空,我就不更新它”。这是我