【问题标题】:another libgit2-newbie question: How do I update a sub-directory?另一个 libgit2-newbie 问题:如何更新子目录?
【发布时间】:2020-03-15 18:39:21
【问题描述】:

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

我已经设法在顶级目录中创建了一些文件。我还设法创建了一个子目录,子目录在顶级目录中,文件在子目录中。

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

但是当我尝试在子目录中创建一个新文件时,它会进入顶级目录。事实上,我期望在子目录中的所有内容都在顶级目录中结束。

所以,在我看来:

  • 我正在“在子目录中”做的是用现有内容和我的新文件创建一个新目录。
  • 然后我需要做的是创建一个新的顶级目录,其中包含 (a) 现有顶级目录的所有内容,除了 (b) 我新创建的子目录代替旧的子目录。

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

我确实有一些代码,但现在很混乱,所以我不想把它强加到 StackOverflow 上。

如果有人可以共享任何执行此操作的代码,那就太好了。我实际上为此使用了 Rust,但任何语言都可以。

【问题讨论】:

    标签: git subdirectory libgit2


    【解决方案1】:

    看来我是对的...我已经将上面写的内容编码了,并且似乎可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-20
      • 1970-01-01
      • 2011-04-18
      • 2021-06-05
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多