summaryrefslogtreecommitdiff
path: root/src/index.c
diff options
context:
space:
mode:
authorVicent Marti <vicent@github.com>2014-04-04 14:24:08 +0200
committerVicent Marti <vicent@github.com>2014-04-04 14:24:08 +0200
commit923c84008d6e3a4bf36ce08f9145a11b90f27185 (patch)
treefdcf530e6f970dd67a4c3daa2290c424447e5b0d /src/index.c
parentf34408a7b440489e474f5a5f8d90167b7d8195e9 (diff)
parenteedeeb9e8f708e9f60568adc4a63307754a603f5 (diff)
downloadlibgit2-923c84008d6e3a4bf36ce08f9145a11b90f27185.tar.gz
Merge pull request #2215 from libgit2/rb/submodule-cache-fixes
Improve submodule cache management
Diffstat (limited to 'src/index.c')
-rw-r--r--src/index.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/index.c b/src/index.c
index 3fcd21115..b0b5eae9d 100644
--- a/src/index.c
+++ b/src/index.c
@@ -517,6 +517,18 @@ int git_index_read(git_index *index, int force)
return error;
}
+int git_index__changed_relative_to(
+ git_index *index, const git_futils_filestamp *fs)
+{
+ /* attempt to update index (ignoring errors) */
+ if (git_index_read(index, false) < 0)
+ giterr_clear();
+
+ return (index->stamp.mtime != fs->mtime ||
+ index->stamp.size != fs->size ||
+ index->stamp.ino != fs->ino);
+}
+
int git_index_write(git_index *index)
{
git_filebuf file = GIT_FILEBUF_INIT;