From e67c091cc64fa368eb9a853273e3d2f7cd6381c4 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: May 22 2021 00:04:15 +0000 Subject: update to 2.32.0-rc0 Release notes: https://github.com/git/git/raw/v2.32.0-rc0/Documentation/RelNotes/2.32.0.txt --- diff --git a/0001-builtin-init-db-handle-bare-clones-when-core.bare-se.patch b/0001-builtin-init-db-handle-bare-clones-when-core.bare-se.patch deleted file mode 100644 index b8bc81b..0000000 --- a/0001-builtin-init-db-handle-bare-clones-when-core.bare-se.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 7fc363e4e64f095553e1a1ceed27caef3a33effd Mon Sep 17 00:00:00 2001 -From: "brian m. carlson" -Date: Wed, 10 Mar 2021 01:11:20 +0000 -Subject: [PATCH] builtin/init-db: handle bare clones when core.bare set to - false - -In 552955ed7f ("clone: use more conventional config/option layering", -2020-10-01), clone learned to read configuration options earlier in its -execution, before creating the new repository. However, that led to a -problem: if the core.bare setting is set to false in the global config, -cloning a bare repository segfaults. This happens because the -repository is falsely thought to be non-bare, but clone has set the work -tree to NULL, which is then dereferenced. - -The code to initialize the repository already considers the fact that a -user might want to override the --bare option for git init, but it -doesn't take into account clone, which uses a different option. Let's -just check that the work tree is not NULL, since that's how clone -indicates that the repository is bare. This is also the case for git -init, so we won't be regressing that case. - -Reported-by: Joseph Vusich -Signed-off-by: brian m. carlson -Signed-off-by: Junio C Hamano -(cherry picked from commit 75555676ad3908b0f847a9ae154c35e12114c82f) ---- - builtin/init-db.c | 4 ++-- - t/t5606-clone-options.sh | 8 ++++++++ - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/builtin/init-db.c b/builtin/init-db.c -index dcc45bef51..f82efe4aff 100644 ---- a/builtin/init-db.c -+++ b/builtin/init-db.c -@@ -212,6 +212,7 @@ static int create_default_files(const char *template_path, - int reinit; - int filemode; - struct strbuf err = STRBUF_INIT; -+ const char *work_tree = get_git_work_tree(); - - /* Just look for `init.templatedir` */ - init_db_template_dir = NULL; /* re-set in case it was set before */ -@@ -235,7 +236,7 @@ static int create_default_files(const char *template_path, - * We must make sure command-line options continue to override any - * values we might have just re-read from the config. - */ -- is_bare_repository_cfg = init_is_bare_repository; -+ is_bare_repository_cfg = init_is_bare_repository || !work_tree; - if (init_shared_repository != -1) - set_shared_repository(init_shared_repository); - -@@ -299,7 +300,6 @@ static int create_default_files(const char *template_path, - if (is_bare_repository()) - git_config_set("core.bare", "true"); - else { -- const char *work_tree = get_git_work_tree(); - git_config_set("core.bare", "false"); - /* allow template config file to override the default */ - if (log_all_ref_updates == LOG_REFS_UNSET) -diff --git a/t/t5606-clone-options.sh b/t/t5606-clone-options.sh -index 1da6ddb2c5..428b0aac93 100755 ---- a/t/t5606-clone-options.sh -+++ b/t/t5606-clone-options.sh -@@ -104,6 +104,14 @@ test_expect_success 'redirected clone -v does show progress' ' - - ' - -+test_expect_success 'clone does not segfault with --bare and core.bare=false' ' -+ test_config_global core.bare false && -+ git clone --bare parent clone-bare && -+ echo true >expect && -+ git -C clone-bare rev-parse --is-bare-repository >actual && -+ test_cmp expect actual -+' -+ - test_expect_success 'chooses correct default initial branch name' ' - GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= \ - git -c init.defaultBranch=foo init --bare empty && --- -2.31.1 - diff --git a/git.spec b/git.spec index 0addff1..40026a5 100644 --- a/git.spec +++ b/git.spec @@ -76,11 +76,11 @@ %endif # Define for release candidates -#global rcrev .rc0 +%global rcrev .rc0 Name: git -Version: 2.31.1 -Release: 3%{?rcrev}%{?dist}.1 +Version: 2.32.0 +Release: 0.0%{?rcrev}%{?dist} Summary: Fast Version Control System License: GPLv2 URL: https://git-scm.com/ @@ -112,11 +112,6 @@ Source99: print-failed-test-output # https://bugzilla.redhat.com/490602 Patch0: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch -# https://bugzilla.redhat.com/1952030 -# https://lore.kernel.org/git/D99DD9AD-54E5-4357-BA50-8B9CAE23084E@amazon.com/ -# https://github.com/git/git/commit/75555676ad -Patch1: 0001-builtin-init-db-handle-bare-clones-when-core.bare-se.patch - %if %{with docs} # pod2man is needed to build Git.3pm BuildRequires: %{_bindir}/pod2man @@ -991,6 +986,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" * Fri May 21 2021 Jitka Plesnikova - 2.31.1-3.1 - Perl 5.34 rebuild +* Mon May 17 2021 Todd Zullinger - 2.32.0-0.0.rc0 +- update to 2.32.0-rc0 + * Sun May 16 2021 Todd Zullinger - clean up various dist conditionals diff --git a/sources b/sources index c9311bd..7269c5b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.31.1.tar.xz) = 9aa334a3e8519700ff5d112153ec42677722980094caa9d22aa91afdb65166bd9a98fa445c0d327c428ebfa73bf4832e9b3836109a1d9319feafe3191cfd170e -SHA512 (git-2.31.1.tar.sign) = 0a721876f9869d1dc9a43e7f83f8e63a3d8fa932ff2d2e69bb98f3e314e2e9a896c2171cb6a020d6c6e929fdf1af736dbeb3f25f93fb4d359a9aaa5b859069c3 +SHA512 (git-2.32.0.rc0.tar.xz) = f75fda443e3640eff21c7be57726e08360141191ac9ffc2f456574e19e4c2cc20403fb32bf45034c03b519f1a385e152e603cf08c6da622f05593b2c4444206f +SHA512 (git-2.32.0.rc0.tar.sign) = 3ab67290db6ac93f51156f811003c7940ac36bd27b5a296909746752e195569ebecaf45eaa848e47653328ab7726e150bbdf54d300175e9c66f2245570b04f2a