From: Junio C Hamano Date: Fri, 22 May 2015 19:41:56 +0000 (-0700) Subject: Merge branch 'mh/clone-verbosity-fix' X-Git-Tag: v2.5.0-rc0~84 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/5bf66689d5a4ddc4ce7b3b88a15f6bcf6a0c13fa?ds=inline;hp=-c Merge branch 'mh/clone-verbosity-fix' Git 2.4 broke setting verbosity and progress levels on "git clone" with native transports. * mh/clone-verbosity-fix: clone: call transport_set_verbosity before anything else on the newly created transport --- 5bf66689d5a4ddc4ce7b3b88a15f6bcf6a0c13fa diff --combined builtin/clone.c index 166a645e2d,f6a60b9d17..b878252bc2 --- a/builtin/clone.c +++ b/builtin/clone.c @@@ -34,7 -34,7 +34,7 @@@ * */ static const char * const builtin_clone_usage[] = { - N_("git clone [options] [--] []"), + N_("git clone [] [--] []"), NULL }; @@@ -293,17 -293,16 +293,17 @@@ static void copy_alternates(struct strb struct strbuf line = STRBUF_INIT; while (strbuf_getline(&line, in, '\n') != EOF) { - char *abs_path, abs_buf[PATH_MAX]; + char *abs_path; if (!line.len || line.buf[0] == '#') continue; if (is_absolute_path(line.buf)) { add_to_alternates_file(line.buf); continue; } - abs_path = mkpath("%s/objects/%s", src_repo, line.buf); - normalize_path_copy(abs_buf, abs_path); - add_to_alternates_file(abs_buf); + abs_path = mkpathdup("%s/objects/%s", src_repo, line.buf); + normalize_path_copy(abs_path, abs_path); + add_to_alternates_file(abs_path); + free(abs_path); } strbuf_release(&line); fclose(in); @@@ -843,21 -842,20 +843,21 @@@ int cmd_clone(int argc, const char **ar git_dir = mkpathdup("%s/.git", dir); } + atexit(remove_junk); + sigchain_push_common(remove_junk_on_signal); + if (!option_bare) { - junk_work_tree = work_tree; if (safe_create_leading_directories_const(work_tree) < 0) die_errno(_("could not create leading directories of '%s'"), work_tree); if (!dest_exists && mkdir(work_tree, 0777)) - die_errno(_("could not create work tree dir '%s'."), + die_errno(_("could not create work tree dir '%s'"), work_tree); + junk_work_tree = work_tree; set_git_work_tree(work_tree); } - junk_git_dir = git_dir; - atexit(remove_junk); - sigchain_push_common(remove_junk_on_signal); + junk_git_dir = git_dir; if (safe_create_leading_directories_const(git_dir) < 0) die(_("could not create leading directories of '%s'"), git_dir); @@@ -907,6 -905,8 +907,8 @@@ remote = remote_get(option_origin); transport = transport_get(remote, remote->url[0]); + transport_set_verbosity(transport, option_verbosity, option_progress); + path = get_repo_path(remote->url[0], &is_bundle); is_local = option_local != 0 && path && !is_bundle; if (is_local) { @@@ -933,8 -933,6 +935,6 @@@ if (option_single_branch) transport_set_option(transport, TRANS_OPT_FOLLOWTAGS, "1"); - transport_set_verbosity(transport, option_verbosity, option_progress); - if (option_upload_pack) transport_set_option(transport, TRANS_OPT_UPLOADPACK, option_upload_pack);