Re: [PATCH v2] clone/fetch: anonymize URLs in the reflog
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 4, 2020, 20:30 UTC
- Message-ID
- <xmqqy2p2o9pw.fsf@gitster.c.googlers.com>
- In-Reply-To
- <pull.797.v2.git.git.1591301309308.gitgitgadget@gmail.com>
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 36 quoted lines
> diff --git a/builtin/clone.c b/builtin/clone.c
> index 1ad26f4d8c8..002d23ab0a2 100644
> --- a/builtin/clone.c
> +++ b/builtin/clone.c
> @@ -939,7 +939,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
> {
> int is_bundle = 0, is_local;
> const char *repo_name, *repo, *work_tree, *git_dir;
> - char *path, *dir;
> + char *path, *dir, *display_repo = NULL;
> int dest_exists;
> const struct ref *refs, *remote_head;
> const struct ref *remote_head_points_at;
> @@ -994,10 +994,11 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
> path = get_repo_path(repo_name, &is_bundle);
> if (path)
> repo = absolute_pathdup(repo_name);
> - else if (!strchr(repo_name, ':'))
> - die(_("repository '%s' does not exist"), repo_name);
> - else
> + else if (strchr(repo_name, ':')) {
> repo = repo_name;
> + display_repo = transport_anonymize_url(repo);
> + } else
> + die(_("repository '%s' does not exist"), repo_name);
>
> /* no need to be strict, transport_set_option() will validate it again */
> if (option_depth && atoi(option_depth) < 1)
> @@ -1014,7 +1015,9 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
> die(_("destination path '%s' already exists and is not "
> "an empty directory."), dir);
>
> - strbuf_addf(&reflog_msg, "clone: from %s", repo);
> + strbuf_addf(&reflog_msg, "clone: from %s",
> + display_repo ? display_repo : repo);
> + free(display_repo);The new patch is easier to see because display_repo becomes non NULL only when anonymization was necessary and done. Makes sense.
Will queue. Thanks.