SHA256
1
0
forked from pool/git

Accepting request 1090985 from home:AndreasStieger:branches:devel:tools:scm

git 2.41.0

OBS-URL: https://build.opensuse.org/request/show/1090985
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/git?expand=0&rev=618
This commit is contained in:
Martin Pluskal 2023-06-06 09:58:22 +00:00 committed by Git OBS Bridge
parent 787be26c66
commit d3e863b7c9
7 changed files with 22 additions and 104 deletions

Binary file not shown.

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4893b8b98eefc9fdc4b0e7ca249e340004faa7804a433d17429e311e1fef21d2
size 7185260

BIN
git-2.41.0.tar.sign Normal file

Binary file not shown.

3
git-2.41.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e748bafd424cfe80b212cbc6f1bbccc3a47d4862fb1eb7988877750478568040
size 7273624

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Sat Jun 3 15:59:19 UTC 2023 - Andreas Stieger <Andreas.Stieger@gmx.de>
- git 2.41.0: This update contains a number of compatible updates,
improvements and extensions to multiple workflows. Some changes
may break backwards compatibility:
* The libsecret credential helper obsoletes direct GNOME keyring
support, which was dropped (git-credential-gnome-keyring)
* "git format-patch" has been taught to ignore end-user
configuration ("diff.noprefix") and always use the standard
prefixes, to avoid breaking the receiving end of the patch
- drop sha256_clone_fix.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Apr 25 20:43:30 UTC 2023 - Andreas Stieger <Andreas.Stieger@gmx.de> Tue Apr 25 20:43:30 UTC 2023 - Andreas Stieger <Andreas.Stieger@gmx.de>

View File

