From: Michael Haggerty <mhagger@alum.mit.edu>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Stefan Beller" <sbeller@google.com>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"David Turner" <novalis@novalis.org>, "Jeff King" <peff@peff.net>,
git@vger.kernel.org, "Michael Haggerty" <mhagger@alum.mit.edu>
Subject: [PATCH v2 8/9] files_ref_store::submodule: use NULL for the main repository
Date: Fri, 10 Feb 2017 12:16:18 +0100 [thread overview]
Message-ID: <a7d07a3b3374e399e0ac04b57802d247ad05a9cb.1486724698.git.mhagger@alum.mit.edu> (raw)
In-Reply-To: <cover.1486724698.git.mhagger@alum.mit.edu>
The old practice of storing the empty string in this member for the main
repository was a holdover from before 00eebe3 (refs: create a base class
"ref_store" for files_ref_store, 2016-09-04), when the submodule was
stored in a flex array at the end of `struct files_ref_store`. Storing
NULL for this case is more idiomatic and a tiny bit less code.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
---
refs/files-backend.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/refs/files-backend.c b/refs/files-backend.c
index c9d2d28..4fe92f0 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -915,8 +915,8 @@ struct files_ref_store {
/*
* The name of the submodule represented by this object, or
- * the empty string if it represents the main repository's
- * reference store:
+ * NULL if it represents the main repository's reference
+ * store:
*/
const char *submodule;
@@ -982,7 +982,7 @@ static struct ref_store *files_ref_store_create(const char *submodule)
base_ref_store_init(ref_store, &refs_be_files);
- refs->submodule = submodule ? xstrdup(submodule) : "";
+ refs->submodule = xstrdup_or_null(submodule);
return ref_store;
}
@@ -994,7 +994,7 @@ static struct ref_store *files_ref_store_create(const char *submodule)
static void files_assert_main_repository(struct files_ref_store *refs,
const char *caller)
{
- if (*refs->submodule)
+ if (refs->submodule)
die("BUG: %s called for a submodule", caller);
}
@@ -1158,7 +1158,7 @@ static struct packed_ref_cache *get_packed_ref_cache(struct files_ref_store *ref
{
char *packed_refs_file;
- if (*refs->submodule)
+ if (refs->submodule)
packed_refs_file = git_pathdup_submodule(refs->submodule,
"packed-refs");
else
@@ -1228,7 +1228,7 @@ static void read_loose_refs(const char *dirname, struct ref_dir *dir)
size_t path_baselen;
int err = 0;
- if (*refs->submodule)
+ if (refs->submodule)
err = strbuf_git_path_submodule(&path, refs->submodule, "%s", dirname);
else
strbuf_git_path(&path, "%s", dirname);
@@ -1269,7 +1269,7 @@ static void read_loose_refs(const char *dirname, struct ref_dir *dir)
} else {
int read_ok;
- if (*refs->submodule) {
+ if (refs->submodule) {
hashclr(sha1);
flag = 0;
read_ok = !resolve_gitlink_ref(refs->submodule,
@@ -1383,7 +1383,7 @@ static int files_read_raw_ref(struct ref_store *ref_store,
*type = 0;
strbuf_reset(&sb_path);
- if (*refs->submodule)
+ if (refs->submodule)
strbuf_git_path_submodule(&sb_path, refs->submodule, "%s", refname);
else
strbuf_git_path(&sb_path, "%s", refname);
--
2.9.3
next prev parent reply other threads:[~2017-02-10 11:16 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-10 11:16 [PATCH v2 0/9] Store submodules in a hash, not a linked list Michael Haggerty
2017-02-10 11:16 ` [PATCH v2 1/9] refs: reorder some function definitions Michael Haggerty
2017-02-10 19:14 ` Junio C Hamano
2017-02-10 11:16 ` [PATCH v2 2/9] refs: make some ref_store lookup functions private Michael Haggerty
2017-02-10 11:16 ` [PATCH v2 3/9] refs: remove some unnecessary handling of submodule == "" Michael Haggerty
2017-02-10 11:16 ` [PATCH v2 4/9] register_ref_store(): new function Michael Haggerty
2017-02-10 11:16 ` [PATCH v2 5/9] refs: store submodule ref stores in a hashmap Michael Haggerty
2017-02-10 11:16 ` [PATCH v2 6/9] refs: push the submodule attribute down Michael Haggerty
2017-02-10 11:16 ` [PATCH v2 7/9] base_ref_store_init(): remove submodule argument Michael Haggerty
2017-02-10 11:16 ` Michael Haggerty [this message]
2017-02-10 11:16 ` [PATCH v2 9/9] read_loose_refs(): read refs using resolve_ref_recursively() Michael Haggerty
2017-02-10 19:22 ` Junio C Hamano
2017-02-13 6:40 ` Michael Haggerty
2017-02-13 23:18 ` Junio C Hamano
2017-02-10 15:56 ` [PATCH v2 0/9] Store submodules in a hash, not a linked list Jeff King
2017-02-10 16:44 ` Stefan Beller
2017-02-10 19:23 ` Junio C Hamano
2017-02-13 3:09 ` David Turner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a7d07a3b3374e399e0ac04b57802d247ad05a9cb.1486724698.git.mhagger@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=novalis@novalis.org \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=sbeller@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).