需要一些帮助在远程存储库上执行操作

时间:2013-02-05 06:01:35

标签: libgit2sharp

我一直在修修补补,阅读我能找到的小维基信息,并查看我认为可能相关的测试,但是我遇到了一些问题,想出了一些可行的解决方案。

大多数情况下,我正在寻找一种方法来列出在工作存储库/本地提交之前已经推送到服务器的提交。我已经尝试过使用Fetch和FetchHeads,但是查看Network类的所有文档似乎并没有产生任何我能理解的东西,我猜。理想情况下,我有兴趣看到类似的东西:

    IQueriableCommitLog Repository.Network.GetCommitsAhead

OR

    IQueriableCommitLog Repository.Remote.GetCommitsAhead

然后,只需使用您的结果:

    IQueriableCommitLog Repository.Commits

此外,也许是一个类似于远程提交的Commit.UpdateTo()方法。

我是否因为我正在寻找的东西太远了?此时是否可以执行此操作?是否受libgit2支持?

1 个答案:

答案 0 :(得分:1)

  

大多数情况下,我正在寻找一种方法来列出在工作存储库/本地提交之前已经推送到服务器的提交。

Branch是本地的或远程的。跟踪其他人的本地Branch会公开TrackedBranch属性。

考虑使用非TrackedBranch属性的本地分支

  • 提交已在此本地分支上执行但未在跟踪的分支中获知。

repo.Commits.QueryBy(new Filter { Since = branch.Tip, Until = branch.TrackedBranch });

  • 承认存在于被跟踪的分支中,并且不知道本地的分支

repo.Commits.QueryBy(new Filter { Since = TrackedBranch, Until = Tip })