如何使用git2r查找文件是否已更改

时间:2016-05-19 08:09:58

标签: r libgit2

说我有一个存储库repo

library(git2r)
repo <- repository(".")

在此存储库中有一个子目录R,包含文件a.txtb.txt和其他我不感兴趣的文件。如何使用git2r如果这些文件中有未分级的更改,可以解决?我查看了summary(diff()),但这在整个回购的水平上起作用。

基本上,我尝试做的是复制git命令的效果:

! git diff-index --quiet HEAD -- file

如果文件中有更改,则返回false。虽然我可以使用系统命令,但不保证用户的路径中有git,因此命令会失败。

有没有办法复制我正在寻找的git功能?

1 个答案:

答案 0 :(得分:1)

此问题已在latest development release of git2r中解决。 all_unstaged现在有一个status选项:

> status(repo, all_untracked = TRUE)
Untracked files:
    Untracked:  untracked/a.txt
    Untracked:  untracked/b.txt