diff options
| author | Patrick Steinhardt <ps@pks.im> | 2023-12-12 08:01:03 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-12-12 11:16:54 -0800 |
| commit | 3c8f60c6416bdfcc690ff5d56d80350a89ed92b5 (patch) | |
| tree | 1236ebedb4e2e449a7924b0f153f21ebe41d8077 /remote.h | |
| parent | 360822a3471f779c761694b11f30ff738c6851e9 (diff) | |
| download | git-3c8f60c6416bdfcc690ff5d56d80350a89ed92b5.tar.xz | |
builtin/clone: skip reading HEAD when retrieving remote
After we have set up the remote configuration in git-clone(1) we'll call
`remote_get()` to read the remote from the on-disk configuration. But
next to reading the on-disk configuration, `remote_get()` will also
cause us to try and read the repository's HEAD reference so that we can
figure out the current branch. Besides being pointless in git-clone(1)
because we're operating in an empty repository anyway, this will also
break once we move creation of the reference database to a later point
in time.
Refactor the code to introduce a new `remote_get_early()` function that
will skip reading the HEAD reference to address this issue.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote.h')
| -rw-r--r-- | remote.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -118,6 +118,7 @@ struct remote { * and configuration. */ struct remote *remote_get(const char *name); +struct remote *remote_get_early(const char *name); struct remote *pushremote_get(const char *name); int remote_is_configured(struct remote *remote, int in_repo); |
