From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.8 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by dcvr.yhbt.net (Postfix) with ESMTP id E1AFD211B4 for ; Sat, 12 Jan 2019 02:14:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726538AbfALCOg (ORCPT ); Fri, 11 Jan 2019 21:14:36 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:39172 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726227AbfALCOf (ORCPT ); Fri, 11 Jan 2019 21:14:35 -0500 Received: by mail-pl1-f193.google.com with SMTP id 101so7556530pld.6 for ; Fri, 11 Jan 2019 18:14:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xvdLB+Z5/iqk20+hGYzG59Nfti3A3Kx2642F9073+sE=; b=PakxKkEblucLtksKOK6VVOhpcf7B2fG9HNsQg+YNCAygwViqBDChu0xYcguFCzuSVg ukuUHQXf97ayoHZVtVneSN7Q0Kztwsi6KTi3Z8DjJA//6JdG8AR4ptG6SBTvh8brYzd/ 8305rs0YhI3+BZAze8uHYvb5rhura5fjnr4nZkzCHsQb/jDu1pyaXROV+BSBf0WfVl8y OlPDkQny17qSjIu062zjz4LbtBQ4TZubhdJWNDQmA6tgB7ZKBZ+vjgHEerDPWuMlHDTc 5tL1GF1C2O9kqahwFHN+tl78YWRjfM40C/TpJ7sZORwb77RA6AzoH3o8rk4XNe9OYhD1 kKsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xvdLB+Z5/iqk20+hGYzG59Nfti3A3Kx2642F9073+sE=; b=Fq0pjQEV9rNjxbWVTSoWCmQVrGrBkE592ufk9ufn18XtSrqdAFgmkJg5s+JjUmrUOl 2HT30M/FEEOAMA9alW7eTqFmzDHaSzUTRVbDoS5JTFJgQ+jPDpXd3efRBu6X1Gx0ciJO YXPPFMJsC+MLFlWwl0LgtUoq2vx6FRcfjamSqMcFxwskmZIn87m6nL2AbOzsk4EQ2vLb xJnwP/Bsha/5NrMn9CmdqnKBcfPbX9fay2illqWJ1rs5is6qOTl63gbj4udd5Npd41Ws cJfJgXwrZDLrO23297fAhLV9IcDndq+LYHxTJEquyKa84bF25+XGcYcVioaKHFoUq9Lj Hp/w== X-Gm-Message-State: AJcUukdzzeCZ8Ak8GkRWMPndqL6RIq5aRyuDKNEvp0FODcmP/xhyP2VF mymCraQYCyWCIGe2Qrr6ZusMYBKF X-Google-Smtp-Source: ALg8bN52sn56HXCTxLs5eOpwn9DMBMglVPk/n+4f+bpcnoggpSPDoOXbaC73wlBZ064HUj/BJLDGZA== X-Received: by 2002:a17:902:f01:: with SMTP id 1mr16444040ply.143.1547259274816; Fri, 11 Jan 2019 18:14:34 -0800 (PST) Received: from ash ([115.72.21.220]) by smtp.gmail.com with ESMTPSA id 6sm166388781pfv.30.2019.01.11.18.14.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 18:14:34 -0800 (PST) Received: by ash (sSMTP sendmail emulation); Sat, 12 Jan 2019 09:14:30 +0700 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= To: git@vger.kernel.org Cc: =?UTF-8?q?Martin=20=C3=85gren?= , =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Subject: [PATCH v2 06/11] read-cache.c: replace update_index_if_able with repo_& Date: Sat, 12 Jan 2019 09:13:27 +0700 Message-Id: <20190112021332.11066-7-pclouds@gmail.com> X-Mailer: git-send-email 2.20.0.482.g66447595a7 In-Reply-To: <20190112021332.11066-1-pclouds@gmail.com> References: <20190105055153.3256-1-pclouds@gmail.com> <20190112021332.11066-1-pclouds@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Signed-off-by: Nguyễn Thái Ngọc Duy --- builtin/commit.c | 2 +- builtin/describe.c | 2 +- builtin/diff.c | 2 +- builtin/rebase.c | 5 ++--- cache.h | 6 ------ read-cache.c | 14 ++++++++------ repository.h | 6 ++++++ wt-status.c | 2 +- 8 files changed, 20 insertions(+), 19 deletions(-) diff --git a/builtin/commit.c b/builtin/commit.c index 19eb6cff86..d3f1234bf0 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1396,7 +1396,7 @@ int cmd_status(int argc, const char **argv, const char *prefix) wt_status_collect(&s); if (0 <= fd) - update_index_if_able(&the_index, &index_lock); + repo_update_index_if_able(the_repository, &index_lock); if (s.relative_paths) s.prefix = prefix; diff --git a/builtin/describe.c b/builtin/describe.c index cc118448ee..bc97e50650 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -634,7 +634,7 @@ int cmd_describe(int argc, const char **argv, const char *prefix) NULL, NULL, NULL); fd = hold_locked_index(&index_lock, 0); if (0 <= fd) - update_index_if_able(&the_index, &index_lock); + repo_update_index_if_able(the_repository, &index_lock); repo_init_revisions(the_repository, &revs, prefix); argv_array_pushv(&args, diff_index_args); diff --git a/builtin/diff.c b/builtin/diff.c index f0393bba23..ec78920ee2 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -212,7 +212,7 @@ static void refresh_index_quietly(void) discard_cache(); read_cache(); refresh_cache(REFRESH_QUIET|REFRESH_UNMERGED); - update_index_if_able(&the_index, &lock_file); + repo_update_index_if_able(the_repository, &lock_file); } static int builtin_diff_files(struct rev_info *revs, int argc, const char **argv) diff --git a/builtin/rebase.c b/builtin/rebase.c index ce5f5b5a17..7124e66d00 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -1020,8 +1020,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) refresh_index(the_repository->index, REFRESH_QUIET, NULL, NULL, NULL); if (0 <= fd) - update_index_if_able(the_repository->index, - &lock_file); + repo_update_index_if_able(the_repository, &lock_file); rollback_lock_file(&lock_file); if (has_unstaged_changes(the_repository, 1)) { @@ -1378,7 +1377,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) fd = hold_locked_index(&lock_file, 0); refresh_cache(REFRESH_QUIET); if (0 <= fd) - update_index_if_able(&the_index, &lock_file); + repo_update_index_if_able(the_repository, &lock_file); rollback_lock_file(&lock_file); if (has_unstaged_changes(the_repository, 1) || diff --git a/cache.h b/cache.h index 3715808f52..702c5bfbb3 100644 --- a/cache.h +++ b/cache.h @@ -823,12 +823,6 @@ extern void fill_stat_cache_info(struct cache_entry *ce, struct stat *st); extern int refresh_index(struct index_state *, unsigned int flags, const struct pathspec *pathspec, char *seen, const char *header_msg); extern struct cache_entry *refresh_cache_entry(struct index_state *, struct cache_entry *, unsigned int); -/* - * Opportunistically update the index but do not complain if we can't. - * The lockfile is always committed or rolled back. - */ -extern void update_index_if_able(struct index_state *, struct lock_file *); - extern void set_alternate_index_output(const char *); extern int verify_index_checksum; diff --git a/read-cache.c b/read-cache.c index afbf976107..61cc0571da 100644 --- a/read-cache.c +++ b/read-cache.c @@ -2654,9 +2654,9 @@ static int verify_index_from(const struct index_state *istate, const char *path) return 0; } -static int verify_index(const struct index_state *istate) +static int repo_verify_index(struct repository *repo) { - return verify_index_from(istate, get_index_file()); + return verify_index_from(repo->index, repo->index_file); } static int has_racy_timestamp(struct index_state *istate) @@ -2672,11 +2672,13 @@ static int has_racy_timestamp(struct index_state *istate) return 0; } -void update_index_if_able(struct index_state *istate, struct lock_file *lockfile) +void repo_update_index_if_able(struct repository *repo, + struct lock_file *lockfile) { - if ((istate->cache_changed || has_racy_timestamp(istate)) && - verify_index(istate)) - write_locked_index(istate, lockfile, COMMIT_LOCK); + if ((repo->index->cache_changed || + has_racy_timestamp(repo->index)) && + repo_verify_index(repo)) + write_locked_index(repo->index, lockfile, COMMIT_LOCK); else rollback_lock_file(lockfile); } diff --git a/repository.h b/repository.h index cc3879add4..6fe1c089db 100644 --- a/repository.h +++ b/repository.h @@ -140,5 +140,11 @@ int repo_read_index_preload(struct repository *, const struct pathspec *pathspec, unsigned refresh_flags); int repo_read_index_unmerged(struct repository *); +/* + * Opportunistically update the index but do not complain if we can't. + * The lockfile is always committed or rolled back. + */ +void repo_update_index_if_able(struct repository *, struct lock_file *); + #endif /* REPOSITORY_H */ diff --git a/wt-status.c b/wt-status.c index becf78b04f..1f564b12d2 100644 --- a/wt-status.c +++ b/wt-status.c @@ -2378,7 +2378,7 @@ int require_clean_work_tree(struct repository *r, fd = repo_hold_locked_index(r, &lock_file, 0); refresh_index(r->index, REFRESH_QUIET, NULL, NULL, NULL); if (0 <= fd) - update_index_if_able(r->index, &lock_file); + repo_update_index_if_able(r, &lock_file); rollback_lock_file(&lock_file); if (has_unstaged_changes(r, ignore_submodules)) { -- 2.20.0.482.g66447595a7