git 2.28.0 💾

Git is a distributed version control system, originally designed for Linux kernel development and large projects with non-linear workflows. It's comprised of individual tools, reuses ssh and rsync protocols, emphasises speed and data integrity, and keeps every checkout as full-fledged repository, and cryptographically authenticates source history. Various graphical frontends, IDE integrations and web services (GitHub) exist; with its git-fast-export format meanwhile serves interoperability with

minor feature: fetch.writeCommitGraph" is deemed to be still a bit too risky and, is no longer part of the "feature.experimental" set. The commands in the "diff" family learned to honor "diff.relative", configuration variable. The check in "git fsck" to ensure that the tree objects are sorted, still had corner cases it missed unsorted entries. The interface to redact sensitive information in the trace output, has been simplified. The command line completion (in contrib/) learned to complete, options that the "git switch" command takes. "git diff" used to take arguments in random and nonsense range, notation, e.g. "git diff A..B C", "git diff A..B C...D", etc, which has been cleaned up. "git diff-files" has been taught to say paths that are marked as, intent-to-add are new files, not modified from an empty blob. "git status" learned to report the status of sparse checkout. "git difftool" has trouble dealing with paths added to the index, with the intent-to-add bit. "git fast-export --anonymize" learned to take customized mapping to, allow its users to tweak its output more usable for deging. The command line completion support (in contrib/) used to be, prepared to work with "set -u" but recent changes got a bit more, sloppy. This has been corrected. "git gui" now allows opening work trees from the start-up dialog. Code optimization for a common case. (merge 8777616e4d an/merge-single-strategy-optim later to maint). We've adopted a convention that any on-stack structure can be, initialized to have zero values in all fields with "= 0 ", even when the first field happens to be a pointer, but sparse, complained that a null pointer should be spelled NULL for a long, time. Start using -Wno-universal-initializer option to squelch, it (the latest sparse has it on by default). "git log -L..." now takes advantage of the "which paths are touched, by this commit?" info stored in the commit-graph system. As FreeBSD is not the only platform whose regexp library reports, a REG_I

GNU LGPL c git scm vcs dvcs