Skip to content
A fork of Git containing Microsoft-specific patches.
Branch: vfs-2.22.0
Clone or download
Pull request Compare This branch is 103 commits ahead, 2 commits behind git-for-windows:master.
jeffhostetler Merge pull request #157 from jeffhostetler/vfs-222-status-cache-untra…
…cked-hint

status: deserialize with -uno does not print correct hint
Latest commit 9b1adf3 Jun 26, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github .github: Add configuration for the Sentiment Bot Jun 7, 2019
Documentation multi-pack-index: prepare 'repack' subcommand Jun 8, 2019
block-sha1 sha1: provide another level of indirection for the SHA-1 functions Nov 5, 2015
builtin multi-pack-index: prepare 'repack' subcommand Jun 8, 2019
ci Merge pull request git-for-windows#2148 from dscho/azure-pipelines-msvc Jun 7, 2019
compat trace2: refactor setting process starting time Jun 8, 2019
contrib status: add status serialization mechanism Jun 8, 2019
ewah ewok_rlw.h: add missing 'inline' to function definition Oct 29, 2018
git-gui Merge branch 'git-gui-askyesno' Jun 7, 2019
gitk-git Merge branch 'gitk-and-git-gui-patches' Jun 7, 2019
gitweb gitweb: make hash size independent Apr 1, 2019
mergetools mergetools: add support for smerge (Sublime Merge) Apr 4, 2019
negotiator Merge branch 'jt/fetch-negotiator-skipping' Aug 2, 2018
perl Git.pm: make hash size independent Apr 1, 2019
po Merge branch 'fr_review' of git://github.com/jnavila/git Jun 7, 2019
ppc *.[ch]: manually align parameter lists May 5, 2019
refs
sha1collisiondetection @ 855827c sha1dc: update from upstream May 14, 2019
sha1dc sha1dc: update from upstream May 14, 2019
sha256 sha256: add an SHA-256 implementation using libgcrypt Nov 14, 2018
t status: deserialize with -uno does not print correct hint Jun 25, 2019
templates Update shell scripts to compute empty tree object ID May 2, 2018
trace2 Merge branch 'sg/trace2-rename' May 30, 2019
vcs-svn *.[ch]: manually align parameter lists May 5, 2019
xdiff xdiff: use xmalloc/xrealloc Apr 12, 2019
.clang-format trace2: add for_each macros to clang-format Feb 22, 2019
.editorconfig editorconfig: indicate settings should be kept in sync Oct 9, 2018
.gitattributes gitattributes: mark .png files as binary Jun 7, 2019
.gitignore Merge 'drop-rebase--am.sh' Jun 7, 2019
.gitmodules sha1dc: optionally use sha1collisiondetection as a submodule Jul 3, 2017
.mailmap .mailmap: map Clemens Buchacher's mail addresses Feb 8, 2019
.travis.yml travis: remove the hack to build the Windows job on Azure Pipelines Feb 28, 2019
.tsan-suppressions ThreadSanitizer: add suppressions Aug 23, 2017
BRANCHES.md BRANCHES.md: Add explanation of branches and using forks Jun 8, 2019
CODE_OF_CONDUCT.md Add a Code of Conduct Jun 7, 2019
CONTRIBUTING.md CONTRIBUTING.md: add guide for first-time contributors Jun 7, 2019
COPYING Update COPYING with GPLv2 with new FSF address Jan 17, 2010
GIT-VERSION-GEN gvfs: ensure that the version is based on a GVFS tag Jun 8, 2019
INSTALL RelNotes: add details on Perl module changes Mar 16, 2018
LGPL-2.1 provide a copy of the LGPLv2.1 May 20, 2011
Makefile Add virtual file system settings and hook proc Jun 8, 2019
README.md README.md: Add a Windows-specific preamble Jun 7, 2019
RelNotes Start 2.22 cycle Mar 7, 2019
abspath.c real_path: clarify return value ownership Sep 27, 2017
aclocal.m4 configure: use AC_LANG_PROGRAM consistently Feb 14, 2011
add-interactive.c built-in add -p: respect the `interactive.singlekey` config setting Jun 7, 2019
add-interactive.h built-in add -p: respect the `interactive.singlekey` config setting Jun 7, 2019
add-patch.c built-in add -p: respect the `interactive.singlekey` config setting Jun 7, 2019
advice.c status: add warning when a/b calculation takes too long for long/norm… Jun 8, 2019
advice.h status: add warning when a/b calculation takes too long for long/norm… Jun 8, 2019
alias.c alias.c: mark split_cmdline_strerror() strings for translation Nov 12, 2018
alias.h headers: normalize the spelling of some header guards Oct 18, 2018
alloc.c object_as_type: initialize commit-graph-related fields of 'struct com… Jan 28, 2019
alloc.h object_as_type: initialize commit-graph-related fields of 'struct com… Jan 28, 2019
apply.c sparse-checkout: avoid writing entries with the skip-worktree bit Jun 8, 2019
apply.h Merge branch 'en/incl-forward-decl' Aug 20, 2018
archive-tar.c archive: avoid spawning `gzip` Jun 7, 2019
archive-zip.c archive: convert struct archiver_args to object_id Apr 1, 2019
archive.c Merge branch 'en/merge-directory-renames' May 8, 2019
archive.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
argv-array.c Merge branch 'ma/unpack-trees-free-msgs' May 30, 2018
argv-array.h Merge branch 'ma/unpack-trees-free-msgs' May 30, 2018
attr.c Merge branch 'rd/attr.c-comment-typofix' Mar 11, 2019
attr.h Make git_check_attr() a void function Sep 12, 2018
azure-pipelines.yml ci: also test with MS Visual C on Azure Pipelines Jun 7, 2019
banned.h banned.h: mark strncat() as banned Jan 2, 2019
base85.c base85.c: have SP around arithmetic operators Oct 16, 2013
bisect.c bisect: make diff-tree output prettier Feb 28, 2019
bisect.h *.[ch]: manually align parameter lists May 5, 2019
blame.c Merge branch 'en/merge-directory-renames' May 8, 2019
blame.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
blob.c blob: allow lookup_blob to handle arbitrary repositories Jun 29, 2018
blob.h blob: allow lookup_blob to handle arbitrary repositories Jun 29, 2018
branch.c Merge branch 'dl/branch-from-3dot-merge-base' May 19, 2019
branch.h *.[ch]: manually align parameter lists May 5, 2019
builtin.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
bulk-checkin.c convert has_sha1_file() callers to has_object_file() Jan 8, 2019
bulk-checkin.h *.[ch]: manually align parameter lists May 5, 2019
bundle.c create_bundle(): drop unused "header" parameter Jan 24, 2019
bundle.h create_bundle(): drop unused "header" parameter Jan 24, 2019
cache-tree.c cache-tree: remove use of strbuf_addf in update_one Jun 8, 2019
cache-tree.h cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch Jan 24, 2019
cache.h Add virtual file system settings and hook proc Jun 8, 2019
chdir-notify.c add chdir-notify API Mar 30, 2018
chdir-notify.h add chdir-notify API Mar 30, 2018
check-builtins.sh check-builtins: strip executable suffix $X when enumerating builtins Feb 5, 2015
check_bindir check_bindir: avoid "test <cond> -a/-o <cond>" Jun 9, 2014
checkout.c checkout & worktree: introduce checkout.defaultRemote Jun 11, 2018
checkout.h *.[ch]: manually align parameter lists May 5, 2019
color.c color: protect against out-of-bounds reads and writes Aug 3, 2018
color.h range-diff: use dim/bold cues to improve dual color mode Aug 13, 2018
column.c column: drop unused "opts" parameter in item_length() Jan 24, 2019
column.h *.[ch]: manually align parameter lists May 5, 2019
combine-diff.c Merge branch 'en/combined-all-paths' Mar 7, 2019
command-list.txt Merge branch 'du/cherry-is-plumbing' Oct 26, 2018
commit-graph.c commit-graph: use raw_object_store when closing Jun 7, 2019
commit-graph.h commit-graph: use raw_object_store when closing Jun 7, 2019
commit-reach.c Merge branch 'sb/more-repo-in-api' Feb 5, 2019
commit-reach.h Merge branch 'sb/more-repo-in-api' Feb 5, 2019
commit-slab-decl.h commit-slab: support shared commit-slab May 21, 2018
commit-slab-impl.h commit-slabs: move MAYBE_UNUSED out Oct 24, 2018
commit-slab.h commit-slab: support shared commit-slab May 21, 2018
commit.c commit: add generation to pop_most_recent_commit() Jun 8, 2019
commit.h commit: add generation to pop_most_recent_commit() Jun 8, 2019
common-main.c trace2: report peak memory usage of the process Apr 16, 2019
config.c virtualfilesystem: don't run the virtual file system hook if the inde… Jun 8, 2019
config.h Add virtual file system settings and hook proc Jun 8, 2019
config.mak.dev Makefile: allow for combining DEVELOPER=1 and CFLAGS="..." Feb 24, 2019
config.mak.in Merge branch 'jc/remove-export-from-config-mak-in' Apr 1, 2013
config.mak.uname mingw: add a Makefile target to copy test artifacts Jun 7, 2019
configure.ac autoconf: #include <libintl.h> when checking for gettext() Apr 19, 2019
connect.c mingw: support UNC in git clone file://server/share/repo Jun 7, 2019
connect.h *.[ch]: manually align parameter lists May 5, 2019
connected.c gvfs: allow "virtualizing" objects Jun 8, 2019
connected.h clone: do faster object check for partial clones Apr 21, 2019
convert.c gvfs: ensure all filters and EOL conversions are blocked Jun 8, 2019
convert.h Merge branch 'en/incl-forward-decl' Aug 20, 2018
copy.c copy.c: use error_errno() May 9, 2016
credential-cache--daemon.c style: the opening '{' of a function is in a separate line Dec 10, 2018
credential-cache.c Merge branch 'dl/credential-cache-socket-in-xdg-cache' into maint Aug 23, 2017
credential-store.c mingw: ensure that core.longPaths is handled *always* Jun 7, 2019
credential.c fixup! credential: do not mask the username May 3, 2019
credential.h credential: let helpers tell us to quit Dec 4, 2014
csum-file.c csum-file: refactor finalize_hashfile() method Apr 2, 2018
csum-file.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
ctype.c kwset: use unsigned char to store values with high-bit set Mar 2, 2015
daemon.c Merge branch 'lw/daemon-log-destination' Apr 25, 2018
date.c completion: add more parameter value completion Feb 20, 2019
decorate.c decorate: clean up and document API Dec 8, 2017
decorate.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
delta-islands.c tree-walk: store object_id in a separate member Jan 15, 2019
delta-islands.h delta-islands.c: remove the_repository references Nov 12, 2018
delta.h
detect-compiler Makefile: detect compiler and enable more warnings in DEVELOPER=1 Apr 16, 2018
diff-delta.c Merge branch 'mk/diff-delta-avoid-large-offset' Sep 28, 2017
diff-lib.c mark_fsmonitor_valid(): mark the index as changed if needed Jun 7, 2019
diff-no-index.c Merge branch 'nd/diff-parseopt-4' Apr 25, 2019
diff.c Merge branch 'munmap-before-ext-diff' Jun 7, 2019
diff.h diff: export diffstat interface Jun 7, 2019
diffcore-break.c
diffcore-delta.c diff.c: reduce implicit dependency on the_index Sep 21, 2018
diffcore-order.c wildmatch: remove unused wildopts parameter Jun 24, 2017
diffcore-pickaxe.c Merge branch 'tb/log-G-binary' Jan 14, 2019
diffcore-rename.c diffcore-rename: speed up register_rename_src Jun 7, 2019
diffcore.h diff.c: reduce implicit dependency on the_index Sep 21, 2018
dir-iterator.c Replace all die("BUG: ...") calls by BUG() ones May 6, 2018
dir-iterator.h Add missing includes and forward declarations Aug 15, 2018
dir.c Add virtual file system settings and hook proc Jun 8, 2019
dir.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
editor.c trace2:data: add editor/pager child classification Feb 22, 2019
entry.c Introduce helper to create symlinks that knows about index_state Jun 7, 2019
environment.c Add virtual file system settings and hook proc Jun 8, 2019
exec-cmd.c trace2: create new combined trace facility Feb 22, 2019
exec-cmd.h *.[ch]: remove extern from function declarations using sed May 5, 2019
fast-import.c Merge branch 'bc/hash-transition-16' Apr 25, 2019
fetch-negotiator.c negotiator: unknown fetch.negotiationAlgorithm should error out Aug 1, 2018
fetch-negotiator.h headers: normalize the spelling of some header guards Oct 18, 2018
fetch-object.c fetch-object: set exact_oid when fetching Sep 13, 2018
fetch-object.h fetch-object.h: add missing declaration (hdr-check) Oct 29, 2018
fetch-pack.c commit: add generation to pop_most_recent_commit() Jun 8, 2019
fetch-pack.h fetch_pack(): drop unused parameters Mar 20, 2019
fmt-merge-msg.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
fsck.c Use 'unsigned short' for mode, like diff_filespec does Apr 8, 2019
fsck.h fsck: use oidset instead of oid_array for skipList Sep 12, 2018
fsmonitor.c fsmonitor: force a refresh after the index was discarded May 13, 2019
fsmonitor.h mark_fsmonitor_valid(): mark the index as changed if needed Jun 7, 2019
fuzz-commit-graph.c fuzz-commit-graph: initialize repo object Feb 7, 2019
fuzz-pack-headers.c fuzz: add basic fuzz testing target. Oct 15, 2018
fuzz-pack-idx.c fuzz: add fuzz testing for packfile indices. Oct 15, 2018
generate-cmdlist.sh help -a: do not list commands that are excluded from the build Apr 19, 2019
gettext.c gettext: always use UTF-8 on native Windows Jun 7, 2019
gettext.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
git-add--interactive.perl Allow `add -p` and `add -i` with a large number of files Jun 7, 2019
git-archimport.perl archimport: use safe_pipe_capture for user input Sep 12, 2017
git-bisect.sh bisect--helper: `bisect_start` shell function partially in C Jan 2, 2019
git-compat-util.h Introduce helper to create symlinks that knows about index_state Jun 7, 2019
git-cvsexportcommit.perl cvsexportcommit: force crlf translation May 13, 2019
git-cvsimport.perl perl: call timegm and timelocal with 4-digit year Feb 23, 2018
git-cvsserver.perl cvsserver: use safe_pipe_capture for `constant commands` as well Sep 11, 2017
git-difftool--helper.sh mergetool: use get_merge_tool function May 13, 2019
git-filter-branch.sh Merge branch 'mb/filter-branch-optim' Jul 18, 2018
git-instaweb.sh git-instaweb: add Python builtin http.server support Jan 28, 2019
git-legacy-stash.sh stash -p: (partially) fix bug concerning split hunks Jun 7, 2019
git-merge-octopus.sh Merge branch 'ma/up-to-date' Sep 10, 2017
git-merge-one-file.sh merge-one-file: compute empty blob object ID May 2, 2018
git-merge-resolve.sh merge-resolve: avoid dashed call Aug 26, 2017
git-mergetool--lib.sh Merge branch 'dl/difftool-mergetool' May 19, 2019
git-mergetool.sh mergetool: use get_merge_tool function May 13, 2019
git-p4.py Merge branch 'ld/git-p4-shelve-update-fix' Feb 5, 2019
git-parse-remote.sh i18n: git-parse-remote.sh: mark strings for translation Apr 19, 2016
git-quiltimport.sh git-quiltimport: add --keep-non-patch option Jan 7, 2019
git-rebase--preserve-merges.sh rebase: fold git-rebase--common into the -p backend Jun 7, 2019
git-request-pull.sh request-pull: capitalise "Git" to make it a proper noun Oct 3, 2017
git-send-email.perl Merge branch 'bs/sendemail-tighten-anything-by' Apr 25, 2019
git-sh-i18n.sh i18n: make GETTEXT_POISON a runtime option Nov 9, 2018
git-sh-setup.sh mingw: only use Bash-ism `builtin pwd -W` when available Jun 7, 2019
git-submodule.sh Merge branch 'km/empty-repo-is-still-a-repo' May 8, 2019
git-svn.perl git-svn: search --authors-prog in PATH too Apr 5, 2018
git-web--browse.sh git-web--browse.sh: use the $( ... ) construct for command substitution Apr 23, 2014
git.c gvfs: block unsupported commands when running in a GVFS repo Jun 8, 2019
git.rc mingw: Embed a manifest to trick UAC into Doing The Right Thing Jun 7, 2019
gpg-interface.c Unbreak interactive GPG prompt upon signing Jun 7, 2019
gpg-interface.h gpg-interface.c: obtain primary key fingerprint as well Oct 22, 2018
graph.c Merge branch 'np/log-graph-octopus-fix' into maint Nov 21, 2018
graph.h graph: add support for --line-prefix on all graph-aware output Sep 1, 2016
grep.c Merge branch 'nd/the-index' into md/list-objects-filter-by-depth Jan 15, 2019
grep.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
gvfs.c gvfs: refactor loading the core.gvfs config value Jun 8, 2019
gvfs.h gvfs: block unsupported commands when running in a GVFS repo Jun 8, 2019
hash.h hash: add a function to lookup hash algorithm by length Apr 1, 2019
hashmap.c hashmap: add API to disable item counting when threaded Sep 7, 2017
hashmap.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
help.c completion: fix multiple command removals Mar 21, 2019
help.h *.[ch]: manually align parameter lists May 5, 2019
hex.c hex: introduce functions to print arbitrary hashes Nov 14, 2018
http-backend.c mingw: ensure that core.longPaths is handled *always* Jun 7, 2019
http-fetch.c Merge branch 'ma/http-walker-no-partial' May 8, 2018
http-push.c Merge branch 'cb/http-push-null-in-message-fix' May 19, 2019
http-walker.c Merge branch 'bc/hash-transition-16' Apr 25, 2019
http.c Make fread/fwrite-like functions in http.c more like fread/fwrite. May 8, 2019
http.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
ident.c Merge branch 'ps/stash-in-c' Apr 22, 2019
imap-send.c
interdiff.c interdiff: teach show_interdiff() to indent interdiff Jul 23, 2018
interdiff.h interdiff: teach show_interdiff() to indent interdiff Jul 23, 2018
iterator.h refs: introduce an iterator interface Jun 20, 2016
json-writer.c json_writer: new routines to create JSON data Jul 16, 2018
json-writer.h json-writer.h: add missing include (hdr-check) Sep 20, 2018
khash.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
kwset.c kwset: allow building with GCC 8 Jun 7, 2019
kwset.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
levenshtein.c convert trivial cases to ALLOC_ARRAY Feb 22, 2016
levenshtein.h Typofixes outside documentation area Feb 4, 2010
line-log.c Merge branch 'en/merge-directory-renames' May 8, 2019
line-log.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
line-range.c line-range.c: remove implicit dependency on the_index Sep 21, 2018
line-range.h line-range.c: remove implicit dependency on the_index Sep 21, 2018
linear-assignment.c linear-assignment: fix potential out of bounds memory access Sep 14, 2018
linear-assignment.h linear-assignment: a function to solve least-cost assignment problems Aug 13, 2018
list-objects-filter-options.c list-objects-filter: disable 'sparse:path' filters May 29, 2019
list-objects-filter-options.h list-objects-filter: disable 'sparse:path' filters May 29, 2019
list-objects-filter.c list-objects-filter: disable 'sparse:path' filters May 29, 2019
list-objects-filter.h list-objects-filter.c: remove implicit dependency on the_index Nov 12, 2018
list-objects.c rev-list: detect broken root trees Apr 10, 2019
list-objects.h list-objects: consume sparse tree walk Jan 17, 2019
list.h tempfile: use list.h for linked list Sep 6, 2017
ll-merge.c Merge branch 'en/merge-path-collision' Jan 4, 2019
ll-merge.h Merge branch 'en/merge-path-collision' Jan 4, 2019
lockfile.c lockfile.c: use is_dir_sep() instead of hardcoded '/' checks Jun 7, 2019
lockfile.h *.[ch]: manually align parameter lists May 5, 2019
log-tree.c Merge branch 'wh/author-committer-ident-config' Mar 7, 2019
log-tree.h format-patch: make cover letters always text/plain May 2, 2018
ls-refs.c Merge branch 'jt/namespaced-ls-refs-fix' Feb 5, 2019
ls-refs.h *.[ch]: manually align parameter lists May 5, 2019
mailinfo.c mailinfo: support format=flowed Aug 29, 2018
mailinfo.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
mailmap.c object-store: move object access functions to object-store.h May 16, 2018
mailmap.h Add missing includes and forward declarations Aug 15, 2018
match-trees.c Use 'unsigned short' for mode, like diff_filespec does Apr 8, 2019
mem-pool.c mem_pool: add GIT_TRACE_MEMPOOL support Jun 7, 2019
mem-pool.h block alloc: add validations around cache_entry lifecyle Jul 3, 2018
merge-blobs.c merge-blobs.c: remove implicit dependency on the_index Sep 21, 2018
merge-blobs.h *.[ch]: manually align parameter lists May 5, 2019
merge-recursive.c merge-recursive: teach was_dirty() about the virtualfilesystem Jun 8, 2019
merge-recursive.h merge-recursive.c: remove implicit dependency on the_index Jan 14, 2019
merge.c read-cache.c: kill read_index() Jan 14, 2019
mergesort.c mergesort: rename it to llist_mergesort() Apr 17, 2012
mergesort.h mergesort: rename it to llist_mergesort() Apr 17, 2012
midx.c midx: implement midx_repack() Jun 8, 2019
midx.h multi-pack-index: prepare 'repack' subcommand Jun 8, 2019
name-hash.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch Jan 24, 2019
notes-cache.c
notes-cache.h notes-cache.c: remove the_repository references Nov 12, 2018
notes-merge.c notes-merge: switch to use the_hash_algo Apr 1, 2019
notes-merge.h notes-merge.c: remove implicit dependency on the_index Nov 12, 2018
notes-utils.c notes-utils.c: remove the_repository references Jan 14, 2019
notes-utils.h notes-utils.c: remove the_repository references Jan 14, 2019
notes.c Merge branch 'en/merge-directory-renames' May 8, 2019
notes.h notes: correct documentation of format_display_notes() May 7, 2019
object-store.h sha1-file: split OBJECT_INFO_FOR_PREFETCH Jun 7, 2019
object.c packfile: close_all_packs to close_object_store Jun 7, 2019
object.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
oidmap.c convert hashmap comparison functions to oideq() Aug 29, 2018
oidmap.h *.[ch]: manually align parameter lists May 5, 2019
oidset.c oidset: uninline oidset_init() Oct 4, 2018
oidset.h khash: move oid hash table definition Apr 1, 2019
pack-bitmap-write.c pack-bitmap: replace sha1_to_hex Apr 1, 2019
pack-bitmap.c Merge branch 'bc/hash-transition-16' Apr 25, 2019
pack-bitmap.h pack-bitmap: switch hash tables to use struct object_id Apr 1, 2019
pack-check.c pack-check.c: remove the_repository references Nov 12, 2018
pack-objects.c pack-objects: drop unused parameter from oe_map_new_pack() Feb 14, 2019
pack-objects.h pack-objects: drop unused parameter from oe_map_new_pack() Feb 14, 2019
pack-revindex.c pack-revindex: open index if necessary Apr 16, 2019
pack-revindex.h
pack-write.c convert "hashcmp() != 0" to "!hasheq()" Aug 29, 2018
pack.h *.[ch]: manually align parameter lists May 5, 2019
packfile.c repack: refactor pack deletion for future use Jun 8, 2019
packfile.h repack: refactor pack deletion for future use Jun 8, 2019
pager.c trace2:data: add editor/pager child classification Feb 22, 2019
parse-options-cb.c Merge branch 'nd/diff-parseopt' May 30, 2019
parse-options.c Merge branch 'nd/diff-parseopt' May 30, 2019
parse-options.h Merge branch 'js/parseopt-unknown-cb-returns-an-enum' May 19, 2019
patch-delta.c patch-delta: handle truncated copy parameters Aug 30, 2018
patch-ids.c Merge branch 'nd/the-index' Oct 19, 2018
patch-ids.h patch-ids.c: remove implicit dependency on the_index Sep 21, 2018
path.c mingw: handle absolute paths in expand_user_path() Jun 7, 2019
path.h *.[ch]: manually align parameter lists May 5, 2019
pathspec.c Merge branch 'nd/the-index-final' Feb 7, 2019
pathspec.h
pkt-line.c status: add status serialization mechanism Jun 8, 2019
pkt-line.h status: add status serialization mechanism Jun 8, 2019
prefix-map.c Add a function to determine unique prefixes for a list of strings Jun 7, 2019
prefix-map.h
preload-index.c fscache: update fscache to be thread specific instead of global Jun 7, 2019
pretty.c pretty: drop unused strbuf from parse_padding_placeholder() Mar 20, 2019
pretty.h Merge branch 'sb/more-repo-in-api' Feb 5, 2019
prio-queue.c prio-queue: add 'peek' operation Nov 2, 2018
prio-queue.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
progress.c Merge branch 'sg/progress-off-by-one-fix' May 30, 2019
progress.h Merge branch 'sg/overlong-progress-fix' Apr 25, 2019
prompt.c config: don't include config.h by default Jul 13, 2017
prompt.h prompt.c: remove git_getpass() nobody uses Jan 15, 2015
protocol.c tests: define GIT_TEST_PROTOCOL_VERSION Mar 7, 2019
protocol.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
quote.c Indent code with TABs Dec 9, 2018
quote.h *.[ch]: manually align parameter lists May 5, 2019
range-diff.c format-patch: do not let its diff-options affect --range-diff Nov 30, 2018
range-diff.h format-patch: do not let its diff-options affect --range-diff Nov 30, 2018
reachable.c prune: use bitmaps for reachability traversal Feb 14, 2019
reachable.h *.[ch]: manually align parameter lists May 5, 2019
read-cache.c Add virtual file system settings and hook proc Jun 8, 2019
rebase-interactive.c rebase-interactive: rewrite edit_todo_list() to handle the initial edit Mar 7, 2019
rebase-interactive.h rebase-interactive: rewrite edit_todo_list() to handle the initial edit Mar 7, 2019
ref-filter.c Merge branch 'dr/ref-filter-push-track-fix' May 8, 2019
ref-filter.h parse_opt_ref_sorting: always use with NONEG flag Mar 21, 2019
reflog-walk.c Merge branch 'nd/i18n' Aug 15, 2018
reflog-walk.h *.[ch]: manually align parameter lists May 5, 2019
refs.c mingw: ensure that core.longPaths is handled *always* Jun 7, 2019
refs.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
refspec.c refspec: make hash size independent Apr 1, 2019
refspec.h refspec: add back a refspec_item_init() function Jun 11, 2018
remote-curl.c i18n: fix typos found during l10n for git 2.22.0 Jun 3, 2019
remote-testsvn.c Merge branch 'sb/object-store-grafts' Jul 18, 2018
remote.c Merge branch 'dr/ref-filter-push-track-fix' May 8, 2019
remote.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
replace-object.c Merge branch 'ds/commit-graph-with-grafts' into maint Nov 21, 2018
replace-object.h *.[ch]: manually align parameter lists May 5, 2019
repository.c built-in add -i: refresh the index before running `status` Jun 7, 2019
repository.h built-in add -i: refresh the index before running `status` Jun 7, 2019
rerere.c
rerere.h rerere.c: remove the_repository references Nov 12, 2018
resolve-undo.c resolve-undo.c: use the right index instead of the_index Aug 13, 2018
resolve-undo.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
revision.c Merge branch 'jk/revision-rewritten-parents-in-prio-queue' Apr 25, 2019
revision.h Merge branch 'en/combined-all-paths' Mar 7, 2019
run-command.c backwards-compatibility: support the post-indexchanged hook Jun 8, 2019
run-command.h Add a new run_hook_argv() function Jun 8, 2019
send-pack.c send-pack: do not check for sha1 file when GVFS_MISSING_OK set Jun 8, 2019
send-pack.h Add missing includes and forward declarations Aug 15, 2018
sequencer.c Merge branch 'always-reword-merge-c' Jun 7, 2019
sequencer.h Merge branch 'pw/clean-sequencer-state-upon-final-commit' May 13, 2019
serve.c pack-protocol.txt: accept error packets in any context Jan 2, 2019
serve.h
server-info.c update_info_refs(): drop unused force parameter Apr 16, 2019
setup.c setup_git_directory(): handle UNC root paths correctly Jun 7, 2019
sh-i18n--envsubst.c trace2: create new combined trace facility Feb 22, 2019
sha1-array.c sha1-array: provide oid_array_filter Dec 5, 2018
sha1-array.h sha1-array: provide oid_array_filter Dec 5, 2018
sha1-file.c gvfs:trace2:data: add trace2 tracing around read_object_process Jun 8, 2019
sha1-lookup.c msvc: avoid using minus operator on unsigned types Jun 7, 2019
sha1-lookup.h *.[ch]: manually align parameter lists May 5, 2019
sha1-name.c commit: add generation to pop_most_recent_commit() Jun 8, 2019
sha1dc_git.c sha1dc: allow building with the external sha1dc library Aug 16, 2017
sha1dc_git.h sha1dc_git.h: re-arrange an ifdef chain for a subsequent change Dec 8, 2017
shallow.c fetch-pack: do not take shallow lock unnecessarily Jan 10, 2019
shell.c Merge branch 'nd/command-list' Jun 1, 2018
shortlog.h Add missing includes and forward declarations Aug 15, 2018
sideband.c Merge branch 'jt/fetch-v2-sideband' Feb 5, 2019
sideband.h {fetch,upload}-pack: sideband v2 fetch response Jan 17, 2019
sigchain.c Replace all die("BUG: ...") calls by BUG() ones May 6, 2018
sigchain.h sigchain: add command to pop all common signals Dec 16, 2015
split-index.c Merge branch 'nd/split-index-null-base-fix' Mar 7, 2019
split-index.h split-index: convert struct split_index to object_id May 2, 2018
strbuf.c strbuf_readlink: support link targets that exceed PATH_MAX Jun 7, 2019
strbuf.h Merge branch 'ps/stash-in-c' Apr 22, 2019
streaming.c Merge branch 'jk/loose-object-cache-oid' Feb 7, 2019
streaming.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
string-list.c style: the opening '{' of a function is in a separate line Dec 10, 2018
string-list.h *.[ch]: manually align parameter lists May 5, 2019
sub-process.c trace2:data: add trace2 sub-process classification Feb 22, 2019
sub-process.h *.[ch]: manually align parameter lists May 5, 2019
submodule-config.c submodule-config.c: use repo_get_oid for reading .gitmodules Apr 16, 2019
submodule-config.h *.[ch]: manually align parameter lists May 5, 2019
submodule.c Merge branch 'bc/hash-transition-16' Apr 25, 2019
submodule.h submodule: unset core.worktree if no working tree is present Dec 26, 2018
symlinks.c Indent code with TABs Dec 9, 2018
tag.c tag: express constant in terms of the_hash_algo Oct 15, 2018
tag.h *.[ch]: manually align parameter lists May 5, 2019
tar.h tar-tree: Introduce write_entry() Mar 26, 2006
tempfile.c reopen_tempfile(): truncate opened file Sep 5, 2018
tempfile.h *.[ch]: manually align parameter lists May 5, 2019
thread-utils.c thread-utils: macros to unconditionally compile pthreads API Oct 29, 2018
thread-utils.h thread-utils: macros to unconditionally compile pthreads API Oct 29, 2018
tmp-objdir.c Replace all die("BUG: ...") calls by BUG() ones May 6, 2018
tmp-objdir.h tmp-objdir: introduce API for temporary object directories Oct 10, 2016
trace.c trace.h: support nested performance tracing Aug 18, 2018
trace.h *.[ch]: manually align parameter lists May 5, 2019
trace2.c Merge branch 'jh/trace2' May 13, 2019
trace2.h trace2: rename environment variables to GIT_TRACE2* May 28, 2019
trailer.c pretty: add support for separator option in %(trailers) Jan 29, 2019
trailer.h pretty: add support for separator option in %(trailers) Jan 29, 2019
transport-helper.c transport-helper: prefer Git's builtins over dashed form Jun 7, 2019
transport-internal.h transport: list refs before fetch if necessary Oct 7, 2018
transport.c Merge branch 'jt/clone-server-option' May 8, 2019
transport.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
tree-diff.c Use 'unsigned short' for mode, like diff_filespec does Apr 8, 2019
tree-walk.c Use 'unsigned short' for mode, like diff_filespec does Apr 8, 2019
tree-walk.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
tree.c Merge branch 'nd/the-index-final' Feb 7, 2019
tree.h tree.c: make read_tree*() take 'struct repository *' Nov 19, 2018
unicode-width.h unicode: update the width tables to Unicode 12 Mar 22, 2019
unimplemented.sh unimplemented.sh: use the $( ... ) construct for command substitution Dec 27, 2015
unix-socket.c Merge branch 'rs/strbuf-getcwd' Sep 2, 2014
unix-socket.h credentials: add "cache" helper Dec 12, 2011
unpack-trees.c trace2:gvfs:experiment: traverse_trees Jun 8, 2019
unpack-trees.h unpack-trees: rename "gently" flag to "quiet" Mar 24, 2019
upload-pack.c commit-graph: use raw_object_store when closing Jun 7, 2019
upload-pack.h *.[ch]: manually align parameter lists May 5, 2019
url.c style: the opening '{' of a function is in a separate line Dec 10, 2018
url.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
urlmatch.c urlmatch: use hex2chr() in append_normalized_escapes() Jul 9, 2017
urlmatch.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
usage.c trace2: create new combined trace facility Feb 22, 2019
userdiff.c Merge branch 'nd/style-opening-brace' Jan 18, 2019
userdiff.h notes-cache.c: remove the_repository references Nov 12, 2018
utf8.c utf8: handle systems that don't write BOM for UTF-16 Feb 12, 2019
utf8.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
varint.c cleanups: ensure that git-compat-util.h is included first Sep 15, 2014
varint.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
version.c version --build-options: report commit, too, if possible Jan 2, 2018
version.h version --build-options: report commit, too, if possible Jan 2, 2018
versioncmp.c config: don't include config.h by default Jul 13, 2017
virtualfilesystem.c gvfs:trace2:data: add vfs stats Jun 8, 2019
virtualfilesystem.h Add virtual file system settings and hook proc Jun 8, 2019
walker.c commit: add generation to pop_most_recent_commit() Jun 8, 2019
walker.h walker: drop fields of `struct walker` which are always 1 Apr 24, 2018
wildmatch.c wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode Oct 29, 2018
wildmatch.h wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode Oct 29, 2018
worktree.c Merge branch 'jt/submodule-repo-is-with-worktree' May 8, 2019
worktree.h *.[ch]: manually align parameter lists May 5, 2019
wrap-for-bin.sh Make running git under other debugger-like programs easy Apr 25, 2018
wrapper.c wrapper: move is_empty_file() and rename it as is_empty_or_missing_fi… Jan 2, 2019
write-or-die.c write_or_die.c: rename to use dashes in file name Apr 11, 2018
ws.c Merge branch 'nd/the-index' Oct 19, 2018
wt-status-deserialize.c status: deserialize with -uno does not print correct hint Jun 25, 2019
wt-status-serialize.c gvfs:trace2:data: status serialization Jun 8, 2019
wt-status.c status: serialize to path Jun 8, 2019
wt-status.h gvfs:trace2:data: status deserialization information Jun 8, 2019
xdiff-interface.c completion: add more parameter value completion Feb 20, 2019
xdiff-interface.h *.[ch]: manually align parameter lists May 5, 2019
zlib.c Replace all die("BUG: ...") calls by BUG() ones May 6, 2018

README.md

Git for Windows

Build Status (Windows/macOS/Linux) Build Status (core.autocrlf=true) Join the chat at https://gitter.im/git-for-windows/git

This is Git for Windows, the Windows port of Git.

The Git for Windows project is run using a governance model. If you encounter problems, you can report them as GitHub issues, discuss them on Git for Windows' Google Group, and contribute bug fixes.

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-.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 core 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. The core git mailing list is plain text (no HTML!).

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
You can’t perform that action at this time.