另一个libgit2-newbie问题:如何更新子目录?

问题描述 投票:0回答:1

您的新手现在正尝试使用libgit2将文件添加到子目录中。我想要的是一些关于我是否了解我需要做的事情的反馈。

我设法在顶层目录中创建了一些文件。我还设法创建了一个子目录,该子目录位于顶层目录中,而文件位于该子目录中。

我正在一个裸仓库中完成所有这些工作,每个目录都有libgit2树对象,使用treebuilder创建和重新创建。

但是当我尝试在子目录中创建一个新文件时,它将进入顶层目录。实际上,我希望进入子目录的所有内容都出现在顶层目录中。

所以,在我看来:

  • 我在“子目录中”所做的工作是使用现有内容加上我的新文件创建一个新目录。
  • 然后,我需要创建一个新的顶层目录,其中包含(a)现有顶层目录的所有内容,但(b)我新创建的子目录代替了旧的子目录-目录。

据推测,要更新文件层次结构中任何位置的任何文件,我还需要运行目录树来重建每个祖先目录。然后,我需要在提交中提交顶层目录。

我确实有一些代码,但是目前它非常混乱,所以我不想在StackOverflow上使用它。

如果任何人都可以共享执行此操作的任何代码,那将是很好的。我实际上正在为此使用Rust,但是任何语言都可以。

git subdirectory libgit2
1个回答
0
投票

似乎我是对的。。。我已经写了我上面写的内容,并且似乎正在工作。

© www.soinside.com 2019 - 2024. All rights reserved.