Go to file
Patrick Steinhardt b6c3f8e12c builtin/maintenance: fix leak in `get_schedule_cmd()`
The `get_schedule_cmd()` function allows us to override the schedule
command with a specific test command such that we can verify the
underlying logic in a platform-independent way. Its memory management is
somewhat wild though, because it basically gives up and assigns an
allocated string to the string constant output pointer. While this part
is marked with `UNLEAK()` to mask this, we also leak the local string
lists.

Rework the function such that it has a separate out parameter. If set,
we will assign it the final allocated command. Plug the other memory
leaks and create a common exit path.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-09-27 08:25:37 -07:00
.github Sync with 'maint' for Windows+VS build jobs used at CI 2024-08-20 14:24:57 -07:00
Documentation Sync with Git 2.46.1 2024-09-13 15:31:57 -07:00
block-sha1
builtin builtin/maintenance: fix leak in `get_schedule_cmd()` 2024-09-27 08:25:37 -07:00
ci Merge branch 'tb/incremental-midx-part-1' 2024-08-19 11:07:37 -07:00
compat Merge branch 'rj/compat-terminal-unused-fix' 2024-09-10 13:16:42 -07:00
contrib Merge branch 'ah/git-prompt-portability' 2024-08-28 10:31:28 -07:00
ewah
git-gui Merge https://github.com/j6t/git-gui 2024-07-07 22:50:59 -07:00
gitk-git
gitweb Merge branch 'am/gitweb-feed-use-committer-date' 2024-07-15 10:11:41 -07:00
mergetools mergetools: vscode: new tool 2024-09-01 20:47:58 -07:00
negotiator Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7 2024-09-16 14:03:30 -07:00
oss-fuzz oss-fuzz: mark unused argv/argc argument 2024-08-17 09:46:11 -07:00
perl git-svn: add public property `svn:global-ignores` 2024-07-18 15:48:06 -07:00
po l10n: zh_CN: updated translation for 2.46 2024-07-28 19:52:41 +08:00
refs Merge branch 'ps/pack-refs-auto-heuristics' 2024-09-12 11:47:23 -07:00
reftable Merge branch 'ps/reftable-concurrent-compaction' 2024-09-03 09:15:03 -07:00
sha1
sha1collisiondetection@855827c583
sha1dc
sha256
t builtin/maintenance: fix leak in `get_schedule_cmd()` 2024-09-27 08:25:37 -07:00
templates
trace2 trace2: destroy context stored in thread-local storage 2024-09-27 08:25:36 -07:00
xdiff
.cirrus.yml
.clang-format Merge branch 'rs/unit-tests-test-run' 2024-08-19 11:07:36 -07:00
.editorconfig
.gitattributes
.gitignore
.gitlab-ci.yml check-whitespace: detect if no base_commit is provided 2024-07-23 09:56:50 -07:00
.gitmodules
.mailmap .mailmap document current address. 2024-09-06 09:31:15 -07:00
.tsan-suppressions
CODE_OF_CONDUCT.md
COPYING
GIT-VERSION-GEN Git 2.46.1 2024-09-13 15:26:52 -07:00
INSTALL
LGPL-2.1
Makefile Merge branch 'gt/unit-test-oid-array' 2024-09-12 11:47:23 -07:00
README.md
RelNotes Prepare for 2.46.1 2024-08-16 12:52:53 -07:00
SECURITY.md
abspath.c
abspath.h
aclocal.m4
add-interactive.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
add-interactive.h
add-patch.c Merge branch 'ps/config-wo-the-repository' 2024-08-23 09:02:34 -07:00
advice.c Merge branch 'ds/advice-sparse-index-expansion' 2024-07-16 11:18:56 -07:00
advice.h Merge branch 'ds/advice-sparse-index-expansion' 2024-07-16 11:18:56 -07:00
alias.c
alias.h
alloc.c
alloc.h
apply.c Merge branch 'jk/apply-patch-mode-check-fix' into maint-2.46 2024-09-12 11:02:15 -07:00
apply.h Merge branch 'ps/leakfixes-more' 2024-07-08 14:53:10 -07:00
archive-tar.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
archive-zip.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
archive.c builtin/upload-archive: fix leaking args passed to `write_archive()` 2024-08-22 09:18:04 -07:00
archive.h
attr.c Merge branch 'ps/use-the-repository' 2024-07-02 09:59:00 -07:00
attr.h Merge branch 'jc/varargs-attributes' 2024-06-17 15:55:55 -07:00
banned.h
base85.c
base85.h
bisect.c Merge branch 'ps/pack-refs-auto-heuristics' 2024-09-12 11:47:23 -07:00
bisect.h
blame.c Merge branch 'ps/leakfixes-more' 2024-07-08 14:53:10 -07:00
blame.h
blob.c
blob.h
bloom.c Merge branch 'tb/path-filter-fix' 2024-07-08 14:53:10 -07:00
bloom.h bloom: introduce `deinit_bloom_filters()` 2024-06-25 13:52:06 -07:00
branch.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
branch.h
builtin.h global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
bulk-checkin.c bulk-checkin: fix leaking state TODO 2024-08-14 10:07:57 -07:00
bulk-checkin.h
bundle-uri.c fetch: add top-level trace2 regions 2024-08-22 15:02:31 -07:00
bundle-uri.h
bundle.c Merge branch 'ps/leakfixes-part-5' 2024-09-03 09:15:00 -07:00
bundle.h unbundle: extend object verification for fetches 2024-06-20 10:30:08 -07:00
cache-tree.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
cache-tree.h
cbtree.c
cbtree.h
chdir-notify.c
chdir-notify.h
check-builtins.sh
checkout.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
checkout.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
chunk-format.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
chunk-format.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
color.c
color.h
column.c
column.h
combine-diff.c diff: fix leaking orderfile option 2024-09-27 08:25:35 -07:00
command-list.txt
commit-graph.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
commit-graph.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
commit-reach.c Merge branch 'ds/for-each-ref-is-base' 2024-08-26 11:32:24 -07:00
commit-reach.h commit-reach: add get_branch_base_for_tip 2024-08-14 10:10:05 -07:00
commit-slab-decl.h
commit-slab-impl.h
commit-slab.h
commit.c Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7 2024-09-16 14:03:30 -07:00
commit.h Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7 2024-09-16 14:03:30 -07:00
common-main.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
config.c Merge branch 'ps/maintenance-detach-fix' 2024-08-26 11:32:20 -07:00
config.h Merge branch 'ps/maintenance-detach-fix' 2024-08-26 11:32:20 -07:00
config.mak.dev config.mak.dev: enable -Wunused-parameter by default 2024-08-28 09:51:18 -07:00
config.mak.in
config.mak.uname Merge branch 'rj/cygwin-has-dev-tty' 2024-09-13 15:27:44 -07:00
configure.ac
connect.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
connect.h
connected.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
connected.h
convert.c convert: fix leaks when resetting attributes 2024-08-22 09:18:03 -07:00
convert.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
copy.c
copy.h
credential.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
credential.h
csum-file.c Merge branch 'ps/leakfixes-part-4' 2024-08-23 09:02:33 -07:00
csum-file.h Merge branch 'ps/leakfixes-part-4' 2024-08-23 09:02:33 -07:00
ctype.c
daemon.c Merge branch 'jk/mark-unused-parameters' 2024-08-26 11:32:23 -07:00
date.c date: detect underflow/overflow when parsing dates with timezone offset 2024-06-25 17:07:41 -07:00
date.h
decorate.c
decorate.h
delta-islands.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
delta-islands.h
delta.h
detect-compiler
diagnose.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
diagnose.h
diff-delta.c
diff-lib.c diff-lib: drop unused index argument from get_stat_data() 2024-08-17 09:44:41 -07:00
diff-merges.c
diff-merges.h
diff-no-index.c
diff.c diff: fix leaking orderfile option 2024-09-27 08:25:35 -07:00
diff.h diff: fix leaking orderfile option 2024-09-27 08:25:35 -07:00
diffcore-break.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
diffcore-delta.c
diffcore-order.c diffcore-order: fix leaking buffer when parsing orderfiles 2024-09-27 08:25:35 -07:00
diffcore-pickaxe.c
diffcore-rename.c Merge branch 'ps/use-the-repository' 2024-07-02 09:59:00 -07:00
diffcore-rotate.c
diffcore.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
dir-iterator.c
dir-iterator.h
dir.c dir: fix off by one errors for ignored and untracked entries 2024-09-27 08:25:35 -07:00
dir.h win32: override `fspathcmp()` with a directory separator-aware version 2024-07-13 16:23:36 -07:00
editor.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
editor.h editor: do not rely on `the_repository` for interactive edits 2024-08-13 10:01:00 -07:00
entry.c entry: fix leaking pathnames during delayed checkout 2024-08-01 08:47:37 -07:00
entry.h
environment.c config: fix leaking comment character config 2024-08-14 10:07:58 -07:00
environment.h config: fix leaking comment character config 2024-08-14 10:07:58 -07:00
exec-cmd.c exec_cmd: RUNTIME_PREFIX on z/OS systems 2024-08-22 08:58:46 -07:00
exec-cmd.h
fetch-negotiator.c
fetch-negotiator.h
fetch-pack.c Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7 2024-09-16 14:03:30 -07:00
fetch-pack.h fetch-pack: expose fsckObjects configuration logic 2024-06-20 10:30:07 -07:00
fmt-merge-msg.c Merge branch 'ps/use-the-repository' 2024-07-02 09:59:00 -07:00
fmt-merge-msg.h
fsck.c builtin/refs: add verify subcommand 2024-08-08 09:36:53 -07:00
fsck.h fsck: add ref name check for files backend 2024-08-08 09:36:53 -07:00
fsmonitor--daemon.h
fsmonitor-ipc.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
fsmonitor-ipc.h
fsmonitor-ll.h
fsmonitor-path-utils.h
fsmonitor-settings.c
fsmonitor-settings.h
fsmonitor.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
fsmonitor.h
generate-cmdlist.sh
generate-configlist.sh
generate-hooklist.sh
gettext.c
gettext.h
git-archimport.perl
git-compat-util.h CodingGuidelines: also mention MAYBE_UNUSED 2024-08-29 11:28:07 -07:00
git-curl-compat.h
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py
git-quiltimport.sh
git-request-pull.sh
git-send-email.perl Merge branch 'jk/send-email-mailmap' 2024-09-06 10:38:49 -07:00
git-sh-i18n.sh
git-sh-setup.sh
git-submodule.sh builtin/submodule: allow "add" to use different ref storage format 2024-08-08 09:22:21 -07:00
git-svn.perl git-svn: mention `svn:global-ignores` in help+docs 2024-08-14 15:10:24 -07:00
git-web--browse.sh
git-zlib.c
git-zlib.h
git.c git: fix leaking argv when handling builtins 2024-09-27 08:25:34 -07:00
git.rc
gpg-interface.c gpg-interface: fix misdesigned signing key interfaces 2024-09-05 08:49:11 -07:00
gpg-interface.h gpg-interface: fix misdesigned signing key interfaces 2024-09-05 08:49:11 -07:00
graph.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
graph.h
grep.c grep: fix leaking grep pattern 2024-09-27 08:25:36 -07:00
grep.h
hash-lookup.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
hash-lookup.h
hash.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
hashmap.c
hashmap.h
help.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
help.h
hex-ll.c
hex-ll.h
hex.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
hex.h hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE` 2024-06-14 10:26:35 -07:00
hook.c hooks: remove implicit dependency on `the_repository` 2024-08-13 10:01:01 -07:00
hook.h hooks: remove implicit dependency on `the_repository` 2024-08-13 10:01:01 -07:00
http-backend.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
http-fetch.c http-fetch: don't crash when parsing packfile without a repo 2024-06-14 10:26:34 -07:00
http-push.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
http-walker.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
http.c http: do not ignore proxy path 2024-08-02 08:30:08 -07:00
http.h
ident.c
ident.h
imap-send.c Merge branch 'jk/mark-unused-parameters' 2024-08-26 11:32:23 -07:00
iterator.h
json-writer.c
json-writer.h
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
line-log.c
line-log.h
line-range.c
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
list-objects-filter-options.h
list-objects-filter.c Merge branch 'ps/leakfixes-more' 2024-07-08 14:53:10 -07:00
list-objects-filter.h
list-objects.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
list-objects.h
list.h
lockfile.c
lockfile.h
log-tree.c Merge branch 'rs/use-decimal-width' into maint-2.46 2024-08-26 11:10:23 -07:00
log-tree.h
loose.c drop trailing newline from warning/error/die messages 2024-09-05 09:07:12 -07:00
loose.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
ls-refs.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
ls-refs.h
mailinfo.c Merge branch 'jc/mailinfo-header-cleanup' 2024-09-12 11:47:22 -07:00
mailinfo.h
mailmap.c Merge branch 'jk/send-email-mailmap' 2024-09-06 10:38:49 -07:00
mailmap.h check-mailmap: add options for additional mailmap sources 2024-08-27 14:51:29 -07:00
match-trees.c match-trees: fix leaking prefixes in `shift_tree()` 2024-09-05 08:49:12 -07:00
match-trees.h
mem-pool.c
mem-pool.h
merge-blobs.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
merge-blobs.h
merge-ll.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
merge-ll.h
merge-ort-wrappers.c
merge-ort-wrappers.h
merge-ort.c merge-ort: fix two leaks when handling directory rename modifications 2024-09-05 08:49:13 -07:00
merge-ort.h Merge branch 'ps/leakfixes-more' 2024-07-08 14:53:10 -07:00
merge-recursive.c merge-recursive: honor diff.algorithm 2024-07-13 18:10:49 -07:00
merge-recursive.h merge-recursive: honor diff.algorithm 2024-07-13 18:10:49 -07:00
merge.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
merge.h
mergesort.h
midx-write.c Merge branch 'ps/leakfixes-part-5' 2024-09-03 09:15:00 -07:00
midx.c pack-bitmap: tag bitmapped packs with their corresponding MIDX 2024-08-27 14:50:26 -07:00
midx.h midx: implement support for writing incremental MIDX chains 2024-08-06 12:01:39 -07:00
name-hash.c
name-hash.h
notes-cache.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
notes-cache.h
notes-merge.c Merge branch 'ps/leakfixes-more' 2024-07-08 14:53:10 -07:00
notes-merge.h
notes-utils.c Merge branch 'ps/leakfixes-more' 2024-07-08 14:53:10 -07:00
notes-utils.h
notes.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
notes.h
object-file-convert.c hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
object-file-convert.h
object-file.c Merge branch 'ps/leakfixes-part-4' 2024-08-23 09:02:33 -07:00
object-file.h
object-name.c Merge branch 'ps/leakfixes-part-4' 2024-08-23 09:02:33 -07:00
object-name.h
object-store-ll.h
object-store.h
object.c object: clear grafts when clearing parsed object pool 2024-09-05 08:49:11 -07:00
object.h object: clear grafts when clearing parsed object pool 2024-09-05 08:49:11 -07:00
oid-array.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
oid-array.h
oidmap.c
oidmap.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
oidset.c oidset: pass hash algorithm when parsing file 2024-06-14 10:26:34 -07:00
oidset.h oidset: pass hash algorithm when parsing file 2024-06-14 10:26:34 -07:00
oidtree.c global: ensure that object IDs are always padded 2024-06-14 10:26:32 -07:00
oidtree.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
pack-bitmap-write.c Merge branch 'jk/drop-unused-parameters' 2024-08-26 11:32:22 -07:00
pack-bitmap.c pack-bitmap.c: avoid repeated `pack_pos_to_offset()` during reuse 2024-08-27 14:50:27 -07:00
pack-bitmap.h pack-bitmap: tag bitmapped packs with their corresponding MIDX 2024-08-27 14:50:26 -07:00
pack-check.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
pack-mtimes.c
pack-mtimes.h
pack-objects.c
pack-objects.h
pack-revindex.c Merge branch 'ps/use-the-repository' 2024-07-02 09:59:00 -07:00
pack-revindex.h
pack-write.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
pack.h
packfile.c midx: implement support for writing incremental MIDX chains 2024-08-06 12:01:39 -07:00
packfile.h midx: implement support for writing incremental MIDX chains 2024-08-06 12:01:39 -07:00
pager.c rebase --exec: respect --quiet 2024-08-21 08:57:51 -07:00
pager.h pager: introduce wait_for_pager 2024-07-25 09:03:00 -07:00
parallel-checkout.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
parallel-checkout.h
parse-options-cb.c Merge branch 'ps/use-the-repository' 2024-07-02 09:59:00 -07:00
parse-options.c parse-options: free previous value of `OPTION_FILENAME` 2024-09-27 08:25:35 -07:00
parse-options.h
parse.c
parse.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c path: hide functions using `the_repository` by default 2024-08-13 10:01:01 -07:00
path.h path: hide functions using `the_repository` by default 2024-08-13 10:01:01 -07:00
pathspec.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
pathspec.h Merge branch 'as/pathspec-h-typofix' 2024-07-12 08:41:57 -07:00
pkt-line.c
pkt-line.h
preload-index.c
preload-index.h
pretty.c pretty: fix leaking key/value separator buffer 2024-08-22 09:18:04 -07:00
pretty.h
prio-queue.c
prio-queue.h
progress.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
progress.h
promisor-remote.c promisor-remote: fix leaking partial clone filter 2024-09-27 08:25:36 -07:00
promisor-remote.h
prompt.c
prompt.h
protocol-caps.c protocol-caps: use hash algorithm from passed-in repository 2024-06-14 10:26:34 -07:00
protocol-caps.h
protocol.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
protocol.h
prune-packed.c
prune-packed.h
pseudo-merge.c Merge branch 'jk/drop-unused-parameters' 2024-08-26 11:32:22 -07:00
pseudo-merge.h pack-bitmap: drop unused parameters from select_pseudo_merges() 2024-08-17 09:44:41 -07:00
quote.c
quote.h
range-diff.c userdiff: fix leaking memory for configured diff drivers 2024-08-14 10:08:01 -07:00
range-diff.h
reachable.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
reachable.h
read-cache-ll.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
read-cache.c Merge branch 'ps/maintenance-detach-fix' 2024-08-26 11:32:20 -07:00
read-cache.h
rebase-interactive.c Merge branch 'ps/use-the-repository' 2024-07-02 09:59:00 -07:00
rebase-interactive.h
rebase.c
rebase.h
ref-filter.c Merge branch 'ds/for-each-ref-is-base' 2024-08-26 11:32:24 -07:00
ref-filter.h for-each-ref: add 'is-base' token 2024-08-14 10:10:06 -07:00
reflog-walk.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
reflog-walk.h
reflog.c Merge branch 'jc/reflog-expire-lookup-commit-fix' into maint-2.46 2024-08-26 11:10:21 -07:00
reflog.h
refs.c Merge branch 'jk/mark-unused-parameters' 2024-08-26 11:32:23 -07:00
refs.h Merge branch 'sj/ref-fsck' 2024-08-16 12:51:51 -07:00
refspec.c Merge branch 'ps/use-the-repository' 2024-07-02 09:59:00 -07:00
refspec.h
remote-curl.c Merge branch 'jk/remote-wo-url' 2024-07-02 09:59:01 -07:00
remote.c Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7 2024-09-16 14:03:30 -07:00
remote.h Merge branch 'jk/remote-wo-url' 2024-07-02 09:59:01 -07:00
replace-object.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
replace-object.h
repo-settings.c Merge branch 'tb/path-filter-fix' 2024-07-08 14:53:10 -07:00
repository.c object: clear grafts when clearing parsed object pool 2024-09-05 08:49:11 -07:00
repository.h Merge branch 'tb/path-filter-fix' 2024-07-08 14:53:10 -07:00
rerere.c Merge branch 'ps/config-wo-the-repository' 2024-08-23 09:02:34 -07:00
rerere.h
reset.c hooks: remove implicit dependency on `the_repository` 2024-08-13 10:01:01 -07:00
reset.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
resolve-undo.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
resolve-undo.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
revision.c Merge branch 'jk/free-commit-buffer-of-skipped-commits' into maint-2.46 2024-09-13 15:26:49 -07:00
revision.h
run-command.c run-command: fix detaching when running auto maintenance 2024-08-16 09:46:26 -07:00
run-command.h run-command: declare the `git_shell_path()` function globally 2024-07-13 16:23:37 -07:00
sane-ctype.h
scalar.c scalar: add --no-tags option to 'scalar clone' 2024-09-06 14:13:48 -07:00
send-pack.c Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7 2024-09-16 14:03:30 -07:00
send-pack.h
sequencer.c Merge branch 'mt/rebase-x-quiet' 2024-08-28 10:31:26 -07:00
sequencer.h Merge branch 'pw/rebase-i-error-message' into maint-2.45 2024-07-02 09:27:56 -07:00
serve.c drop trailing newline from warning/error/die messages 2024-09-05 09:07:12 -07:00
serve.h
server-info.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
server-info.h
setup.c Merge branch 'jk/mark-unused-parameters' 2024-08-26 11:32:23 -07:00
setup.h
sh-i18n--envsubst.c
sha1dc_git.c
sha1dc_git.h
shallow.c shallow: fix leaking members of `struct shallow_info` 2024-09-05 08:49:12 -07:00
shallow.h
shared.mak
shell.c
shortlog.h
sideband.c Merge branch 'ps/leakfixes-part-5' 2024-09-03 09:15:00 -07:00
sideband.h
sigchain.c
sigchain.h
simple-ipc.h
sparse-index.c Merge branch 'ds/advice-sparse-index-expansion' 2024-07-16 11:18:56 -07:00
sparse-index.h
split-index.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
split-index.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
stable-qsort.c
statinfo.c
statinfo.h
strbuf.c
strbuf.h
streaming.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
streaming.h
string-list.c
string-list.h
strmap.c
strmap.h
strvec.c strvec: declare the `strvec_push_nodup()` function globally 2024-07-13 16:23:36 -07:00
strvec.h strvec: declare the `strvec_push_nodup()` function globally 2024-07-13 16:23:36 -07:00
sub-process.c
sub-process.h
submodule-config.c submodule: fix leaking update strategy 2024-09-27 08:25:34 -07:00
submodule-config.h
submodule.c submodule: fix leaking submodule ODB paths 2024-09-27 08:25:36 -07:00
submodule.h submodule: fix leaking update strategy 2024-09-27 08:25:34 -07:00
symlinks.c
symlinks.h
tag.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
tag.h
tar.h
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h
tmp-objdir.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
tmp-objdir.h
trace.c
trace.h
trace2.c
trace2.h
trailer.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
trailer.h
transport-helper.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
transport-internal.h
transport.c Merge branch 'ps/leakfixes-part-5' 2024-09-03 09:15:00 -07:00
transport.h
tree-diff.c hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
tree-walk.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
tree-walk.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00
tree.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
tree.h
unicode-width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unix-stream-server.c
unix-stream-server.h
unpack-trees.c unpack-trees: clear index when not propagating it 2024-08-14 10:08:00 -07:00
unpack-trees.h
upload-pack.c upload-pack: fix leaking child process data on reachability checks 2024-09-05 08:49:11 -07:00
upload-pack.h
url.c
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c userdiff: fix leaking memory for configured diff drivers 2024-08-14 10:08:01 -07:00
userdiff.h userdiff: fix leaking memory for configured diff drivers 2024-08-14 10:08:01 -07:00
utf8.c
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c global: prepare for hiding away repo-less config functions 2024-08-13 10:01:05 -07:00
versioncmp.h
walker.c refs: add referent to each_ref_fn 2024-08-09 08:47:34 -07:00
walker.h
wildmatch.c
wildmatch.h
worktree.c Merge branch 'ps/config-wo-the-repository' 2024-08-23 09:02:34 -07:00
worktree.h Merge branch 'jc/worktree-git-path' 2024-06-24 16:39:15 -07:00
wrap-for-bin.sh
wrapper.c
wrapper.h wrapper: introduce `log2u()` 2024-09-04 08:03:24 -07:00
write-or-die.c
write-or-die.h
ws.c
ws.h
wt-status.c path: stop relying on `the_repository` in `worktree_git_path()` 2024-08-13 10:01:01 -07:00
wt-status.h
xdiff-interface.c global: introduce `USE_THE_REPOSITORY_VARIABLE` macro 2024-06-14 10:26:33 -07:00
xdiff-interface.h hash-ll: merge with "hash.h" 2024-06-14 10:26:33 -07:00

README.md

Build status

Git - fast, scalable, distributed revision control system

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.

Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net.

Please read the file INSTALL for installation instructions.

Many Git online resources are accessible from https://git-scm.com/ including full documentation and Git related tools.

See Documentation/gittutorial.txt to get started, then see Documentation/giteveryday.txt for a useful minimum set of commands, and Documentation/git-<commandname>.txt for documentation of each command. If git has been correctly installed, then the tutorial can also be read with man gittutorial or git help tutorial, and the documentation of each command with man git-<commandname> or git help <commandname>.

CVS users may also want to read Documentation/gitcvs-migration.txt (man gitcvs-migration or git help cvs-migration if git is installed).

The user discussion and development of Git take place on the Git mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to git@vger.kernel.org (read Documentation/SubmittingPatches for instructions on patch submission and Documentation/CodingGuidelines).

Those wishing to help with error message, usage and informational message string translations (localization l10) should see po/README.md (a po file is a Portable Object file that holds the translations).

To subscribe to the list, send an email to git+subscribe@vger.kernel.org (see https://subspace.kernel.org/subscribing.html for details). The mailing list archives are available at https://lore.kernel.org/git/, https://marc.info/?l=git and other archival sites.

Issues which are security relevant should be disclosed privately to the Git Security mailing list git-security@googlegroups.com.

The maintainer frequently sends the "What's cooking" reports that list the current status of various development topics to the mailing list. The discussion following them give a good reference for project status, development direction and remaining tasks.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (depending on your mood):

  • random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant.
  • stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang.
  • "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.
  • "goddamn idiotic truckload of sh*t": when it breaks