]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'rs/hashwrite-be64'
authorJunio C Hamano <gitster@pobox.com>
Wed, 25 Nov 2020 23:24:52 +0000 (15:24 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Nov 2020 23:24:52 +0000 (15:24 -0800)
Code simplification.

* rs/hashwrite-be64:
  pack-write: use hashwrite_be64()
  midx: use hashwrite_be64()
  csum-file: add hashwrite_be64()

1  2 
midx.c
pack-write.c

diff --combined midx.c
index d233b54ac71a0a81fea31ab0286025802a3ed240,f56321dc8ceaa74c21d13316736ab9cc5b2ee11a..da03c1449aa119b03a34605b72056b8727318eb6
--- 1/midx.c
--- 2/midx.c
+++ b/midx.c
@@@ -10,7 -10,6 +10,7 @@@
  #include "progress.h"
  #include "trace2.h"
  #include "run-command.h"
 +#include "repository.h"
  
  #define MIDX_SIGNATURE 0x4d494458 /* "MIDX" */
  #define MIDX_VERSION 1
@@@ -399,9 -398,15 +399,9 @@@ int prepare_multi_pack_index_one(struc
  {
        struct multi_pack_index *m;
        struct multi_pack_index *m_search;
 -      int config_value;
 -      static int env_value = -1;
  
 -      if (env_value < 0)
 -              env_value = git_env_bool(GIT_TEST_MULTI_PACK_INDEX, 0);
 -
 -      if (!env_value &&
 -          (repo_config_get_bool(r, "core.multipackindex", &config_value) ||
 -          !config_value))
 +      prepare_repo_settings(r);
 +      if (!r->settings.core_multi_pack_index)
                return 0;
  
        for (m_search = r->objects->multi_pack_index; m_search; m_search = m_search->next)
@@@ -785,9 -790,7 +785,7 @@@ static size_t write_midx_large_offsets(
                if (!(offset >> 31))
                        continue;
  
-               hashwrite_be32(f, offset >> 32);
-               hashwrite_be32(f, offset & 0xffffffffUL);
-               written += 2 * sizeof(uint32_t);
+               written += hashwrite_be64(f, offset);
  
                nr_large_offset--;
        }
@@@ -845,7 -848,7 +843,7 @@@ static int write_midx_internal(const ch
  
        packs.pack_paths_checked = 0;
        if (flags & MIDX_PROGRESS)
 -              packs.progress = start_progress(_("Adding packfiles to multi-pack-index"), 0);
 +              packs.progress = start_delayed_progress(_("Adding packfiles to multi-pack-index"), 0);
        else
                packs.progress = NULL;
  
                            chunk_offsets[i]);
  
                hashwrite_be32(f, chunk_ids[i]);
-               hashwrite_be32(f, chunk_offsets[i] >> 32);
-               hashwrite_be32(f, chunk_offsets[i]);
+               hashwrite_be64(f, chunk_offsets[i]);
  
                written += MIDX_CHUNKLOOKUP_WIDTH;
        }
  
        if (flags & MIDX_PROGRESS)
 -              progress = start_progress(_("Writing chunks to multi-pack-index"),
 +              progress = start_delayed_progress(_("Writing chunks to multi-pack-index"),
                                          num_chunks);
        for (i = 0; i < num_chunks; i++) {
                if (written != chunk_offsets[i])
@@@ -1124,7 -1126,7 +1121,7 @@@ int verify_midx_file(struct repository 
        }
  
        if (flags & MIDX_PROGRESS)
 -              progress = start_progress(_("Looking for referenced packfiles"),
 +              progress = start_delayed_progress(_("Looking for referenced packfiles"),
                                          m->num_packs);
        for (i = 0; i < m->num_packs; i++) {
                if (prepare_midx_pack(r, m, i))
@@@ -1245,7 -1247,7 +1242,7 @@@ int expire_midx_packs(struct repositor
        count = xcalloc(m->num_packs, sizeof(uint32_t));
  
        if (flags & MIDX_PROGRESS)
 -              progress = start_progress(_("Counting referenced objects"),
 +              progress = start_delayed_progress(_("Counting referenced objects"),
                                          m->num_objects);
        for (i = 0; i < m->num_objects; i++) {
                int pack_int_id = nth_midxed_pack_int_id(m, i);
        stop_progress(&progress);
  
        if (flags & MIDX_PROGRESS)
 -              progress = start_progress(_("Finding and deleting unreferenced packfiles"),
 +              progress = start_delayed_progress(_("Finding and deleting unreferenced packfiles"),
                                          m->num_packs);
        for (i = 0; i < m->num_packs; i++) {
                char *pack_name;
diff --combined pack-write.c
index 23e19cc1ecb2ed43f2559e45541f24c76ccde6f6,4bdd44cf7359e47a78f32bf75be1711fdcc632c9..3513665e1e1be606dd116370fefbbb2a0d781245
@@@ -48,6 -48,7 +48,6 @@@ const char *write_idx_file(const char *
        struct hashfile *f;
        struct pack_idx_entry **sorted_by_sha, **list, **last;
        off_t last_obj_offset = 0;
 -      uint32_t array[256];
        int i, fd;
        uint32_t index_version;
  
                                break;
                        next++;
                }
 -              array[i] = htonl(next - sorted_by_sha);
 +              hashwrite_be32(f, next - sorted_by_sha);
                list = next;
        }
 -      hashwrite(f, array, 256 * 4);
  
        /*
         * Write the actual SHA1 entries..
                while (nr_large_offset) {
                        struct pack_idx_entry *obj = *list++;
                        uint64_t offset = obj->offset;
-                       uint32_t split[2];
  
                        if (!need_large_offset(offset, opts))
                                continue;
-                       split[0] = htonl(offset >> 32);
-                       split[1] = htonl(offset & 0xffffffff);
-                       hashwrite(f, split, 8);
+                       hashwrite_be64(f, offset);
                        nr_large_offset--;
                }
        }