1
0
mirror of https://github.com/git/git.git synced 2024-09-24 12:41:31 +02:00
Git Source Code Mirror. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
Go to file
Junio C Hamano 280bd44551 Merge branch 'en/merge-recursive-cleanup'
The merge-recursive machiery is one of the most complex parts of
the system that accumulated cruft over time.  This large series
cleans up the implementation quite a bit.

* en/merge-recursive-cleanup: (26 commits)
  merge-recursive: fix the fix to the diff3 common ancestor label
  merge-recursive: fix the diff3 common ancestor label for virtual commits
  merge-recursive: alphabetize include list
  merge-recursive: add sanity checks for relevant merge_options
  merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_*
  merge-recursive: split internal fields into a separate struct
  merge-recursive: avoid losing output and leaking memory holding that output
  merge-recursive: comment and reorder the merge_options fields
  merge-recursive: consolidate unnecessary fields in merge_options
  merge-recursive: move some definitions around to clean up the header
  merge-recursive: rename merge_options argument to opt in header
  merge-recursive: rename 'mrtree' to 'result_tree', for clarity
  merge-recursive: use common name for ancestors/common/base_list
  merge-recursive: fix some overly long lines
  cache-tree: share code between functions writing an index as a tree
  merge-recursive: don't force external callers to do our logging
  merge-recursive: remove useless parameter in merge_trees()
  merge-recursive: exit early if index != head
  Ensure index matches head before invoking merge machinery, round N
  merge-recursive: remove another implicit dependency on the_repository
  ...
