如何使用git2r查找文件是否已更改
How to find if file has changed using git2r
假设我有一个存储库 repo
:
library(git2r)
repo <- repository(".")
此存储库中有一个子目录 R
,其中包含文件 a.txt
、b.txt
和其他我不感兴趣的文件。如何使用 git2r
找出这些文件中是否有未暂存的更改?我看过 summary(diff())
,但这适用于整个回购协议的级别。
本质上,我想做的是复制 git 命令的效果:
! git diff-index --quiet HEAD -- file
如果文件中有更改,则 return false。虽然我可以使用系统命令,但不能保证用户的路径中有 git
,因此命令会失败。
有没有办法复制我正在寻找的 git 功能?
此问题已在 latest development release of git2r 中解决。
status
现在有一个 all_unstaged
选项:
> status(repo, all_untracked = TRUE)
Untracked files:
Untracked: untracked/a.txt
Untracked: untracked/b.txt
假设我有一个存储库 repo
:
library(git2r)
repo <- repository(".")
此存储库中有一个子目录 R
,其中包含文件 a.txt
、b.txt
和其他我不感兴趣的文件。如何使用 git2r
找出这些文件中是否有未暂存的更改?我看过 summary(diff())
,但这适用于整个回购协议的级别。
本质上,我想做的是复制 git 命令的效果:
! git diff-index --quiet HEAD -- file
如果文件中有更改,则 return false。虽然我可以使用系统命令,但不能保证用户的路径中有 git
,因此命令会失败。
有没有办法复制我正在寻找的 git 功能?
此问题已在 latest development release of git2r 中解决。
status
现在有一个 all_unstaged
选项:
> status(repo, all_untracked = TRUE)
Untracked files:
Untracked: untracked/a.txt
Untracked: untracked/b.txt