提交 927936d7 编写于 作者: J Junio C Hamano

Merge branch 'jk/cleanup-failed-clone'

An failure early in the "git clone" that started creating the
working tree and repository could have resulted in some directories
and files left without getting cleaned up.

* jk/cleanup-failed-clone:
  clone: drop period from end of die_errno message
  clone: initialize atexit cleanup handler earlier
...@@ -842,20 +842,21 @@ int cmd_clone(int argc, const char **argv, const char *prefix) ...@@ -842,20 +842,21 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
git_dir = mkpathdup("%s/.git", dir); git_dir = mkpathdup("%s/.git", dir);
} }
atexit(remove_junk);
sigchain_push_common(remove_junk_on_signal);
if (!option_bare) { if (!option_bare) {
junk_work_tree = work_tree;
if (safe_create_leading_directories_const(work_tree) < 0) if (safe_create_leading_directories_const(work_tree) < 0)
die_errno(_("could not create leading directories of '%s'"), die_errno(_("could not create leading directories of '%s'"),
work_tree); work_tree);
if (!dest_exists && mkdir(work_tree, 0777)) 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); work_tree);
junk_work_tree = work_tree;
set_git_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) if (safe_create_leading_directories_const(git_dir) < 0)
die(_("could not create leading directories of '%s'"), git_dir); die(_("could not create leading directories of '%s'"), git_dir);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册