2019-10-15 13:47:59 +09:00
.github
block-sha1
builtin Merge branch 'en/merge-recursive-cleanup' 2019-10-15 13:47:59 +09:00
ci Merge branch 'dl/honor-cflags-in-hdr-check' 2019-10-07 11:33:02 +09:00
compat Merge branch 'js/diff-rename-force-stable-sort' 2019-10-09 14:00:59 +09:00
contrib Merge branch 'am/visual-studio-config-fix' 2019-10-09 14:00:58 +09:00
Documentation Eighth batch 2019-10-11 14:24:49 +09:00
ewah
git-gui Merge branch 'master' of https://github.com/prati0100/git-gui 2019-09-18 11:22:11 -07:00
gitk-git Merge gitk to pick up emergency build fix 2019-09-17 14:59:18 -07:00
gitweb
mergetools
negotiator
perl git-svn: trim leading and trailing whitespaces in author name 2019-09-28 13:51:42 +09:00
po gitk: rename zh_CN.po to zh_cn.po 2019-09-17 14:58:12 -07:00
ppc *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
refs Merge branch 'sc/pack-refs-deletion-racefix' 2019-08-22 12:34:10 -07:00
sha1collisiondetection@855827c583 sha1dc: update from upstream 2019-05-14 16:45:01 +09:00
sha1dc sha1dc: update from upstream 2019-05-14 16:45:01 +09:00
sha256
t Merge branch 'en/merge-recursive-cleanup' 2019-10-15 13:47:59 +09:00
templates git-merge: honor pre-merge-commit hook 2019-08-07 12:37:33 -07:00
trace2 Merge branch 'jh/trace2-pretty-output' 2019-09-30 13:19:31 +09:00
vcs-svn *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
xdiff Merge branch 'cb/xdiff-no-system-includes-in-dot-c' into maint 2019-08-09 15:18:19 -07:00
.clang-format clang-format: use git grep to generate the ForEachMacros list 2019-06-04 14:50:40 -07:00
.editorconfig
.gitattributes Mark .bat files as requiring CR/LF endings 2019-06-20 14:03:05 -07:00
.gitignore Merge branch 'dl/honor-cflags-in-hdr-check' 2019-10-07 11:33:02 +09:00
.gitmodules
.mailmap .mailmap: update email address of Andrey Mazo 2019-09-20 22:21:28 -07:00
.travis.yml travis-ci: build with GCC 4.8 as well 2019-07-19 14:06:01 -07:00
.tsan-suppressions
abspath.c
aclocal.m4
advice.c Merge branch 'ra/cherry-pick-revert-skip' 2019-07-19 11:30:21 -07:00
advice.h Merge branch 'ra/cherry-pick-revert-skip' 2019-07-19 11:30:21 -07:00
alias.c
alias.h
alloc.c
alloc.h
apply.c Merge branch 'bc/reread-attributes-during-rebase' 2019-09-09 12:26:40 -07:00
apply.h apply.h: include missing header 2019-09-28 14:04:16 +09:00
archive-tar.c Merge branch 'rs/pax-extended-header-length-fix' 2019-09-09 12:26:37 -07:00
archive-zip.c
archive.c tree-walk.c: remove the_repo from get_tree_entry() 2019-06-27 12:45:17 -07:00
archive.h Merge branch 'dl/no-extern-in-func-decl' 2019-05-13 23:50:32 +09:00
argv-array.c
argv-array.h
attr.c treewide: rename 'exclude' methods to 'pattern' 2019-09-05 14:05:12 -07:00
attr.h
azure-pipelines.yml Merge branch 'dl/honor-cflags-in-hdr-check' 2019-10-07 11:33:02 +09:00
banned.h banned.h: fix vsprintf()'s ban message 2019-08-26 10:32:45 -07:00
base85.c
bisect.c bisect: switch to using the_hash_algo 2019-08-19 15:04:58 -07:00
bisect.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
blame.c blame: remove needless comparison with GIT_SHA1_HEXSZ 2019-08-19 15:04:57 -07:00
blame.h Merge branch 'br/blame-ignore' 2019-07-19 11:30:20 -07:00
blob.c object: convert create_object() to use object_id 2019-06-20 10:20:51 -07:00
blob.h
branch.c Merge branch 'nd/switch-and-restore' 2019-07-09 15:25:44 -07:00
branch.h Merge branch 'nd/switch-and-restore' 2019-07-09 15:25:44 -07:00
builtin.h Merge branch 'ab/test-env' 2019-07-25 13:59:20 -07:00
bulk-checkin.c bulk-checkin: zero-initialize hashfile_checkpoint 2019-09-06 11:03:39 -07:00
bulk-checkin.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
bundle.c bundle: switch to use the_hash_algo 2019-08-19 15:04:58 -07:00
bundle.h
cache-tree.c Merge branch 'en/merge-recursive-cleanup' 2019-10-15 13:47:59 +09:00
cache-tree.h cache-tree: share code between functions writing an index as a tree 2019-08-19 10:08:03 -07:00
cache.h Merge branch 'bc/object-id-part17' 2019-10-11 14:24:46 +09:00
chdir-notify.c
chdir-notify.h
check_bindir
check-builtins.sh
checkout.c
checkout.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
color.c
color.h
column.c
column.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
combine-diff.c combine-diff: replace GIT_SHA1_HEXSZ with the_hash_algo 2019-08-19 15:04:58 -07:00
command-list.txt help: move git-diff and git-reset to different groups 2019-05-07 13:04:48 +09:00
commit-graph.c Merge branch 'ah/cleanups' 2019-10-09 14:01:00 +09:00
commit-graph.h upload-pack: disable commit graph more gently for shallow traversal 2019-09-12 12:30:08 -07:00
commit-reach.c
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h
commit-slab.h
commit.c Merge branch 'tb/commit-graph-harden' 2019-10-07 11:32:58 +09:00
commit.h Merge branch 'dl/no-extern-in-func-decl' 2019-05-13 23:50:32 +09:00
common-main.c common-main: delay trace2 initialization 2019-08-06 13:09:01 -07:00
config.c Merge branch 'bc/object-id-part17' 2019-10-11 14:24:46 +09:00
config.h Merge branch 'dl/no-extern-in-func-decl' 2019-05-13 23:50:32 +09:00
config.mak.dev
config.mak.in
config.mak.uname vcxproj: also link-or-copy builtins 2019-07-29 14:51:43 -07:00
configure.ac configure: Detect linking style for HP aCC on HP-UX 2019-06-07 10:06:11 -07:00
connect.c mingw: support UNC in git clone file://server/share/repo 2019-08-26 10:00:33 -07:00
connect.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
connected.c Merge branch 'bc/object-id-part17' 2019-10-11 14:24:46 +09:00
connected.h
convert.c Merge branch 'rs/convert-fix-utf-without-dash' 2019-10-09 14:01:00 +09:00
convert.h am: reload .gitattributes after patching it 2019-09-03 15:16:18 -07:00
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c strbuf: give URL-encoding API a char predicate fn 2019-06-28 08:41:53 -07:00
credential.c
credential.h
csum-file.c
csum-file.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
ctype.c
daemon.c
date.c Quit passing 'now' to date code 2019-09-12 11:03:51 -07:00
decorate.c hashmap: convert sha1hash() to oidhash() 2019-06-20 10:44:22 -07:00
decorate.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
delta-islands.c Merge branch 'jk/oidhash' 2019-07-09 15:25:43 -07:00
delta-islands.h delta-islands: respect progress flag 2019-06-20 13:29:49 -07:00
delta.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
detect-compiler
diff-delta.c diff-delta: set size out-parameter to 0 for NULL delta 2019-09-06 11:03:39 -07:00
diff-lib.c mark_fsmonitor_valid(): mark the index as changed if needed 2019-05-28 12:43:43 -07:00
diff-no-index.c Merge branch 'nd/diff-parseopt-4' 2019-04-25 16:41:12 +09:00
diff.c Merge branch 'bc/object-id-part17' 2019-10-11 14:24:46 +09:00
diff.h patch-id: convert to use the_hash_algo 2019-08-19 15:04:57 -07:00
diffcore-break.c diffcore-break: use a goto instead of a redundant if statement 2019-10-02 15:04:21 +09:00
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c diffcore_rename(): use a stable sort 2019-10-02 14:44:54 +09:00
diffcore.h
dir-iterator.c dir-iterator: add flags parameter to dir_iterator_begin 2019-07-11 13:52:15 -07:00
dir-iterator.h dir-iterator: add flags parameter to dir_iterator_begin 2019-07-11 13:52:15 -07:00
dir.c Merge branch 'en/clean-nested-with-ignored' 2019-10-11 14:24:46 +09:00
dir.h Merge branch 'en/clean-nested-with-ignored' 2019-10-11 14:24:46 +09:00
editor.c pager: add a helper function to clear the last line in the terminal 2019-06-24 13:38:46 -07:00
entry.c fill_stat_cache_info(): prepare for an fsmonitor fix 2019-05-28 12:43:42 -07:00
environment.c Move core_partial_clone_filter_default to promisor-remote.c 2019-06-25 14:05:38 -07:00
exec-cmd.c
exec-cmd.h *.[ch]: remove extern from function declarations using sed 2019-05-05 15:20:08 +09:00
fast-import.c fast-import: duplicate into history rather than passing ownership 2019-08-27 15:03:01 -07:00
fetch-negotiator.c repo-settings: create feature.experimental setting 2019-08-13 13:33:55 -07:00
fetch-negotiator.h repo-settings: create feature.experimental setting 2019-08-13 13:33:55 -07:00
fetch-pack.c Merge branch 'bc/object-id-part17' 2019-10-11 14:24:46 +09:00
fetch-pack.h
fmt-merge-msg.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
fsck.c Merge branch 'br/blame-ignore' 2019-07-19 11:30:20 -07:00
fsck.h
fsmonitor.c Merge branch 'cb/fsmonitor-intfix' into maint 2019-07-29 12:38:15 -07:00
fsmonitor.h mark_fsmonitor_valid(): mark the index as changed if needed 2019-05-28 12:43:43 -07:00
fuzz-commit-graph.c
fuzz-pack-headers.c
fuzz-pack-idx.c
generate-cmdlist.sh
gettext.c Merge branch 'ab/test-env' 2019-07-25 13:59:20 -07:00
gettext.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
git-add--interactive.perl add -i: show progress counter in the prompt 2019-10-04 07:12:19 +09:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'js/diff-rename-force-stable-sort' 2019-10-09 14:00:59 +09:00
git-cvsexportcommit.perl cvsexportcommit: force crlf translation 2019-05-07 18:23:27 +09:00
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh mergetool: use get_merge_tool function 2019-05-13 23:11:59 +09:00
git-filter-branch.sh Recommend git-filter-repo instead of git-filter-branch 2019-09-05 13:01:48 -07:00
git-instaweb.sh
git-legacy-stash.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh Merge branch 'dl/difftool-mergetool' 2019-05-19 16:45:30 +09:00
git-mergetool.sh mergetool: use shell variable magic instead of awk 2019-06-12 13:20:56 -07:00
git-p4.py git-p4: auto-delete named temporary file 2019-10-06 20:43:37 +09:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--preserve-merges.sh rebase: fold git-rebase--common into the -p backend 2019-07-31 12:24:06 -07:00
git-request-pull.sh request-pull: warn if the remote object is not the same as the local one 2019-05-28 13:06:25 -07:00
git-send-email.perl Merge branch 'ab/send-email-transferencoding-fix' 2019-06-13 13:18:46 -07:00
git-sh-i18n.sh tests: make GIT_TEST_GETTEXT_POISON a boolean 2019-06-21 09:42:49 -07:00
git-sh-setup.sh
git-submodule.sh Merge branch 'km/empty-repo-is-still-a-repo' 2019-05-09 00:37:23 +09:00
git-svn.perl
GIT-VERSION-GEN First batch after Git 2.23 2019-08-22 12:41:04 -07:00
git-web--browse.sh
git.c git: use COPY_ARRAY and MOVE_ARRAY in handle_alias() 2019-09-20 11:11:26 -07:00
git.rc mingw: embed a manifest to trick UAC into Doing The Right Thing 2019-06-27 12:55:45 -07:00
gpg-interface.c gpg-interface: do not scan past the end of buffer 2019-07-16 12:15:12 -07:00
gpg-interface.h
graph.c
graph.h
grep.c Merge branch 'cb/pcre1-cleanup' 2019-10-11 14:24:47 +09:00
grep.h Merge branch 'cb/pcre1-cleanup' 2019-10-11 14:24:47 +09:00
hash.h hash.h: move object_id definition from cache.h 2019-06-20 10:40:42 -07:00
hashmap.c
hashmap.h hashmap: convert sha1hash() to oidhash() 2019-06-20 10:44:22 -07:00
help.c Merge branch 'rs/help-unknown-ref-does-not-return' 2019-09-30 13:19:27 +09:00
help.h help: make help_unknown_ref() NORETURN 2019-08-30 10:22:42 -07:00
hex.c
http-backend.c
http-fetch.c
http-push.c object: convert lookup_object() to use object_id 2019-06-20 10:18:09 -07:00
http-walker.c Merge branch 'bc/hash-transition-16' 2019-04-25 16:41:17 +09:00
http.c Merge branch 'mh/http-urlmatch-cleanup' 2019-09-30 13:19:24 +09:00
http.h http: use xmalloc with cURL 2019-08-15 12:37:10 -07:00
ident.c Merge branch 'ps/stash-in-c' 2019-04-22 11:14:43 +09:00
imap-send.c
INSTALL
interdiff.c
interdiff.h
iterator.h
json-writer.c
json-writer.h
khash.h hashmap: convert sha1hash() to oidhash() 2019-06-20 10:44:22 -07:00
kwset.c Merge branch 'rs/copy-array' into maint 2019-07-29 12:38:15 -07:00
kwset.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c Merge branch 'sg/line-log-tree-diff-optim' 2019-09-18 11:50:09 -07:00
line-log.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
line-range.c
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c Merge branch 'jk/partial-clone-sparse-blob' 2019-10-07 11:32:54 +09:00
list-objects-filter-options.h Merge branch 'jk/partial-clone-sparse-blob' 2019-10-07 11:32:54 +09:00
list-objects-filter.c Merge branch 'jk/partial-clone-sparse-blob' 2019-10-07 11:32:54 +09:00
list-objects-filter.h list-objects-filter: implement composite filters 2019-06-28 08:41:53 -07:00
list-objects.c Merge branch 'jk/list-objects-optim-wo-trees' 2019-10-07 11:32:56 +09:00
list-objects.h
list.h
ll-merge.c am: reload .gitattributes after patching it 2019-09-03 15:16:18 -07:00
ll-merge.h am: reload .gitattributes after patching it 2019-09-03 15:16:18 -07:00
lockfile.c
lockfile.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
log-tree.c Merge branch 'rs/simplify-by-deco-with-deco-refs-exclude' 2019-10-07 11:32:54 +09:00
log-tree.h
ls-refs.c upload-pack: strip namespace from symref data 2019-05-28 10:02:00 -07:00
ls-refs.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
mailinfo.c
mailinfo.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
mailmap.c
mailmap.h
Makefile Merge branch 'cb/pcre1-cleanup' 2019-10-11 14:24:47 +09:00
match-trees.c match-trees.c: remove the_repo from shift_tree*() 2019-06-27 12:45:17 -07:00
mem-pool.c
mem-pool.h
merge-blobs.c
merge-blobs.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
merge-recursive.c Merge branch 'en/merge-recursive-cleanup' 2019-10-15 13:47:59 +09:00
merge-recursive.h merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_* 2019-08-19 10:08:04 -07:00
merge.c
mergesort.c
mergesort.h
midx.c midx: switch to using the_hash_algo 2019-08-19 15:05:00 -07:00
midx.h multi-pack-index: prepare 'repack' subcommand 2019-06-11 10:34:40 -07:00
name-hash.c cleanup: fix possible overflow errors in binary search, part 2 2019-06-13 11:28:53 -07:00
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c Merge branch 'mh/notes-duplicate-entries' 2019-09-30 13:19:25 +09:00
notes.h notes: correct documentation of format_display_notes() 2019-05-07 19:08:10 +09:00
object-store.h Merge branch 'ds/object-info-for-prefetch-fix' into maint 2019-07-25 14:27:08 -07:00
object.c treewide: remove duplicate #include directives 2019-10-04 08:16:00 +09:00
object.h object: convert create_object() to use object_id 2019-06-20 10:20:51 -07:00
oidmap.c Merge branch 'cc/test-oidmap' 2019-07-19 11:30:19 -07:00
oidmap.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
oidset.c Merge branch 'br/blame-ignore' 2019-07-19 11:30:20 -07:00
oidset.h Merge branch 'br/blame-ignore' 2019-07-19 11:30:20 -07:00
pack-bitmap-write.c pack-objects: drop packlist index_pos optimization 2019-09-06 11:03:42 -07:00
pack-bitmap.c Merge branch 'jk/misc-uninitialized-fixes' 2019-09-30 13:19:30 +09:00
pack-bitmap.h pack-bitmap.h: remove magic number 2019-09-28 14:04:20 +09:00
pack-check.c
pack-objects.c pack-objects: drop packlist index_pos optimization 2019-09-06 11:03:42 -07:00
pack-objects.h pack-objects: drop packlist index_pos optimization 2019-09-06 11:03:42 -07:00
pack-revindex.c
pack-revindex.h
pack-write.c pack-write: use hash_to_hex when writing checksums 2019-08-19 15:04:58 -07:00
pack.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
packfile.c Merge branch 'rs/dedup-includes' 2019-10-11 14:24:48 +09:00
packfile.h Merge branch 'ds/midx-expire-repack' 2019-09-09 12:26:38 -07:00
pager.c pager: add a helper function to clear the last line in the terminal 2019-06-24 13:38:46 -07:00
parse-options-cb.c Merge branch 'nd/switch-and-restore' 2019-07-09 15:25:44 -07:00
parse-options.c parse-options: allow --end-of-options as a synonym for "--" 2019-08-06 13:05:39 -07:00
parse-options.h Merge branch 'nd/diff-parseopt' 2019-09-09 12:26:38 -07:00
patch-delta.c
patch-ids.c hashmap: convert sha1hash() to oidhash() 2019-06-20 10:44:22 -07:00
patch-ids.h format-patch: make --base patch-id output stable 2019-05-08 19:27:43 +09:00
path.c path: add a function to check for path suffix 2019-08-26 10:36:13 -07:00
path.h path: add a function to check for path suffix 2019-08-26 10:36:13 -07:00
pathspec.c
pathspec.h
pkt-line.c pkt-line: drop 'const'-ness of a param to set_packet_header() 2019-05-16 13:29:06 +09:00
pkt-line.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
preload-index.c mark_fsmonitor_valid(): mark the index as changed if needed 2019-05-28 12:43:43 -07:00
pretty.c log-tree: call load_ref_decorations() in get_name_decoration() 2019-09-09 11:16:40 -07:00
pretty.h
prio-queue.c
prio-queue.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
progress.c Test the progress display 2019-09-17 09:39:16 -07:00
progress.h Merge branch 'sg/overlong-progress-fix' 2019-04-25 16:41:19 +09:00
promisor-remote.c promisor-remote: skip move_to_tail when no-op 2019-10-02 14:56:54 +09:00
promisor-remote.h Merge branch 'dl/honor-cflags-in-hdr-check' 2019-10-07 11:33:02 +09:00
prompt.c
prompt.h
protocol.c
protocol.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
quote.c quote: add sq_append_quote_argv_pretty() 2019-08-09 10:48:02 -07:00
quote.h quote: add sq_append_quote_argv_pretty() 2019-08-09 10:48:02 -07:00
range-diff.c range-diff: internally force diff.noprefix=true 2019-10-03 11:10:33 +09:00
range-diff.h
reachable.c object: convert lookup_object() to use object_id 2019-06-20 10:18:09 -07:00
reachable.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
read-cache.c Merge branch 'tg/stash-refresh-index' 2019-10-07 11:32:53 +09:00
README.md README: fix rendering of text in angle brackets 2019-07-18 14:47:46 -07:00
rebase-interactive.c
rebase-interactive.h
ref-filter.c Merge branch 'rs/get-tagged-oid' 2019-09-30 13:19:29 +09:00
ref-filter.h
reflog-walk.c
reflog-walk.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
refs.c object: convert lookup_unknown_object() to use object_id 2019-06-20 10:06:19 -07:00
refs.h Merge branch 'nd/worktree-name-sanitization' 2019-06-13 13:19:40 -07:00
refspec.c
refspec.h
RelNotes First batch after Git 2.23 2019-08-22 12:41:04 -07:00
remote-curl.c i18n: fix typos found during l10n for git 2.22.0 2019-06-03 11:10:53 -07:00
remote-testsvn.c
remote.c Merge branch 'dr/ref-filter-push-track-fix' 2019-05-09 00:37:26 +09:00
remote.h Merge branch 'dl/no-extern-in-func-decl' 2019-05-13 23:50:32 +09:00
replace-object.c
replace-object.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
repo-settings.c fetch: add fetch.writeCommitGraph config setting 2019-09-03 12:06:14 -07:00
repository.c
repository.h Merge branch 'jk/disable-commit-graph-during-upload-pack' 2019-10-07 11:32:55 +09:00
rerere.c rerere: replace sha1_to_hex 2019-08-19 15:04:59 -07:00
rerere.h
resolve-undo.c
resolve-undo.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
revision.c Merge branch 'ab/pcre-jit-fixes' 2019-10-11 14:24:47 +09:00
revision.h
run-command.c
run-command.h *.[ch]: remove extern from function declarations using sed 2019-05-05 15:20:08 +09:00
send-pack.c
send-pack.h
sequencer.c Merge branch 'en/merge-recursive-cleanup' 2019-10-15 13:47:59 +09:00
sequencer.h Merge branch 'js/rebase-r-strategy' 2019-09-18 11:50:07 -07:00
serve.c
serve.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
server-info.c Merge branch 'ew/server-info-remove-crufts' 2019-06-17 10:15:15 -07:00
setup.c Merge branch 'js/gitdir-at-unc-root' 2019-09-30 13:19:26 +09:00
sh-i18n--envsubst.c cleanup: fix possible overflow errors in binary search, part 2 2019-06-13 11:28:53 -07:00
sha1-array.c
sha1-array.h
sha1-file.c Merge branch 'bc/object-id-part17' 2019-10-11 14:24:46 +09:00
sha1-lookup.c sha1-lookup: switch hard-coded constants to the_hash_algo 2019-08-19 15:04:58 -07:00
sha1-lookup.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
sha1-name.c Merge branch 'rs/nth-switch-code-simplification' 2019-10-07 11:33:00 +09:00
sha1dc_git.c
sha1dc_git.h
shallow.c Merge branch 'rs/dedup-includes' 2019-10-11 14:24:48 +09:00
shell.c
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c
split-index.h
stable-qsort.c Move git_sort(), a stable sort, into into libgit.a 2019-10-02 14:44:51 +09:00
strbuf.c Merge branch 'md/list-objects-filter-combo' 2019-09-18 11:50:09 -07:00
strbuf.h Merge branch 'md/list-objects-filter-combo' 2019-09-18 11:50:09 -07:00
streaming.c
streaming.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
string-list.c
string-list.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
sub-process.c
sub-process.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
submodule-config.c
submodule-config.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
submodule.c submodule: drop unused prefix parameter from some functions 2019-05-13 14:22:54 +09:00
submodule.h submodule: drop unused prefix parameter from some functions 2019-05-13 14:22:54 +09:00
symlinks.c
tag.c tag: factor out get_tagged_oid() 2019-09-05 14:10:18 -07:00
tag.h tag: factor out get_tagged_oid() 2019-09-05 14:10:18 -07:00
tar.h
tempfile.c
tempfile.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
thread-utils.c
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace2.c Merge branch 'jh/trace2' 2019-05-13 23:50:35 +09:00
trace2.h trace2: rename environment variables to GIT_TRACE2* 2019-05-28 10:20:34 -07:00
trace.c packfile: drop release_pack_memory() 2019-08-13 12:21:33 -07:00
trace.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
trailer.c
trailer.h
transport-helper.c Merge branch 'jt/avoid-ls-refs-with-http' 2019-09-18 11:50:10 -07:00
transport-internal.h transport: teach all vtables to allow fetch first 2019-08-22 14:20:39 -07:00
transport.c Merge branch 'jt/avoid-ls-refs-with-http' 2019-09-18 11:50:10 -07:00
transport.h object-store.h: move for_each_alternate_ref() from transport.h 2019-07-01 09:47:29 -07:00
tree-diff.c tree-walk.c: remove the_repo from fill_tree_descriptor() 2019-06-27 12:45:17 -07:00
tree-walk.c Merge branch 'jk/tree-walk-overflow' 2019-08-22 12:34:10 -07:00
tree-walk.h Merge branch 'jk/tree-walk-overflow' 2019-08-22 12:34:10 -07:00
tree.c tree: simplify parse_tree_indirect() 2019-09-03 15:10:53 -07:00
tree.h
unicode-width.h Merge branch 'bb/unicode-12.1-reiwa' into maint 2019-07-25 14:27:11 -07:00
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c treewide: remove duplicate #include directives 2019-10-04 08:16:00 +09:00
unpack-trees.h treewide: rename 'struct exclude_list' to 'struct pattern_list' 2019-09-05 14:05:11 -07:00
upload-pack.c Merge branch 'jk/disable-commit-graph-during-upload-pack' 2019-10-07 11:32:55 +09:00
upload-pack.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
url.c list-objects-filter: implement composite filters 2019-06-28 08:41:53 -07:00
url.h list-objects-filter: implement composite filters 2019-06-28 08:41:53 -07:00
urlmatch.c
urlmatch.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
usage.c
userdiff.c userdiff: add a builtin pattern for dts files 2019-08-21 15:09:34 -07:00
userdiff.h
utf8.c
utf8.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
varint.c
varint.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
version.c
version.h
versioncmp.c
walker.c object: convert lookup_unknown_object() to use object_id 2019-06-20 10:06:19 -07:00
walker.h
wildmatch.c
wildmatch.h
worktree.c Merge branch 'nd/corrupt-worktrees' into maint 2019-07-25 14:27:07 -07:00
worktree.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
wrap-for-bin.sh
wrapper.c Merge branch 'ah/cleanups' 2019-10-09 14:01:00 +09:00
write-or-die.c
ws.c
wt-status.c Merge branch 'bc/object-id-part17' 2019-10-11 14:24:46 +09:00
wt-status.h wt-status: convert struct wt_status to object_id 2019-08-19 15:04:59 -07:00
xdiff-interface.c
xdiff-interface.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
zlib.c

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). To subscribe to the list, send an email with just "subscribe git" in the body to majordomo@vger.kernel.org. The mailing list archives are available at https://public-inbox.org/git/, http://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