Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
diff: convert reuse_worktree_file to struct object_id
author
Brandon Williams
<bmwill@google.com>
Tue, 30 May 2017 17:30:51 +0000
(10:30 -0700)
committer
Junio C Hamano
<gitster@pobox.com>
Fri, 2 Jun 2017 00:36:07 +0000
(09:36 +0900)
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
f9704c2
)
diff --git
a/diff.c
b/diff.c
index e0c179f5f2f474eeed1f5647ae6788c1919e2e8c..084c8b2d0a105f95fde776a44127b2cb7fb8452a 100644
(file)
--- a/
diff.c
+++ b/
diff.c
@@
-2717,7
+2717,7
@@
void fill_filespec(struct diff_filespec *spec, const struct object_id *oid,
* the work tree has that object contents, return true, so that
* prepare_temp_file() does not have to inflate and extract.
*/
* the work tree has that object contents, return true, so that
* prepare_temp_file() does not have to inflate and extract.
*/
-static int reuse_worktree_file(const char *name, const
unsigned char *sha1
, int want_file)
+static int reuse_worktree_file(const char *name, const
struct object_id *oid
, int want_file)
{
const struct cache_entry *ce;
struct stat st;
{
const struct cache_entry *ce;
struct stat st;
@@
-2748,7
+2748,7
@@
static int reuse_worktree_file(const char *name, const unsigned char *sha1, int
* objects however would tend to be slower as they need
* to be individually opened and inflated.
*/
* objects however would tend to be slower as they need
* to be individually opened and inflated.
*/
- if (!FAST_WORKING_DIRECTORY && !want_file && has_sha1_pack(
sha1
))
+ if (!FAST_WORKING_DIRECTORY && !want_file && has_sha1_pack(
oid->hash
))
return 0;
/*
return 0;
/*
@@
-2768,7
+2768,7
@@
static int reuse_worktree_file(const char *name, const unsigned char *sha1, int
* This is not the sha1 we are looking for, or
* unreusable because it is not a regular file.
*/
* This is not the sha1 we are looking for, or
* unreusable because it is not a regular file.
*/
- if (
hashcmp(sha1, ce->oid.hash
) || !S_ISREG(ce->ce_mode))
+ if (
oidcmp(oid, &ce->oid
) || !S_ISREG(ce->ce_mode))
return 0;
/*
return 0;
/*
@@
-2842,7
+2842,7
@@
int diff_populate_filespec(struct diff_filespec *s, unsigned int flags)
return diff_populate_gitlink(s, size_only);
if (!s->oid_valid ||
return diff_populate_gitlink(s, size_only);
if (!s->oid_valid ||
- reuse_worktree_file(s->path,
s->oid.hash
, 0)) {
+ reuse_worktree_file(s->path,
&s->oid
, 0)) {
struct strbuf buf = STRBUF_INIT;
struct stat st;
int fd;
struct strbuf buf = STRBUF_INIT;
struct stat st;
int fd;
@@
-3008,7
+3008,7
@@
static struct diff_tempfile *prepare_temp_file(const char *name,
if (!S_ISGITLINK(one->mode) &&
(!one->oid_valid ||
if (!S_ISGITLINK(one->mode) &&
(!one->oid_valid ||
- reuse_worktree_file(name,
one->oid.hash
, 1))) {
+ reuse_worktree_file(name,
&one->oid
, 1))) {
struct stat st;
if (lstat(name, &st) < 0) {
if (errno == ENOENT)
struct stat st;
if (lstat(name, &st) < 0) {
if (errno == ENOENT)