Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
split-index: convert struct split_index to object_id
author
brian m. carlson
<sandals@crustytoothpaste.net>
Wed, 2 May 2018 00:25:43 +0000
(
00:25
+0000)
committer
Junio C Hamano
<gitster@pobox.com>
Wed, 2 May 2018 04:59:50 +0000
(13:59 +0900)
Convert the base_sha1 member of struct split_index to use struct
object_id and rename it base_oid. Include cache.h to make the structure
visible.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/rev-parse.c
patch
|
blob
|
history
read-cache.c
patch
|
blob
|
history
split-index.c
patch
|
blob
|
history
split-index.h
patch
|
blob
|
history
t/helper/test-dump-split-index.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
34caab0
)
diff --git
a/builtin/rev-parse.c
b/builtin/rev-parse.c
index 36b208778280e6019d9bc4fb4063dff3d44f08e6..55c0b904410dd4bc12420ff0cb95042d697940fe 100644
(file)
--- a/
builtin/rev-parse.c
+++ b/
builtin/rev-parse.c
@@
-887,8
+887,8
@@
int cmd_rev_parse(int argc, const char **argv, const char *prefix)
if (read_cache() < 0)
die(_("Could not read the index"));
if (the_index.split_index) {
if (read_cache() < 0)
die(_("Could not read the index"));
if (the_index.split_index) {
- const
unsigned char *sha1 = the_index.split_index->base_sha1
;
- const char *path = git_path("sharedindex.%s",
sha1_to_hex(sha1
));
+ const
struct object_id *oid = &the_index.split_index->base_oid
;
+ const char *path = git_path("sharedindex.%s",
oid_to_hex(oid
));
strbuf_reset(&buf);
puts(relative_path(path, prefix, &buf));
}
strbuf_reset(&buf);
puts(relative_path(path, prefix, &buf));
}
diff --git
a/read-cache.c
b/read-cache.c
index 10f1c6bb8a316e85448445afc3478c832d61709c..f47666b97566ed661139fe9d76e3b0b70a2f0449 100644
(file)
--- a/
read-cache.c
+++ b/
read-cache.c
@@
-1878,7
+1878,7
@@
int read_index_from(struct index_state *istate, const char *path,
uint64_t start = getnanotime();
struct split_index *split_index;
int ret;
uint64_t start = getnanotime();
struct split_index *split_index;
int ret;
- char *base_
sha1
_hex;
+ char *base_
oid
_hex;
char *base_path;
/* istate->initialized covers both .git/index and .git/sharedindex.xxx */
char *base_path;
/* istate->initialized covers both .git/index and .git/sharedindex.xxx */
@@
-1889,7
+1889,7
@@
int read_index_from(struct index_state *istate, const char *path,
trace_performance_since(start, "read cache %s", path);
split_index = istate->split_index;
trace_performance_since(start, "read cache %s", path);
split_index = istate->split_index;
- if (!split_index || is_null_
sha1(split_index->base_sha1
)) {
+ if (!split_index || is_null_
oid(&split_index->base_oid
)) {
post_read_index_from(istate);
return ret;
}
post_read_index_from(istate);
return ret;
}
@@
-1899,12
+1899,12
@@
int read_index_from(struct index_state *istate, const char *path,
else
split_index->base = xcalloc(1, sizeof(*split_index->base));
else
split_index->base = xcalloc(1, sizeof(*split_index->base));
- base_
sha1_hex = sha1_to_hex(split_index->base_sha1
);
- base_path = xstrfmt("%s/sharedindex.%s", gitdir, base_
sha1
_hex);
+ base_
oid_hex = oid_to_hex(&split_index->base_oid
);
+ base_path = xstrfmt("%s/sharedindex.%s", gitdir, base_
oid
_hex);
ret = do_read_index(split_index->base, base_path, 1);
ret = do_read_index(split_index->base, base_path, 1);
- if (hashcmp(split_index->base_
sha1
, split_index->base->sha1))
+ if (hashcmp(split_index->base_
oid.hash
, split_index->base->sha1))
die("broken index, expect %s in %s, got %s",
die("broken index, expect %s in %s, got %s",
- base_
sha1
_hex, base_path,
+ base_
oid
_hex, base_path,
sha1_to_hex(split_index->base->sha1));
freshen_shared_index(base_path, 0);
sha1_to_hex(split_index->base->sha1));
freshen_shared_index(base_path, 0);
@@
-2499,7
+2499,7
@@
static int write_shared_index(struct index_state *istate,
ret = rename_tempfile(temp,
git_path("sharedindex.%s", sha1_to_hex(si->base->sha1)));
if (!ret) {
ret = rename_tempfile(temp,
git_path("sharedindex.%s", sha1_to_hex(si->base->sha1)));
if (!ret) {
- hashcpy(si->base_
sha1
, si->base->sha1);
+ hashcpy(si->base_
oid.hash
, si->base->sha1);
clean_shared_index_files(sha1_to_hex(si->base->sha1));
}
clean_shared_index_files(sha1_to_hex(si->base->sha1));
}
@@
-2554,13
+2554,13
@@
int write_locked_index(struct index_state *istate, struct lock_file *lock,
if (!si || alternate_index_output ||
(istate->cache_changed & ~EXTMASK)) {
if (si)
if (!si || alternate_index_output ||
(istate->cache_changed & ~EXTMASK)) {
if (si)
-
hashclr(si->base_sha1
);
+
oidclr(&si->base_oid
);
ret = do_write_locked_index(istate, lock, flags);
goto out;
}
if (getenv("GIT_TEST_SPLIT_INDEX")) {
ret = do_write_locked_index(istate, lock, flags);
goto out;
}
if (getenv("GIT_TEST_SPLIT_INDEX")) {
- int v = si->base_
sha1
[0];
+ int v = si->base_
oid.hash
[0];
if ((v & 15) < 6)
istate->cache_changed |= SPLIT_INDEX_ORDERED;
}
if ((v & 15) < 6)
istate->cache_changed |= SPLIT_INDEX_ORDERED;
}
@@
-2575,7
+2575,7
@@
int write_locked_index(struct index_state *istate, struct lock_file *lock,
temp = mks_tempfile(git_path("sharedindex_XXXXXX"));
if (!temp) {
temp = mks_tempfile(git_path("sharedindex_XXXXXX"));
if (!temp) {
-
hashclr(si->base_sha1
);
+
oidclr(&si->base_oid
);
ret = do_write_locked_index(istate, lock, flags);
goto out;
}
ret = do_write_locked_index(istate, lock, flags);
goto out;
}
@@
-2595,7
+2595,7
@@
int write_locked_index(struct index_state *istate, struct lock_file *lock,
/* Freshen the shared index only if the split-index was written */
if (!ret && !new_shared_index) {
const char *shared_index = git_path("sharedindex.%s",
/* Freshen the shared index only if the split-index was written */
if (!ret && !new_shared_index) {
const char *shared_index = git_path("sharedindex.%s",
-
sha1_to_hex(si->base_sha1
));
+
oid_to_hex(&si->base_oid
));
freshen_shared_index(shared_index, 1);
}
freshen_shared_index(shared_index, 1);
}
diff --git
a/split-index.c
b/split-index.c
index 3eb8ff1b43db284bddac643c270e2148114c4bbf..660c75f31fb970af06af3aad48b4ecc57e8cc136 100644
(file)
--- a/
split-index.c
+++ b/
split-index.c
@@
-18,12
+18,12
@@
int read_link_extension(struct index_state *istate,
struct split_index *si;
int ret;
struct split_index *si;
int ret;
- if (sz <
20
)
+ if (sz <
the_hash_algo->rawsz
)
return error("corrupt link extension (too short)");
si = init_split_index(istate);
return error("corrupt link extension (too short)");
si = init_split_index(istate);
- hashcpy(si->base_
sha1
, data);
- data +=
20
;
- sz -=
20
;
+ hashcpy(si->base_
oid.hash
, data);
+ data +=
the_hash_algo->rawsz
;
+ sz -=
the_hash_algo->rawsz
;
if (!sz)
return 0;
si->delete_bitmap = ewah_new();
if (!sz)
return 0;
si->delete_bitmap = ewah_new();
@@
-45,7
+45,7
@@
int write_link_extension(struct strbuf *sb,
struct index_state *istate)
{
struct split_index *si = istate->split_index;
struct index_state *istate)
{
struct split_index *si = istate->split_index;
- strbuf_add(sb, si->base_
sha1, 20
);
+ strbuf_add(sb, si->base_
oid.hash, the_hash_algo->rawsz
);
if (!si->delete_bitmap && !si->replace_bitmap)
return 0;
ewah_serialize_strbuf(si->delete_bitmap, sb);
if (!si->delete_bitmap && !si->replace_bitmap)
return 0;
ewah_serialize_strbuf(si->delete_bitmap, sb);
diff --git
a/split-index.h
b/split-index.h
index 43d66826eb712b9a9b6872458527266bd9818146..7a435ca2c970111b40ac9edba65726e79bd7941d 100644
(file)
--- a/
split-index.h
+++ b/
split-index.h
@@
-1,12
+1,14
@@
#ifndef SPLIT_INDEX_H
#define SPLIT_INDEX_H
#ifndef SPLIT_INDEX_H
#define SPLIT_INDEX_H
+#include "cache.h"
+
struct index_state;
struct strbuf;
struct ewah_bitmap;
struct split_index {
struct index_state;
struct strbuf;
struct ewah_bitmap;
struct split_index {
-
unsigned char base_sha1[20]
;
+
struct object_id base_oid
;
struct index_state *base;
struct ewah_bitmap *delete_bitmap;
struct ewah_bitmap *replace_bitmap;
struct index_state *base;
struct ewah_bitmap *delete_bitmap;
struct ewah_bitmap *replace_bitmap;
diff --git
a/t/helper/test-dump-split-index.c
b/t/helper/test-dump-split-index.c
index 4e2fdb5e30d1ae30b1f75b7e3ca636afa4c0e097..754e9bb6244e316b38fc6119329c880373ab1901 100644
(file)
--- a/
t/helper/test-dump-split-index.c
+++ b/
t/helper/test-dump-split-index.c
@@
-20,7
+20,7
@@
int cmd__dump_split_index(int ac, const char **av)
printf("not a split index\n");
return 0;
}
printf("not a split index\n");
return 0;
}
- printf("base %s\n",
sha1_to_hex(si->base_sha1
));
+ printf("base %s\n",
oid_to_hex(&si->base_oid
));
for (i = 0; i < the_index.cache_nr; i++) {
struct cache_entry *ce = the_index.cache[i];
printf("%06o %s %d\t%s\n", ce->ce_mode,
for (i = 0; i < the_index.cache_nr; i++) {
struct cache_entry *ce = the_index.cache[i];
printf("%06o %s %d\t%s\n", ce->ce_mode,