The Wayback Machine - https://web.archive.org/web/20160330191843/https://github.com/git-for-windows/git
Skip to content
A fork of Git containing Windows-specific patches.
C Shell Perl Tcl Python C++ Other
Pull request Compare This branch is 11398 commits ahead, 8 commits behind msysgit:master.
Latest commit fce9915 @dscho dscho Merge pull request #677 from yaras/fix-git-675
Fixed masking username with asterisks when reading credentials
Failed to load latest commit information.
.github added issue template mirroring wiki notes
Documentation Merge branch 'program-data-config'
block-sha1 sha1: provide another level of indirection for the SHA-1 functions
builtin Merge branch 'clean-long-paths'
compat Merge branch 'consolez'
contrib Merge pull request #552 from duncansmart/fix-vcproj-gen
ewah ewah: convert to REALLOC_ARRAY, etc
git-gui Merge pull request #665 from yaras/fix-git-664
gitk-git Merge pull request #620 from sidecut/sidecut-gitk-list-references-win…
gitweb gitweb: squelch "uninitialized value" warning
mergetools mergetool: reorder vim/gvim buffers in three-way diffs
perl git-svn: do not reuse caches memoized for a different architecture
po Merge branch 'master' of https://github.com/vnwildman/git
ppc sha1: provide another level of indirection for the SHA-1 functions
refs Merge branch 'jk/tighten-alloc'
t Merge branch 'clean-long-paths'
templates Merge branch 'ma/update-hooks-sample-typofix' into maint
vcs-svn strbuf: introduce starts_with() and ends_with()
xdiff Merge branch 'ps/plug-xdl-merge-leak' into maint
.gitattributes .gitattributes: detect 8-space indent in shell scripts
.gitignore Support Vagrant: quick & easy Linux virtual machine setup
.mailmap mailmap: update my entry with new email address
.travis.yml add DEVELOPER makefile knob to check for acknowledged warnings
CONTRIBUTING.md Add a Code of Conduct
COPYING Update COPYING with GPLv2 with new FSF address
GIT-VERSION-GEN Git 2.8
INSTALL git-imap-send: use libcurl for implementation
LGPL-2.1 provide a copy of the LGPLv2.1
Makefile Merge 'git-wrapper' into HEAD
README.md README.md: Add a Windows-specific preamble
RelNotes First batch for post 2.7 cycle
Vagrantfile Support Vagrant: quick & easy Linux virtual machine setup
abspath.c abspath: convert absolute_path() to strbuf
aclocal.m4 configure: use AC_LANG_PROGRAM consistently
advice.c merge: grammofix in please-commit-before-merge message
advice.h pull: check if in unresolved merge state
alias.c convert trivial cases to ALLOC_ARRAY
alloc.c alloc: factor out commit index
archive-tar.c archive-tar: use xsnprintf for trivial formatting
archive-zip.c Merge branch 'rs/archive-zip-many' into maint
archive.c use st_add and st_mult for allocation size computation
archive.h archive: convert to use parse_pathspec
argv-array.c argv-array: add detach function
argv-array.h argv-array: add detach function
attr.c mingw: Suppress warning that <commit>:.gitattributes does not exist
attr.h correct a few doubled-word nits in comments and documentation
base85.c base85.c: have SP around arithmetic operators
bisect.c Merge branch 'jk/tighten-alloc'
bisect.h bisect: simplify the addition of new bisect terms
blob.c add object_as_type helper for casting objects
blob.h Replace parse_blob() with an explanatory comment
branch.c config: rename git_config_set to git_config_set_gently
branch.h branch: report errors in tracking branch setup
builtin.h Merge branch 'sb/submodule-helper'
bulk-checkin.c use xsnprintf for generating git object headers
bulk-checkin.h cleanups: ensure that git-compat-util.h is included first
bundle.c Remove get_object_hash.
bundle.h Merge branch 'jc/unseekable-bundle'
cache-tree.c Merge branch 'jk/tighten-alloc' into maint
cache-tree.h cache-tree: introduce write_index_as_tree()
cache.h Win32: support long paths
check-builtins.sh check-builtins: strip executable suffix $X when enumerating builtins
check-racy.c ce_match_stat, run_diff_files: use symbolic constants for readability
check_bindir check_bindir: avoid "test <cond> -a/-o <cond>"
color.c color: add color_set helper for copying raw colors
color.h color: add color_set helper for copying raw colors
column.c use xmallocz to avoid size arithmetic
column.h column: support piping stdout to external git-column process
combine-diff.c use st_add and st_mult for allocation size computation
command-list.txt Merge branch 'nd/multiple-work-trees'
commit-slab.h Merge branch 'jc/commit-slab'
commit.c use st_add and st_mult for allocation size computation
commit.h Merge branch 'jk/date-mode-format'
config.c Windows: add support for a Windows-wide configuration
config.mak.in Merge branch 'jc/remove-export-from-config-mak-in'
config.mak.uname Merge 'git-wrapper' into HEAD
configure.ac Merge branch 'jc/sane-grep'
connect.c Merge branch 'cn/deprecate-ssh-git-url'
connect.h connect & http: support -4 and -6 switches for remote operations
connected.c run-command: introduce CHILD_PROCESS_INIT
connected.h connected.c: add new variant that runs with --shallow-file
convert.c Merge branch 'tb/conversion'
convert.h ls-files: add eol diagnostics
copy.c copy.c: make copy_fd() report its status silently
credential-cache--daemon.c Merge branch 'jg/credential-cache-chdir-to-sockdir'
credential-cache.c am, credential-cache: add angle brackets to usage string
credential-store.c strbuf: introduce strbuf_getline_{lf,nul}()
credential.c Do not mask the username when reading credentials
credential.h credential: let helpers tell us to quit
csum-file.c sha1fd_check: die when we cannot open the file
csum-file.h Merge branch 'jk/pack-bitmap'
ctype.c kwset: use unsigned char to store values with high-bit set
daemon.c Merge branch 'jk/tighten-alloc'
date.c date: make "local" orthogonal to date format
decorate.c Remove get_object_hash.
decorate.h decorate: allow const objects to be decorated
delta.h comments: fix misuses of "nor"
diff-delta.c create_delta_index: simplify condition always evaluating to true
diff-lib.c Remove get_object_hash.
diff-no-index.c Merge branch 'nd/diff-with-path-params' into maint
diff.c Merge branch 'jk/tighten-alloc' into maint
diff.h Merge branch 'jk/tighten-alloc' into maint
diffcore-break.c diff -B -M: fix output for "copy and then rewrite" case
diffcore-delta.c use st_add and st_mult for allocation size computation
diffcore-order.c convert trivial cases to ALLOC_ARRAY
diffcore-pickaxe.c react to errors in xdi_diff
diffcore-rename.c use st_add and st_mult for allocation size computation
diffcore.h diff --stat: mark any file larger than core.bigfilethreshold binary
dir.c Revert "Merge branch 'nd/exclusion-regression-fix'"
dir.h Revert "Merge branch 'nd/exclusion-regression-fix'"
editor.c run-command: introduce CHILD_PROCESS_INIT
entry.c use xmallocz to avoid size arithmetic
environment.c Win32: support long paths
exec_cmd.c Merge branch 'ak/extract-argv0-last-dir-sep' into maint
exec_cmd.h prepare_{git,shell}_cmd: use argv_array
fast-import.c Merge branch 'jk/tighten-alloc'
fetch-pack.c fetch-pack: ignore SIGPIPE in sideband demuxer
fetch-pack.h Merge branch 'nd/shallow-clone'
fmt-merge-msg.h fmt-merge-msg: use branch.$name.description
fsck.c convert trivial cases to ALLOC_ARRAY
fsck.h fsck: git receive-pack: support excluding objects from fsck'ing
generate-cmdlist.sh generate-cmdlist: re-implement as shell script
gettext.c gettext: always use UTF-8 on native Windows
gettext.h Merge branch 'ye/http-accept-language'
git-add--interactive.perl Allow `add -p` and `add -i` with a large number of files
git-archimport.perl git-archimport: use a lowercase "usage:" string
git-bisect.sh bisect: allow setting any user-specified in 'git bisect start'
git-compat-util.h Merge 'unc-alternates' into HEAD
git-cvsexportcommit.perl git-cvsexportcommit: use a lowercase "usage:" string
git-cvsimport.perl Merge branch 'cn/cvsimport-perl-update'
git-cvsserver.perl git-cvsserver.perl: fix typo
git-difftool--helper.sh difftool--helper: add explicit exit statement
git-difftool.perl difftool: ignore symbolic links in use_wt_file
git-filter-branch.sh Merge branch 'jk/filter-branch-no-index' into maint
git-instaweb.sh git-instaweb: use @SHELL_PATH@ instead of /bin/sh
git-merge-octopus.sh Windows: make sure that merge-octopus only outputs LF line endings
git-merge-one-file.sh Merge branch 'jk/no-diff-emit-common' into maint
git-merge-resolve.sh Convert to use quiet option when available
git-mergetool--lib.sh mergetool-lib: fix default tool selection
git-mergetool.sh mergetool--lib: set IFS for difftool and mergetool
git-p4.py git-p4.py: add support for filetype change
git-parse-remote.sh remove #!interpreter line from shell libraries
git-quiltimport.sh git-quiltimport: add commandline option --series <file>
git-rebase--am.sh rebase: return non-zero error code if format-patch fails
git-rebase--interactive.sh Merge branch 'jc/sane-grep'
git-rebase--merge.sh *.sh: avoid hardcoding $GIT_DIR/hooks/...
git-rebase.sh Merge branch 'jk/ok-to-fail-gc-auto-in-rebase' into maint
git-relink.perl git-relink: use a lowercase "usage:" string
git-remote-testgit.sh transport-helper: do not request symbolic refs to remote helpers
git-request-pull.sh Merge branch 'lt/request-pull'
git-send-email.perl Merge branch 'ew/send-email-mutt-alias-fix' into maint
git-sh-i18n.sh remove #!interpreter line from shell libraries
git-sh-setup.sh sane_grep: pass "-a" if grep accepts it
git-stash.sh Merge branch 'nk/stash-show-config'
git-submodule.sh submodule: try harder to fetch needed sha1 by direct fetching sha1
git-svn.perl git-svn: fix URL canonicalization during init w/ SVN 1.7+
git-web--browse.sh git-web--browse.sh: use the $( ... ) construct for command substitution
git.c Merge branch 'jk/tighten-alloc'
git.rc mingw: Embed a manifest to trick UAC into Doing The Right Thing
git.spec.in spec: add missing build dependency
gpg-interface.c verify-commit: add option to print raw gpg status information
gpg-interface.h verify-commit: add option to print raw gpg status information
graph.c convert trivial cases to ALLOC_ARRAY
graph.h Revert "graph.c: mark private file-scope symbols as static"
grep.c use xmallocz to avoid size arithmetic
grep.h grep: add color.grep.matchcontext and color.grep.matchselected
hashmap.c convert trivial cases to FLEX_ARRAY macros
hashmap.h hashmap: add string interning API
help.c help: correct behavior for is_executable on Windows
help.h help: add help_unknown_ref()
hex.c add reentrant variants of sha1_to_hex and find_unique_abbrev
http-backend.c Convert struct object to object_id
http-fetch.c Merge branch 'ab/enable-i18n'
http-push.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7
http-walker.c http-walker: store url in a strbuf
http.c http: also treat config options sslCert and sslKey as paths
http.h Merge branch 'ew/force-ipv4'
ident.c mingw: use domain information for default email
imap-send.c use xmallocz to avoid size arithmetic
khash.h convert trivial cases to ALLOC_ARRAY
kwset.c kwset: use unsigned char to store values with high-bit set
kwset.h kwset: use unsigned char to store values with high-bit set
levenshtein.c convert trivial cases to ALLOC_ARRAY
levenshtein.h Typofixes outside documentation area
line-log.c convert trivial cases to ALLOC_ARRAY
line-log.h line-log.c: make line_log_data_init() static
line-range.c line-range: reject -L line numbers less than 1
line-range.h line-range: teach -L/RE/ to search relative to anchor point
list-objects.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7
list-objects.h list-objects: pass full pathname to callbacks
ll-merge.c use xmallocz to avoid size arithmetic
ll-merge.h merge-recursive --patience
lockfile.c lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
lockfile.h lockfile: remove function "hold_lock_file_for_append"
log-tree.c convert trivial cases to FLEX_ARRAY macros
log-tree.h Merge branch 'jn/parse-config-slot'
mailinfo.c strbuf: introduce strbuf_getline_{lf,nul}()
mailinfo.h mailinfo: remove calls to exit() and die() deep in the callchain
mailmap.c mailmap: replace strcpy with xstrdup
mailmap.h mailmap: simplify map_user() interface
match-trees.c use xstrfmt to replace xmalloc + sprintf
merge-blobs.c Merge branch 'jk/no-diff-emit-common' into maint
merge-blobs.h Which merge_file() function do you mean?
merge-recursive.c merge-recursive: find-renames resets threshold
merge-recursive.h merge-recursive: option to disable renames
merge.c Convert struct object to object_id
mergesort.c mergesort: rename it to llist_mergesort()
mergesort.h mergesort: rename it to llist_mergesort()
name-hash.c convert trivial cases to FLEX_ARRAY macros
notes-cache.c notes: allow treeish expressions as notes ref
notes-cache.h introduce notes-cache interface
notes-merge.c Remove get_object_hash.
notes-merge.h notes: extract enum notes_merge_strategy to notes-utils.h
notes-utils.c notes: allow treeish expressions as notes ref
notes-utils.h notes: extract parse_notes_merge_strategy to notes-utils
notes.c Merge branch 'jk/tighten-alloc'
notes.h Merge branch 'jk/notes-merge-from-anywhere'
object.c Remove get_object_hash.
object.h Remove get_object_hash.
pack-bitmap-write.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7
pack-bitmap.c list-objects: pass full pathname to callbacks
pack-bitmap.h pack-bitmap.c: make pack_bitmap_filename() static
pack-check.c convert trivial cases to ALLOC_ARRAY
pack-objects.c use REALLOC_ARRAY for changing the allocation size of arrays
pack-objects.h pack-objects: implement bitmap writing
pack-revindex.c Merge branch 'jk/tighten-alloc'
pack-revindex.h pack-revindex: store entries directly in packed_git
pack-write.c pack-write: simplify index_pack_lockfile using skip_prefix() and xstr…
pack.h finish_tmp_packfile():use strbuf for pathname construction
pager.c Merge branch 'jc/am-i-v-fix' into maint
parse-options-cb.c Merge branch 'kn/for-each-tag-branch'
parse-options.c parse-options: allow -h as a short option
parse-options.h parse-options: allow -h as a short option
patch-delta.c compat: helper for detecting unsigned overflow
patch-ids.c Remove get_object_hash.
patch-ids.h Refactor patch-id filtering out of git-cherry and git-format-patch.
path.c Merge 'unc-alternates' into HEAD
pathspec.c convert trivial cases to ALLOC_ARRAY
pathspec.h Support pathspec magic :(exclude) and its short form :!
pkt-line.c pkt-line: show packets in async processes as "sideband"
pkt-line.h comments: fix misuses of "nor"
preload-index.c add infrastructure for read-only file system level caches
pretty.c Remove get_object_hash.
prio-queue.c prio-queue: make output stable with respect to insertion
prio-queue.h prio-queue: make output stable with respect to insertion
progress.c use xmallocz to avoid size arithmetic
progress.h nicer display of thin pack completion
prompt.c prompt.c: remove git_getpass() nobody uses
prompt.h prompt.c: remove git_getpass() nobody uses
quote.c quote: move comment before sq_quote_buf()
quote.h ls-tree: remove path filtering logic in show_tree
reachable.c Merge branch 'maint-2.5' into maint-2.6
reachable.h pack-objects: match prune logic for discarding objects
read-cache.c Merge branch 'cc/untracked'
ref-filter.c ref-filter.c: mark strings for translation
ref-filter.h branch.c: use 'ref-filter' APIs
reflog-walk.c Merge branch 'dk/reflog-walk-with-non-commit' into maint
reflog-walk.h convert "enum date_mode" into a struct
refs.c use st_add and st_mult for allocation size computation
refs.h Merge branch 'dt/initial-ref-xn-commit-doc'
remote-curl.c Merge branch 'jk/tighten-alloc'
remote-testsvn.c strbuf: introduce strbuf_getline_{lf,nul}()
remote.c Merge branch 'jk/tighten-alloc'
remote.h remote: simplify remote_is_configured()
replace_object.c register_replace_ref(): rewrite to take an object_id argument
rerere.c Merge branch 'jk/rerere-xsnprintf'
rerere.h Merge branch 'jc/rerere'
resolve-undo.c resolve-undo: be specific what part of the index has changed
resolve-undo.h convert unmerge_cache to take struct pathspec
revision.c Merge branch 'jk/tighten-alloc'
revision.h Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7
run-command.c Merge branch 'sb/submodule-parallel-fetch'
run-command.h Merge branch 'sb/submodule-parallel-fetch'
send-pack.c Config option to disable side-band-64k for transport
send-pack.h push: support signing pushes iff the server supports it
sequencer.c Merge branch 'jk/tighten-alloc'
sequencer.h Merge branch 'jc/conflict-hint' into cc/interpret-trailers-more
server-info.c Convert struct object to object_id
setup.c Merge branch 'jk/tighten-alloc' into maint
sh-i18n--envsubst.c use REALLOC_ARRAY for changing the allocation size of arrays
sha1-array.c sha1-array.c: mark a private file-scope symbol as static
sha1-array.h sha1-array.c: mark a private file-scope symbol as static
sha1-lookup.c sha1-lookup: handle duplicates in sha1_pos()
sha1-lookup.h sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1
sha1_file.c Merge branch 'jk/pack-idx-corruption-safety'
sha1_name.c Merge branch 'jk/tighten-alloc'
shallow.c use st_add and st_mult for allocation size computation
shell.c strbuf: introduce strbuf_getline_{lf,nul}()
shortlog.h pretty: Respect --abbrev option
show-index.c convert trivial cases to ALLOC_ARRAY
sideband.c convert trivial sprintf / strcpy calls to xsnprintf
sideband.h pkt-line: move LARGE_PACKET_MAX definition from sideband
sigchain.c sigchain: add command to pop all common signals
sigchain.h sigchain: add command to pop all common signals
split-index.c ewah: add convenient wrapper ewah_serialize_strbuf()
split-index.h split-index: the reading part
strbuf.c strbuf_readlink: support link targets that exceed PATH_MAX
strbuf.h Merge branch 'jc/strbuf-getline'
streaming.c Merge branch 'sb/plug-streaming-leak'
streaming.h streaming: void pointer instead of char pointer
string-list.c Merge branch 'sb/string-list'
string-list.h Merge branch 'sb/string-list'
submodule-config.c config: add 'origin_type' to config_source struct
submodule-config.h push: add recurseSubmodules config option
submodule.c Merge branch 'sb/submodule-parallel-fetch'
submodule.h Merge branch 'sb/submodule-parallel-fetch'
symlinks.c symlinks: remove PATH_MAX limitation
tag.c Remove get_object_hash.
tag.h gpg-interface: move parse_signature() to where it should be
tar.h tar-tree: Introduce write_entry()
tempfile.c register_tempfile(): new function to handle an existing temporary file
tempfile.h register_tempfile(): new function to handle an existing temporary file
test-chmtime.c comments: fix misuses of "nor"
test-config.c add tests for `git_config_get_string_const()`
test-ctype.c test-ctype: add test for is_pathspec_magic
test-date.c convert "enum date_mode" into a struct
test-delta.c tests: use a lowercase "usage:" string
test-dump-cache-tree.c test-dump-cache-tree: avoid overflow of cache-tree name
test-dump-split-index.c commit: don't rewrite shared index unnecessarily
test-dump-untracked-cache.c test-dump-untracked-cache: don't modify the untracked cache
test-fake-ssh.c mingw: fix t5601-clone.sh
test-genrandom.c tests: use a lowercase "usage:" string
test-hashmap.c Merge branch 'js/test-hashmap-squelch-gcc'
test-index-version.c sparse: Fix mingw_main() argument number/type errors
test-line-buffer.c replace {pre,suf}fixcmp() with {starts,ends}_with()
test-match-trees.c Remove get_object_hash.
test-mergesort.c sparse: Fix mingw_main() argument number/type errors
test-mktemp.c Improve error messages when temporary file creation fails
test-parse-options.c parse-options: move unsigned long option parsing out of pack-objects.c
test-path-utils.c Merge branch 'jk/tighten-alloc'
test-prio-queue.c prio-queue: priority queue of pointers to structs
test-read-cache.c read-cache: add simple performance test
test-regex.c cleanups: ensure that git-compat-util.h is included first
test-revision-walking.c convert "enum date_mode" into a struct
test-run-command.c run-command: do not pass child process data into callbacks
test-scrap-cache-tree.c lockfile.h: extract new header file for the functions in lockfile.c
test-sha1-array.c test-sha1-array: read command stream with strbuf_getline()
test-sha1.c test-sha1: add a binary output mode
test-sha1.sh test-sha1.sh: use the $( ... ) construct for command substitution
test-sigchain.c cleanups: ensure that git-compat-util.h is included first
test-string-list.c replace {pre,suf}fixcmp() with {starts,ends}_with()
test-submodule-config.c submodule: use new config API for worktree configurations
test-subprocess.c run-command: introduce CHILD_PROCESS_INIT
test-svn-fe.c msvc: test-svn-fe: Fix linker "unresolved external" error
test-urlmatch-normalization.c builtin/config.c: compilation fix
test-wildmatch.c stop using fnmatch (either native or compat)
thread-utils.c thread-utils.c: detect CPU count on older BSD-like systems
thread-utils.h pack-objects: set number of threads before checking and warning
trace.c trace: use strbuf for quote_crnl output
trace.h pkt-line: support tracing verbatim pack contents
trailer.c trailer.c: mark strings for translation
trailer.h interpret-trailers: add option for in-place editing
transport-helper.c Always auto-gc after calling a fast-import transport
transport.c Merge branch 'cn/deprecate-ssh-git-url'
transport.h connect & http: support -4 and -6 switches for remote operations
tree-diff.c Merge branch 'maint-2.4' into maint-2.5
tree-walk.c do_compare_entry: use already-computed path
tree-walk.h do_compare_entry: use already-computed path
tree.c Remove get_object_hash.
tree.h Merge branch 'jk/squelch-missing-link-warning-for-unreachable' into m…
unicode_width.h Update of unicode_width.h to Unicode Version 7.0
unimplemented.sh unimplemented.sh: use the $( ... ) construct for command substitution
unix-socket.c Merge branch 'rs/strbuf-getcwd'
unix-socket.h credentials: add "cache" helper
unpack-trees.c unpack-trees: fix accidentally quadratic behavior
unpack-trees.h diff-lib, read-tree, unpack-trees: mark cache_entry array paramters c…
update_unicode.sh update_unicode.sh: delete the command group
upload-pack.c Remove get_object_hash.
url.c use strbuf_complete to conditionally append slash
url.h url: decode buffers that are not NUL-terminated
urlmatch.c urlmatch.c: make match_urls() static
urlmatch.h urlmatch.c: make match_urls() static
usage.c vreportf: avoid intermediate buffer
userdiff.c userdiff: add support for Fountain documents
userdiff.h diff: clarify textconv interface
utf8.c utf8: add function to align a string into given strbuf
utf8.h utf8: add function to align a string into given strbuf
varint.c cleanups: ensure that git-compat-util.h is included first
varint.h cleanups: ensure that git-compat-util.h is included first
version.c include agent identifier in capability string
version.h include agent identifier in capability string
versioncmp.c versionsort: support reorder prerelease suffixes
walker.c strbuf: introduce strbuf_getline_{lf,nul}()
walker.h http: init and cleanup separately from http-walker
wildmatch.c wildmatch: properly fold case everywhere
wildmatch.h wildmatch: support "no FNM_PATHNAME" mode
worktree.c worktree.c: fix indentation
worktree.h worktree: add details to the worktree struct
wrap-for-bin.sh test: facilitate debugging Git executables in tests with gdb
wrapper.c Merge branch 'jk/tighten-alloc'
write_or_die.c write_or_die: handle EPIPE in async threads
ws.c use strchrnul() in place of strchr() and strlen()
wt-status.c Merge branch 'mg/wt-status-mismarked-i18n'
wt-status.h wt-status: move #include "pathspec.h" to the header
xdiff-interface.c convert trivial cases to ALLOC_ARRAY
xdiff-interface.h xdiff: reject files larger than ~1GB
zlib.c zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw}

README.md

Git for Windows

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 http://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 http://news.gmane.org/gmane.comp.version-control.git/, http://marc.info/?l=git and other archival sites.

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
Something went wrong with that request. Please try again.