Package Release Info

git-2.51.0-160000.1.2

Update Info: Base Release
Available in Package Hub : 16.0

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

git-cvs
git-svn

Change Logs

* Wed Aug 20 2025 antonio.teixeira@suse.com
- Use zlib instead of zlib-ng for SLES16
* Mon Aug 18 2025 mrueckert@suse.de
- Update to 2.51.0
  - UI, Workflows & Features
  - Userdiff patterns for the R language have been added.
  - Documentation for "git send-email" has been updated with a
    bit more credential helper and OAuth information.
  - "git cat-file --batch" learns to understand %(objectmode)
    atom to allow the caller to tell missing objects (due to
    repository corruption) and submodules (whose commit objects
    are OK to be missing) apart.
  - "git diff --no-index dirA dirB" can limit the comparison with
    pathspec at the end of the command line, just like normal
    "git diff".
  - "git subtree" (in contrib/) learned to grok GPG signing its
    commits.
  - "git whatchanged" that is longer to type than "git log --raw"
    which is its modern rough equivalent has outlived its
    usefulness more than 10 years ago.  Plan to deprecate and
    remove it.
  - An interchange format for stash entries is defined, and
    subcommand of "git stash" to import/export has been added.
  - "git merge/pull" has been taught the "--compact-summary"
    option to use the compact-summary format, intead of diffstat,
    when showing the summary of the incoming changes.
  - "git imap-send" has been broken for a long time, which has
    been resurrected and then taught to talk OAuth2.0 etc.
  - Some error messages from "git imap-send" has been updated.
  - When "git daemon" sees a signal while attempting to accept()
    a new client, instead of retrying, it skipped it by mistake,
    which has been corrected.
  - The reftable ref backend has matured enough; Git 3.0 will
    make it the default format in a newly created repositories by
    default.
  - "netrc" credential helper has been improved to understand
    textual service names (like smtp) in addition to the numeric
    port numbers (like 25).
  - Lift the limitation to use changed-path filter in "git log"
    so that it can be used for a pathspec with multiple literal
    paths.
  - Clean up the way how signature on commit objects are exported
    to and imported from fast-import stream.
  - Remove unsupported, unused, and unsupportable old option from
    "git log".
  - Document recently added "git imap-send --list" with an
    example.
  - "git pull" learned to pay attention to pull.autostash
    configuration variable, which overrides
    rebase/merge.autostash.
  - "git for-each-ref" learns "--start-after" option to help
    applications that want to page its output.
  - "git switch" and "git restore" are declared to be no longer
    experimental.
  - "git -c alias.foo=bar foo -h baz" reported "'foo' is aliased
    to 'bar'" and then went on to run "git foo -h baz", which was
    unexpected.  Tighten the rule so that alias expansion is
    reported only when "-h" is the sole option.
  - Performance, Internal Implementation, Development Support etc.
  - "git pack-objects" learned to find delta bases from blobs at
    the same path, using the --path-walk API.
  - CodingGuidelines update.
  - Add settings for Solaris 10 & 11.
  - Meson-based build/test framework now understands TAP output
    generated by our tests.
  - "Do not explicitly initialize to zero" rule has been
    clarified in the CodingGuidelines document.
  - A test helper "test_seq" function learned the "-f <fmt>"
    option, which allowed us to simplify a lot of test scripts.
  - A lot of stale stuff has been removed from the contrib/
    hierarchy.
  - "git push" and "git fetch" are taught to update refs in
    batches to gain performance.
  - Some code paths in "git prune" used to ignore the passed-in
    repository object and used the `the_repository` singleton
    instance instead, which has been corrected.
  - Update ".clang-format" and ".editorconfig" to match our style
    guide a bit better.
  - "make coccicheck" succeeds even when spatch made suggestions,
    which has been updated to fail in such a case.
  - Code clean-up around object access API.
  - Define .precision to more canned parse-options type to avoid
    bugs coming from using a variable with a wrong type to
    capture the parsed values.
  - Flipping the default hash function to SHA-256 at Git 3.0
    boundary is planned.
  - Declare weather-balloon we raised for "bool" type 18 months
    ago a success and officially allow using the type in our
    codebase.
  - GIT_TEST_INSTALLED was not honored in the recent topic
    related to SHA256 hashes, which has been corrected.
  - The pop_most_recent_commit() function can have quite
    expensive worst case performance characteristics, which has
    been optimized by using prio-queue data structure.
  - Move structure definition from unrelated header file to where
    it belongs.
  - To help our developers, document what C99 language features
    are being considered for adoption, in addition to what past
    experiments have already decided.
  - The reftable unit tests are now ported to the "clar" unit
    testing framework.
  - Redefine where the multi-pack-index sits in the object
    subsystem, which recently was restructured to allow multiple
    backends that support a single object source that belongs to
    one repository.  A MIDX does span multiple "object sources".
  - Reduce implicit assumption and dependence on the_repository
    in the object-file subsystem.
  - Fixes since v2.50 Unless otherwise noted, all the changes in
    2.50.X maintenance track, including security updates, are
    included in this release.
  - A memory-leak in an error code path has been plugged. (merge
    7082da85cb ly/commit-graph-graph-write-leakfix later to
    maint).
  - A memory-leak in an error code path has been plugged. (merge
    aedebdb6b9 ly/fetch-pack-leakfix later to maint).
  - Some leftover references to documentation source files that
    no longer exist, due to recent ".txt" -> ".adoc" renaming,
    have been corrected. (merge 3717a5775a
    jw/doc-txt-to-adoc-refs later to maint).
  - "git stash -p <pathspec>" improvements. (merge 468817bab2
    pw/stash-p-pathspec-fixes later to maint).
  - "git send-email" incremented its internal message counter
    when a message was edited, which made logic that treats the
    first message specially misbehave, which has been corrected.
    (merge 2cc27b3501 ag/send-email-edit-threading-fix later to
    maint).
  - "git stash" recorded a wrong branch name when submodules are
    present in the current checkout, which has been corrected.
    (merge ffb36c64f2 kj/stash-onbranch-submodule-fix later to
    maint).
  - When asking to apply mailmap to both author and committer
    field while showing a commit object, the field that appears
    later was not correctly parsed and replaced, which has been
    corrected. (merge abf94a283f sa/multi-mailmap-fix later to
    maint).
  - "git maintenance" lacked the care "git gc" had to avoid
    holding onto the repository lock for too long during packing
    refs, which has been remedied. (merge 1b5074e614
    ps/maintenance-ref-lock later to maint).
  - Avoid regexp_constraint and instead use comparison_constraint
    when listing functions to exclude from application of
    coccinelle rules, as spatch can be built with different
    regexp engine X-<. (merge f2ad545813
    jc/cocci-avoid-regexp-constraint later to maint).
  - Updating submodules from the upstream did not work well when
    submodule's HEAD is detached, which has been improved. (merge
    ca62f524c1 jk/submodule-remote-lookup-cleanup later to
    maint).
  - Remove unnecessary check from "git daemon" code. (merge
    0c856224d2 cb/daemon-fd-check-fix later to maint).
  - Use of sysctl() system call to learn the total RAM size used
    on BSDs has been corrected. (merge 781c1cf571
    cb/total-ram-bsd-fix later to maint).
  - Drop FreeBSD 4 support and declare that we support only
    FreeBSD 12 or later, which has memmem() supported. (merge
    0392f976a7 bs/config-mak-freebsd later to maint).
  - A diff-filter with negative-only specification like "git log
  - -diff-filter=d" did not trigger correctly, which has been
    fixed. (merge 375ac087c5 jk/all-negative-diff-filter-fix
    later to maint).
  - A failure to open the index file for writing due to
    conflicting access did not state what went wrong, which has
    been corrected. (merge 9455397a5c
    hy/read-cache-lock-error-fix later to maint).
  - Tempfile removal fix in the codepath to sign commits with SSH
    keys. (merge 4498127b04 re/ssh-sign-buffer-fix later to
    maint).
  - Code and test clean-up around string-list API. (merge
    6e5b26c3ff sj/string-list later to maint).
  - "git apply -N" should start from the current index and
    register only new files, but it instead started from an empty
    index, which has been corrected. (merge 2b49d97fcb
    rp/apply-intent-to-add-fix later to maint).
  - Leakfix with a new and a bit invasive test on pack-bitmap
    files. (merge bfd5522e98 ly/load-bitmap-leakfix later to
    maint).
  - "git fetch --prune" used to be O(n^2) expensive when there
    are many refs, which has been corrected. (merge 87d8d8c5d0
    ph/fetch-prune-optim later to maint).
  - When a ref creation at refs/heads/foo/bar fails, the files
    backend now removes refs/heads/foo/ if the directory is
    otherwise not used. (merge a3a7f20516
    ps/refs-files-remove-empty-parent later to maint).
  - "pack-objects" has been taught to avoid pointing into objects
    in cruft packs from midx.
  - "git remote" now detects remote names that overlap with each
    other (e.g., remote nickname "outer" and "outer/inner" are
    used at the same time), as it will lead to overlapping
    remote-tracking branches. (merge a5a727c448
    jk/remote-avoid-overlapping-names later to maint).
  - The gpg.program configuration variable, which names a
    pathname to the (custom) GPG compatible program, can now be
    spelled with ~tilde expansion. (merge 7d275cd5c0
    jb/gpg-program-variable-is-a-pathname later to maint).
  - Our <sane-ctype.h> header file relied on that the
    system-supplied <ctype.h> header is not later included, which
    would override our macro definitions, but "amazon linux"
    broke this assumption.  Fix this by preemptively including
    <ctype.h> near the beginning of <sane-ctype.h> ourselves.
    (merge 9d3b33125f ps/sane-ctype-workaround later to maint).
  - Clean-up compat/bswap.h mess. (merge f4ac32c03a
    ss/compat-bswap-revamp later to maint).
  - Meson-based build did not handle libexecdir setting
    correctly, which has been corrected. (merge 056dbe8612
    rj/meson-libexecdir-fix later to maint).
  - Document that we do not require "real" name when signing your
    patches off. (merge 1f0fed312a
    bc/contribution-under-non-real-names later to maint).
  - "git commit" that concludes a conflicted merge failed to
    notice and remove existing comment added automatically (like
    "# Conflicts:") when the core.commentstring is set to 'auto'.
    (merge 92b7c7c9f5 ac/auto-comment-char-fix later to maint).
  - "git rebase -i" with bogus rebase.instructionFormat
    configuration failed to produce the todo file after recording
    the state files, leading to confused "git status"; this has
    been corrected. (merge ade14bffd7
    ow/rebase-verify-insn-fmt-before-initializing-state later to
    maint).
  - A few file descriptors left unclosed upon program completion
    in a few test helper programs are now closed. (merge
    0f1b33815b hl/test-helper-fd-close later to maint).
  - Interactive prompt code did not correctly strip CRLF from the
    end of line on Windows. (merge 711a20827b js/prompt-crlf-fix
    later to maint).
  - The config API had a set of convenience wrapper functions
    that implicitly use the_repository instance; they have been
    removed and inlined at the calling sites.
  - "git add/etc -p" now honor the diff.context configuration
    variable, and also they learn to honor the -U<n> command-line
    option. (merge 2b3ae04011 lm/add-p-context later to maint).
  - The case where a new submodule takes a path where there used
    to be a completely different subproject is now dealt with a
    bit better than before. (merge 5ed8c5b465
    kj/renamed-submodule later to maint).
  - The deflate codepath in "git archive --format=zip" had a
    longstanding bug coming from misuse of zlib API, which has
    been corrected.