@ -27,7 +27,6 @@
%if ! %{defined _fillupdir} %if ! %{defined _fillupdir}
%define _fillupdir %{_localstatedir}/adm/fillup-templates %define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif %endif
%bcond_without git_gnome_keyring
%bcond_without git_libsecret %bcond_without git_libsecret
%bcond_without docs %bcond_without docs
%if 0%{?suse_version} >= 1500 && %{with docs} %if 0%{?suse_version} >= 1500 && %{with docs}
@ -36,7 +35,7 @@
%bcond_with asciidoctor %bcond_with asciidoctor
%endif %endif
Name: git Name: git
Version: 2.40.1 Version: 2.41.0
Release: 0 Release: 0
Summary: Fast, scalable, distributed revision control system Summary: Fast, scalable, distributed revision control system
License: GPL-2.0-only License: GPL-2.0-only
@ -61,7 +60,6 @@ Patch4: git-prevent_xss-default.diff
Patch6: git-tcsh-completion-fixes.diff Patch6: git-tcsh-completion-fixes.diff
Patch8: git-asciidoc.patch Patch8: git-asciidoc.patch
Patch10: setup-don-t-fail-if-commondir-reference-is-deleted.patch Patch10: setup-don-t-fail-if-commondir-reference-is-deleted.patch
Patch11: sha256_clone_fix.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gpg2 BuildRequires: gpg2
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
@ -70,6 +68,7 @@ BuildRequires: libopenssl-devel
BuildRequires: pcre2-devel BuildRequires: pcre2-devel
BuildRequires: perl-Error BuildRequires: perl-Error
BuildRequires: perl-MailTools BuildRequires: perl-MailTools
BuildRequires: pkgconfig
BuildRequires: python3-base BuildRequires: python3-base
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
BuildRequires: tcsh BuildRequires: tcsh
@ -97,9 +96,6 @@ BuildRequires: docbook5-xsl-stylesheets
BuildRequires: asciidoc BuildRequires: asciidoc
%endif %endif
%endif %endif
%if %{with git_gnome_keyring}
BuildRequires: libgnome-keyring-devel
%endif
%if %{with git_libsecret} %if %{with git_libsecret}
BuildRequires: libsecret-devel BuildRequires: libsecret-devel
%endif %endif
@ -190,24 +186,20 @@ Supplements: (%{name} and cvs)
%description cvs %description cvs
Tools for importing CVS repositories to the Git version control system. Tools for importing CVS repositories to the Git version control system.
%package credential-gnome-keyring %if %{with git_libsecret}
Summary: Git credential backend using the GNOME keyring as storage
Group: Development/Tools/Version Control
Requires: git-core = %{version}
Requires: gnome-keyring
%description credential-gnome-keyring
A Git credential backend which uses the GNOME keyring as storage.
%package credential-libsecret %package credential-libsecret
Summary: Git credential backend using libsecret to access keyring Summary: Git credential backend using libsecret to access keyring
Group: Development/Tools/Version Control Group: Development/Tools/Version Control
Requires: git-core = %{version} Requires: git-core = %{version}
Obsoletes: git-credential-gnome-keyring < %{version}
%description credential-libsecret %description credential-libsecret
A Git credential backend which uses libsecret API to acces keyrings such as A Git credential backend which uses libsecret API to acces keyrings such as
kwallet or GNOME keyring. kwallet or GNOME keyring.
%endif
%package arch %package arch
Summary: Git tools for importing Arch repositories Summary: Git tools for importing Arch repositories
Group: Development/Tools/Version Control Group: Development/Tools/Version Control
@ -355,9 +347,6 @@ chmod 755 .make
./.make doc %{?_smp_mflags} ./.make doc %{?_smp_mflags}
%endif %endif
%if %{with git_gnome_keyring}
./.make -C contrib/credential/gnome-keyring
%endif
%if %{with git_libsecret} %if %{with git_libsecret}
./.make -C contrib/credential/libsecret ./.make -C contrib/credential/libsecret
%endif %endif
@ -404,9 +393,6 @@ install -m 644 -D contrib/completion/git-prompt.sh %{buildroot}%{_datadir}/bash-
mkdir -p %{buildroot}/%{_sysconfdir}/bash_completion.d/ mkdir -p %{buildroot}/%{_sysconfdir}/bash_completion.d/
install -m 644 %{SOURCE12} %{buildroot}/%{_sysconfdir}/bash_completion.d/git-prompt install -m 644 %{SOURCE12} %{buildroot}/%{_sysconfdir}/bash_completion.d/git-prompt
# contrib/credential # contrib/credential
%if %{with git_gnome_keyring}
install -m 755 -D contrib/credential/gnome-keyring/git-credential-gnome-keyring %{buildroot}/%{gitexecdir}/git-credential-gnome-keyring
%endif
%if %{with git_libsecret} %if %{with git_libsecret}
install -m 755 -D contrib/credential/libsecret/git-credential-libsecret %{buildroot}/%{gitexecdir}/git-credential-libsecret install -m 755 -D contrib/credential/libsecret/git-credential-libsecret %{buildroot}/%{gitexecdir}/git-credential-libsecret
%endif %endif
@ -504,11 +490,6 @@ fi
%{gitexecdir}/*cvs* %{gitexecdir}/*cvs*
%{!?_without_docs: %{_mandir}/man1/*cvs*.1*} %{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
%if %{with git_gnome_keyring}
%files credential-gnome-keyring
%{gitexecdir}/git-credential-gnome-keyring
%endif
%if %{with git_libsecret} %if %{with git_libsecret}
%files credential-libsecret %files credential-libsecret
%{gitexecdir}/git-credential-libsecret %{gitexecdir}/git-credential-libsecret

View File

@ -1,76 +0,0 @@
commit 8b214c2e9dda8fc5b8d49b978fd2c155b7596cd0
Author: Junio C Hamano <gitster@pobox.com>
Date: Wed Apr 5 14:15:33 2023 -0700
clone: propagate object-format when cloning from void
A user could prepare an empty repository and set it to use SHA256 as
the object format. The new repository created by "git clone" from
such a repository however would not record that it is expecting
objects in the same SHA256 format. This works as expected if the
source repository is not empty.
Just like we started copying the name of the primary branch from the
remote repository even if it is unborn in 3d8314f8 (clone: propagate
empty remote HEAD even with other branches, 2022-07-07), lift the
code that records the object format out of the block executed only
when cloning from an instantiated repository, so that it works also
when cloning from an empty repository.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/builtin/clone.c b/builtin/clone.c
index 462c286274..8f16d18a43 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -910,6 +910,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
int err = 0, complete_refs_before_fetch = 1;
int submodule_progress;
int filter_submodules = 0;
+ int hash_algo;
struct transport_ls_refs_options transport_ls_refs_options =
TRANSPORT_LS_REFS_OPTIONS_INIT;
@@ -1298,15 +1299,15 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
}
}
- if (mapped_refs) {
- int hash_algo = hash_algo_by_ptr(transport_get_hash_algo(transport));
-
/*
* Now that we know what algorithm the remote side is using,
* let's set ours to the same thing.
*/
- initialize_repository_version(hash_algo, 1);
- repo_set_hash_algo(the_repository, hash_algo);
+ hash_algo = hash_algo_by_ptr(transport_get_hash_algo(transport));
+ initialize_repository_version(hash_algo, 1);
+ repo_set_hash_algo(the_repository, hash_algo);
+
+ if (mapped_refs) {
/*
* transport_get_remote_refs() may return refs with null sha-1
* in mapped_refs (see struct transport->get_refs_list
diff --git a/t/t5702-protocol-v2.sh b/t/t5702-protocol-v2.sh
index 71aabe30b7..6af5c2062f 100755
--- a/t/t5702-protocol-v2.sh
+++ b/t/t5702-protocol-v2.sh
@@ -269,6 +269,17 @@ test_expect_success 'clone propagates unborn HEAD from non-empty repo' '
grep "warning: remote HEAD refers to nonexistent ref" stderr
'
+test_expect_success 'clone propagates object-format from empty repo' '
+ test_when_finished "rm -fr src256 dst256" &&
+
+ echo sha256 >expect &&
+ git init --object-format=sha256 src256 &&
+ git clone src256 dst256 &&
+ git -C dst256 rev-parse --show-object-format >actual &&
+
+ test_cmp expect actual
+'
+
test_expect_success 'bare clone propagates unborn HEAD from non-empty repo' '
test_when_finished "rm -rf file_unborn_parent file_unborn_child.git" &&