update to 2.35.0
Release notes: https://github.com/git/git/raw/v2.35.0/Documentation/RelNotes/2.35.0.txt
This commit is contained in:
parent
32a3ec7045
commit
4eb061b209
@ -1,74 +0,0 @@
|
||||
From 519947b69a9ea1461d5f5afc762823835295b3b2 Mon Sep 17 00:00:00 2001
|
||||
From: Junio C Hamano <gitster@pobox.com>
|
||||
Date: Fri, 21 Jan 2022 16:58:30 -0800
|
||||
Subject: [PATCH] checkout: avoid BUG() when hitting a broken repository
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When 9081a421 (checkout: fix "branch info" memory leaks, 2021-11-16)
|
||||
cleaned up existing memory leaks, we added an unrelated sanity check
|
||||
to ensure that a local branch is truly local and not a symref to
|
||||
elsewhere that dies with BUG() otherwise. This was misguided in two
|
||||
ways. First of all, such a tightening did not belong to a leak-fix
|
||||
patch. And the condition it detected was *not* a bug in our program
|
||||
but a problem in user data, where warning() or die() would have been
|
||||
more appropriate.
|
||||
|
||||
As the condition is not fatal (the result of computing the local
|
||||
branch name in the code that is involved in the faulty check is only
|
||||
used as a textual label for the commit), let's revert the code to
|
||||
the original state, i.e. strip "refs/heads/" to compute the local
|
||||
branch name if possible, and otherwise leave it NULL. The consumer
|
||||
of the information in merge_working_tree() is prepared to see NULL
|
||||
in there and act accordingly.
|
||||
|
||||
cf. https://bugzilla.redhat.com/show_bug.cgi?id=2042920
|
||||
|
||||
Reported-by: Petr Šplíchal <psplicha@redhat.com>
|
||||
Reported-by: Todd Zullinger <tmz@pobox.com>
|
||||
Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
|
||||
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
||||
---
|
||||
builtin/checkout.c | 3 ---
|
||||
t/t2018-checkout-branch.sh | 13 +++++++++++++
|
||||
2 files changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/builtin/checkout.c b/builtin/checkout.c
|
||||
index 43d0275187fc8f..1fb34d537d9e91 100644
|
||||
--- a/builtin/checkout.c
|
||||
+++ b/builtin/checkout.c
|
||||
@@ -1094,9 +1094,6 @@ static int switch_branches(const struct checkout_opts *opts,
|
||||
const char *p;
|
||||
if (skip_prefix(old_branch_info.path, prefix, &p))
|
||||
old_branch_info.name = xstrdup(p);
|
||||
- else
|
||||
- BUG("should be able to skip past '%s' in '%s'!",
|
||||
- prefix, old_branch_info.path);
|
||||
}
|
||||
|
||||
if (opts->new_orphan_branch && opts->orphan_from_empty_tree) {
|
||||
diff --git a/t/t2018-checkout-branch.sh b/t/t2018-checkout-branch.sh
|
||||
index 93be1c0eae5ead..5dda5ad4cbcb07 100755
|
||||
--- a/t/t2018-checkout-branch.sh
|
||||
+++ b/t/t2018-checkout-branch.sh
|
||||
@@ -85,6 +85,19 @@ test_expect_success 'setup' '
|
||||
git branch -m branch1
|
||||
'
|
||||
|
||||
+test_expect_success 'checkout a branch without refs/heads/* prefix' '
|
||||
+ git clone --no-tags . repo-odd-prefix &&
|
||||
+ (
|
||||
+ cd repo-odd-prefix &&
|
||||
+
|
||||
+ origin=$(git symbolic-ref refs/remotes/origin/HEAD) &&
|
||||
+ git symbolic-ref refs/heads/a-branch "$origin" &&
|
||||
+
|
||||
+ git checkout -f a-branch &&
|
||||
+ git checkout -f a-branch
|
||||
+ )
|
||||
+'
|
||||
+
|
||||
test_expect_success 'checkout -b to a new branch, set to HEAD' '
|
||||
test_when_finished "
|
||||
git checkout branch1 &&
|
11
git.spec
11
git.spec
@ -77,11 +77,11 @@
|
||||
%endif
|
||||
|
||||
# Define for release candidates
|
||||
%global rcrev .rc2
|
||||
#global rcrev .rc0
|
||||
|
||||
Name: git
|
||||
Version: 2.35.0
|
||||
Release: 0.2%{?rcrev}%{?dist}.3
|
||||
Release: 1%{?rcrev}%{?dist}
|
||||
Summary: Fast Version Control System
|
||||
License: GPLv2
|
||||
URL: https://git-scm.com/
|
||||
@ -120,10 +120,6 @@ Patch3: 0003-t-lib-gpg-kill-all-gpg-components-not-just-gpg-agent.patch
|
||||
Patch4: 0004-t4202-match-gpgsm-output-from-GnuPG-2.3.patch
|
||||
Patch5: 0005-gpg-interface-match-SIG_CREATED-if-it-s-the-first-li.patch
|
||||
|
||||
# checkout: avoid BUG() when hitting a broken repository
|
||||
# https://bugzilla.redhat.com/2042920
|
||||
Patch6: https://github.com/git/git/commit/519947b69a.patch#/0001-checkout-avoid-BUG-when-hitting-a-broken-repository.patch
|
||||
|
||||
%if %{with docs}
|
||||
# pod2man is needed to build Git.3pm
|
||||
BuildRequires: %{_bindir}/pod2man
|
||||
@ -1019,6 +1015,9 @@ rmdir --ignore-fail-on-non-empty "$testdir"
|
||||
%{?with_docs:%{_pkgdocdir}/git-svn.html}
|
||||
|
||||
%changelog
|
||||
* Mon Jan 24 2022 Todd Zullinger <tmz@pobox.com> - 2.35.0-1
|
||||
- update to 2.35.0
|
||||
|
||||
* Sat Jan 22 2022 Todd Zullinger <tmz@pobox.com> - 2.35.0-0.2.rc2.3
|
||||
- remove contrib/scalar to avoid cruft in git-core-doc
|
||||
|
||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (git-2.35.0.rc2.tar.xz) = 5eb758cbf37c632f89f03eca65bf36f7f2490fbfb3d54c396d906b45a7ab96735f928abe300d7bcacdfdd33b59b1901a4c92f27f30dfe82c4fb1e8d690568dc3
|
||||
SHA512 (git-2.35.0.rc2.tar.sign) = fc9d96ea3f58f3c34f121477597e4f5b4a9c50e0d3ee42d021a276f5f1ca9a524c437a3fee8c78b6f09095ff411ab2f919444c53152e9bb44e5211437c18f415
|
||||
SHA512 (git-2.35.0.tar.xz) = ae391e1cda7b4e7d49e09e7412cd2da8d643c71f20967fd7b600be00a13d3b126c2bc3a2deece935742084ecbbd1eb51455b10365e0d65423979241e9e7b94a9
|
||||
SHA512 (git-2.35.0.tar.sign) = 8aeb47662e51f2d64150101b2e0887c9f6bfe42b312d52cde3e9d0b2467febea7bd4e9ba2e2df2121728a574e3d02a42ef7f2220486211bde8f936e848da4510
|
||||
|
Loading…
Reference in New Issue
Block a user