- drop patches included in update:
  0001-git-gui-Replace-null_sha1-with-nullid.patch
  0001-gitk-Add-support-of-SHA256-repo.patch
  0002-git-gui-Add-support-of-SHA256-repo.patch
- refreshed patches:
  CVE-2024-24577.patch
  completion-wordbreaks.diff
  git-tcsh-completion-fixes.diff
  setup-don-t-fail-if-commondir-reference-is-deleted.patch
- contrib/workdir is dropped. remove references for it.
* Tue Jul 15 2025 tiwai@suse.com
- update git-gui sha256 patches after the upstream review:
  0001-git-gui-Replace-null_sha1-with-nullid.patch
  0002-git-gui-Add-support-of-SHA256-repo.patch
* Wed Jul 09 2025 mrueckert@suse.de
- refreshed gitk sha256 patches:
  0001-gitk-Add-support-of-SHA256-repo.patch
  0002-git-gui-Add-support-of-SHA256-repo.patch
* Wed Jul 09 2025 mrueckert@suse.de
- update to 2.50.1 (boo#1245938 boo#1245939 boo#1245942 boo#1245943
  boo#1245946 boo#1245947)
  Security fixes for CVE-2025-27613, CVE-2025-27614,
  CVE-2025-46334, CVE-2025-46835, CVE-2025-48384, CVE-2025-48385,
  and CVE-2025-48386
  CVE-2025-27613, Gitk:
  When a user clones an untrusted repository and runs Gitk without
  additional command arguments, any writable file can be created and
  truncated. The option "Support per-file encoding" must have been
  enabled. The operation "Show origin of this line" is affected as
  well, regardless of the option being enabled or not.
  CVE-2025-27614, Gitk:
  A Git repository can be crafted in such a way that a user who has
  cloned the repository can be tricked into running any script
  supplied by the attacker by invoking `gitk filename`, where
  `filename` has a particular structure.
  CVE-2025-46334, Git GUI (Windows only):
  A malicious repository can ship versions of sh.exe or typical
  textconv filter programs such as astextplain. On Windows, path
  lookup can find such executables in the worktree. These programs
  are invoked when the user selects "Git Bash" or "Browse Files" from
  the menu.
  CVE-2025-46835, Git GUI:
  When a user clones an untrusted repository and is tricked into
  editing a file located in a maliciously named directory in the
  repository, then Git GUI can create and overwrite any writable
  file.
  CVE-2025-48384, Git:
  When reading a config value, Git strips any trailing carriage
  return and line feed (CRLF). When writing a config entry, values
  with a trailing CR are not quoted, causing the CR to be lost when
  the config is later read.  When initializing a submodule, if the
  submodule path contains a trailing CR, the altered path is read
  resulting in the submodule being checked out to an incorrect
  location. If a symlink exists that points the altered path to the
  submodule hooks directory, and the submodule contains an executable
  post-checkout hook, the script may be unintentionally executed
  after checkout.
  CVE-2025-48385, Git:
  When cloning a repository Git knows to optionally fetch a bundle
  advertised by the remote server, which allows the server-side to
  offload parts of the clone to a CDN. The Git client does not
  perform sufficient validation of the advertised bundles, which
  allows the remote side to perform protocol injection.
  This protocol injection can cause the client to write the fetched
  bundle to a location controlled by the adversary. The fetched
  content is fully controlled by the server, which can in the worst
  case lead to arbitrary code execution.
  CVE-2025-48386, Git:
  The wincred credential helper uses a static buffer (`target`) as a
  unique key for storing and comparing against internal storage. This
  credential helper does not properly bounds check the available
  space remaining in the buffer before appending to it with
  `wcsncat()`, leading to potential buffer overflows.
* Thu Jun 26 2025 tiwai@suse.com
- Fix git-gui citool SHA256 repo handling:
  refreshed 0002-git-gui-Add-support-of-SHA256-repo.patch
* Tue Jun 17 2025 mrueckert@suse.de
- update to 2.50.0
  https://about.gitlab.com/blog/what-s-new-in-git-2-50-0/
  https://raw.githubusercontent.com/git/git/refs/tags/v2.50.0/Documentation/RelNotes/2.50.0.adoc
* Fri Jun 13 2025 tiwai@suse.com
- Refresh gitk SHA256 patch and add SHA256 support to git-gui (bsc#1239989):
  0001-gitk-Add-support-of-SHA256-repo.patch
  0002-git-gui-Add-support-of-SHA256-repo.patch
  The previous patches are dropped:
  0001-gitk-Add-a-basic-support-of-SHA256-repositories-into.patch
  0002-gitk-Add-auto-select-length-preference-for-SHA256.patch
* Mon Mar 24 2025 tiwai@suse.com
- Add support of SHA256 git repo for gitk (bsc#1239989):
  0001-gitk-Add-a-basic-support-of-SHA256-repositories-into.patch
  0002-gitk-Add-auto-select-length-preference-for-SHA256.patch
* Fri Mar 14 2025 mrueckert@suse.de
- update to 2.49.0
  https://about.gitlab.com/blog/2025/03/14/whats-new-in-git-2-49-0/
  https://raw.githubusercontent.com/git/git/refs/tags/v2.49.0/Documentation/RelNotes/2.49.0.adoc
- switch to zlib-ng for code 16
- docs switched to asciidoc