Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1317 commits
Select commit Hold shift + click to select a range
cf2d1d6
Merge branch 'msys2-git-gui'
dscho Jun 7, 2018
9c5b639
Merge branch 'git-gui-hooks-path' of https://github.com/dscho/git-gui
dscho Jul 10, 2018
8fcb31b
Merge pull request #1032 from max630/gitgui_GIT_GIT_unset
dscho Jun 8, 2018
ddbdf8c
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
a0d47ca
mingw: demonstrate that all file handles are inherited by child proce…
dscho Jan 26, 2018
dfd150c
mingw: work around incorrect standard handles
dscho Feb 7, 2018
43a4917
Merge 'gitk' into HEAD
dscho Jun 7, 2018
109dcd4
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
ed22756
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
1895424
Win32: Make the dirent implementation pluggable
kblees Sep 8, 2013
7cbcadb
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
8cf1e7c
Allow `add -p` and `add -i` with a large number of files
kkheller May 27, 2015
a5dbbcb
add infrastructure for read-only file system level caches
kblees Sep 8, 2013
fc5d962
mingw: spawned processes need to inherit only standard handles
dscho Jan 26, 2018
534c64a
mingw: restrict file handle inheritance only on Windows 7 and later
dscho May 31, 2019
8fbe969
t3701: verify that we can add *lots* of files interactively
dscho Sep 12, 2015
a4bae1f
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
1698d27
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
ba385d7
Win32: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
64ab453
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
57a7d9a
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
760526a
fscache: load directories only once
kblees Jun 24, 2014
b837324
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
0c84996
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
e79209a
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
6bdb0ad
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
fd2fbd2
checkout.c: enable fscache for checkout again
Jan 30, 2018
ed091fa
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
e207d70
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
6a6bf71
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
5be76fb
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
8878dc2
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
5de091b
fscache: fscache takes an initial size
benpeart Nov 2, 2018
6dad4f1
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
235a5fd
At the end of the add command, disable and free the fscache so that w…
benpeart Nov 5, 2018
1a1a6a1
fscache: add fscache hit statistics
benpeart Sep 25, 2018
e5d1861
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
5ec649d
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
7283875
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
87dba5d
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
da33847
Win32: support long paths
kblees Jul 28, 2015
33dfb96
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
01b6a79
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
0e98be2
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
4ae7616
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
b579cb1
mingw: ensure that core.longPaths is handled *always*
dscho Aug 29, 2017
272f6b0
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
e9d7272
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
47a3b8e
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
1b642cb
Unbreak interactive GPG prompt upon signing
dscho Sep 6, 2016
b77e8b1
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
454372c
mingw: disable t9020
dscho Feb 23, 2015
834fb39
mingw: ensure valid CTYPE
dscho Feb 21, 2017
a708f75
Win32: implement stat() with symlink support
kblees May 15, 2015
d542cbb
Merge branch 'maybe-drop'
dscho Oct 12, 2018
a9c9619
Win32: remove separate do_lstat() function
kblees May 11, 2015
fe6aedc
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
108e857
Win32: teach fscache and dirent about symlinks
kblees Jan 10, 2017
96fb691
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
3396034
Win32: factor out retry logic
kblees May 19, 2015
7c28b1d
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
2173df4
Win32: add symlink-specific error codes
kblees May 15, 2015
02537f8
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
05bb35c
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
dd47b7f
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
fd9e135
Win32: implement readlink()
kblees May 23, 2015
3ceaa3c
mingw: introduce code to detect whether we're inside a Windows container
zcube Apr 23, 2018
6fde209
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
c433820
mingw: when running in a Windows container, try to rename() harder
zcube Apr 23, 2018
31f7c03
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
de280c4
mingw: move the file_attr_to_st_mode() function definition
zcube Apr 23, 2018
e493b8d
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
ef7c2fe
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
1fd02ee
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
b94f366
Merge branch 'inherit-only-stdhandles'
dscho Jan 31, 2018
6602c4a
transport-helper: prefer Git's builtins over dashed form
dscho Jul 19, 2017
26b10c1
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
791b8cb
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
21b259b
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
1eb0051
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
58fe0ff
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
20e785b
test-run-command: learn to run (parts of) the testsuite
dscho Jul 18, 2017
afb3d0e
test-lib: avoid unnecessary Perl invocation
dscho Aug 5, 2017
b73e988
tests: replace mingw_test_cmp with a helper in C
dscho Jun 7, 2018
01d902c
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
8143fe1
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
97ae5a2
tests: use t/diff-lib/* consistently
dscho Aug 5, 2017
547acdb
gitattributes: mark .png files as binary
dscho Oct 11, 2018
0b2a6fd
tests: move test PNGs into t/diff-lib/
dscho Aug 5, 2017
5462081
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
8527184
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
e58c9e3
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
7eb4358
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
95b4b58
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
ff5f754
t0021: use Windows path when appropriate
dscho Aug 4, 2017
01f2080
t1300: mark all test cases with funny filenames as !MINGW
dscho Jul 3, 2017
3b0248e
t4124: avoid using "normal" diff mode
dscho Jul 5, 2017
4c710ab
t5003: use binary file from t/diff-lib/
dscho Aug 5, 2017
c1ff0d7
t5003: skip `unzip -a` tests with BusyBox
dscho Jul 5, 2017
816e1f1
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
738ac80
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
68472a3
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
461aad4
t7063: when running under BusyBox, avoid unsupported find option
dscho Jul 19, 2017
67d82bd
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
60485c2
t9350: skip ISO-8859-1 test when the environment is always-UTF-8
dscho Jul 8, 2017
8f2d0fe
mingw: kill child processes in a gentler way
dscho May 17, 2017
628af15
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
e2a335d
mingw: really handle SIGINT
dscho Apr 22, 2018
f72c7d9
Add a Code of Conduct
dscho Jul 24, 2015
945661a
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
0f59c30
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
b065bc4
status: reinstate --show-ignored-directory as a deprecated option
dscho Nov 9, 2017
63fc0cc
Add an issue template
shiftkey Feb 18, 2016
11920b7
status: carry the --no-lock-index option for backwards-compatibility
dscho Aug 12, 2016
f63cb67
status: verify that --show-ignored-directory prints a warning
dscho Nov 9, 2017
a089439
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
30aa353
.github: Add configuration for the Sentiment Bot
dscho Feb 20, 2018
afbd779
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
7f694fd
Document how $HOME is set on Windows
alejandro5042 Mar 9, 2018
9a0095a
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
b0af3c0
Merge branch 'inherit-only-stdhandles'
dscho Jan 31, 2018
73ace57
Merge branch 'dont-restrict-handles-on-vista'
dscho Jun 3, 2019
dfd3479
Merge 'add-p-many-files'
dscho Jun 8, 2018
8f9e233
Merge branch 'fscache'
dscho Nov 15, 2018
665d585
Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd
dscho Jun 8, 2018
e9613b7
Merge pull request #971 from jeffhostetler/jeffhostetler/add_preload_…
dscho Jun 8, 2018
e7546d3
Merge pull request #1344 from jeffhostetler/perf_add_excludes_with_fs…
dscho Jun 8, 2018
434724f
Merge pull request #1426 from atetubou/fetch_pack
dscho Jun 8, 2018
d9c5c79
Merge pull request #1468 from atetubou/fscache_checkout_flush
dscho Oct 12, 2018
aec13c7
Merge pull request #1827 from benpeart/fscache_refresh_index
dscho Sep 27, 2018
de2b85a
Merge pull request #1908 from benpeart/FindFirstFileEx-gfw
dscho Nov 5, 2018
7ad6135
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
b8b87e7
Merge pull request #1911 from benpeart/git_test_fscache-gfw
dscho Nov 5, 2018
1feee87
Merge pull request #1914 from benpeart/free-fscache-after-add-gfw
dscho Nov 16, 2018
47971db
Merge pull request #1910 from benpeart/fscache_statistics-gfw
dscho Nov 16, 2018
8a3fc16
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
5571b67
Merge pull request #1934 from benpeart/fscache-thread-safe-enable-gfw
dscho Nov 26, 2018
06fce91
Merge pull request #1937 from benpeart/fscache-NtQueryDirectoryFile-gfw
dscho Nov 27, 2018
e894df6
Merge branch 'long-paths'
dscho Nov 15, 2018
e3d4596
Merge branch 'msys2'
dscho Nov 15, 2018
cd348b2
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
3914160
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
39a0b2a
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
f4b6a49
Merge pull request #2091 from dscho/symlink-attr-extra
dscho Feb 26, 2019
5d8c345
Merge branch 'busybox-w32'
dscho Feb 7, 2019
914259e
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
e6c0817
Merge branch 'status-no-lock-index'
dscho Jun 8, 2018
6763273
Merge pull request #1354 from dscho/phase-out-show-ignored-directory-…
dscho Jun 8, 2018
d003d72
Merge 'readme' into HEAD
dscho Jun 7, 2018
e930b84
reset --stdin: trim carriage return from the paths
Apr 5, 2017
8685ff0
Merge 'gvfs-preamble' into HEAD
dscho Jun 11, 2018
eebc20e
gvfs: start by adding the -gvfs suffix to the version
sanoursa Jan 24, 2017
556f397
gvfs: ensure that the version is based on a GVFS tag
dscho Apr 4, 2017
c1660a4
gvfs: add a GVFS-specific header file
Jan 24, 2017
144792a
gvfs: add the core.gvfs config setting
Jan 24, 2017
06cecbb
gvfs: add the feature to skip writing the index' SHA-1
Jan 24, 2017
a20efb9
gvfs: add the feature that blobs may be missing
Jan 24, 2017
504a085
gvfs: prevent files to be deleted outside the sparse checkout
May 18, 2016
033080a
Add a new run_hook_argv() function
dscho Nov 30, 2016
ff9989f
gvfs: optionally skip reachability checks/upload pack during fetch
May 30, 2016
8e05a37
gvfs: allow "virtualizing" objects
Jan 10, 2017
0677b75
gvfs: ensure all filters and EOL conversions are blocked
Jun 15, 2016
0d3188a
gvfs: add global command pre and post hook procs
May 24, 2016
7ae4285
Allow hooks to be run before setup_git_directory()
dscho Mar 6, 2017
24e0796
gvfs: introduce pre/post command hooks
Jan 24, 2017
330dd40
Hydrate missing loose objects in check_and_freshen()
Mar 15, 2017
c024735
t0400: verify that the hook is called correctly from a subdirectory
dscho Mar 16, 2017
256c87a
Add support for read-object as a background process to retrieve missi…
Jul 18, 2017
bbac540
Pass PID of git process to hooks.
alepauly Apr 10, 2017
7ad7356
sha1_file: when writing objects, skip the read_object_hook
dscho Sep 8, 2017
515fb2e
pre-command: always respect core.hooksPath
dscho Aug 7, 2017
8901a6f
Merge 'read-object-hook' into HEAD
dscho Jun 11, 2018
48204a9
sparse-checkout: update files with a modify/delete conflict
Feb 22, 2017
dab1bda
sparse-checkout: avoid writing entries with the skip-worktree bit
Mar 1, 2017
b716c6f
Fix reset when using the sparse-checkout feature.
Mar 15, 2017
f63e559
Do not remove files outside the sparse-checkout
Apr 5, 2017
0ea4292
Merge 'pre-post-command-hooks' into HEAD
dscho Jun 11, 2018
bd46497
Merge 'sparse-checkout-fixes' into HEAD
dscho Jun 11, 2018
90258dd
status: add status.aheadbehind setting
jeffhostetler Jan 9, 2018
74abe74
Teach ahead-behind and serialized status to play nicely together
jamill Jan 10, 2018
f3633d2
gvfs: refactor loading the core.gvfs config value
Apr 14, 2017
5ce9921
status: add warning when a/b calculation takes too long for long/norm…
jeffhostetler Jan 10, 2018
9bbfc66
status: add status serialization mechanism
jeffhostetler Aug 22, 2017
739c162
cache-tree: remove use of strbuf_addf in update_one
Jul 3, 2017
1c772c5
status: ignore status.aheadbehind in porcelain formats
jeffhostetler Feb 5, 2018
7ecd7ff
Merge branch 'serialize_status_gvfs'
dscho Jun 11, 2018
9935532
status: serialize to path
jeffhostetler Feb 2, 2018
9d1b32e
fetch: Warn about forced updates after branch list
derrickstolee Feb 15, 2018
244a80a
status: reject deserialize in V2 and conflicts
jeffhostetler Feb 7, 2018
dba6f56
push: add --[no-]show-forced-updates passthrough to fetch
derrickstolee Feb 16, 2018
000c99d
fetch: Add --[no-]show-forced-updates argument
derrickstolee Feb 1, 2018
40663cf
Merge branch 'ahead-behind-and-serialized-status'
dscho Jun 11, 2018
ba0012d
fetch: add documentation for --[no-]show-forced-updates
derrickstolee Feb 21, 2018
1c159ad
Add virtual file system settings and hook proc
benpeart Jan 11, 2018
8e19a28
Update the virtualfilesystem support
benpeart Jun 7, 2018
3edccc3
virtualfilesystem: don't run the virtual file system hook if the inde…
benpeart Aug 1, 2018
45cfa01
virtualfilesystem: fix bug with symlinks being ignored
benpeart Sep 25, 2018
d02066d
virtualfilesystem: check if directory is included
Oct 9, 2018
3d24f28
Merge branch 'show-forced-updates'
dscho Jun 11, 2018
c47e476
vfs: fix case where directories not handled correctly
jamill Nov 20, 2018
f779b7f
Merge 'forced-updates-after-branch-list'
dscho Jun 11, 2018
8e08fe1
status: fix rename reporting when using serialization cache
jeffhostetler Jul 25, 2018
3c3c86c
commit: add generation to pop_most_recent_commit()
derrickstolee Jun 13, 2018
8311f39
Merge 'virtual-file-system-support'
dscho Jun 11, 2018
018b9f0
status: add comments for ahead_behind_flags in serialization
jeffhostetler Jul 25, 2018
cef2f3d
Merge 'gvfs/ds/generation-numbers-update'
dscho Jun 11, 2018
9d2ae90
serialize-status: serialize global and repo-local exclude file metadata
jeffhostetler Jul 20, 2018
7182a90
Merge pull request #6 from jeffhostetler/gvfs-serialize-status-rename
jeffhostetler Jul 26, 2018
a50f13a
status: deserialization wait
jeffhostetler Jul 25, 2018
c1d741d
Merge pull request #1 from jeffhostetler/gvfs-serialize-exclude
jeffhostetler Jul 27, 2018
cc8aeb2
rebase/stash: make post-command hook work again
dscho Oct 12, 2018
f48f420
Merge pull request #7 from jeffhostetler/gvfs-status-serialize-wait
jeffhostetler Jul 31, 2018
cb7747a
fsck: use ERROR_MULTI_PACK_INDEX
derrickstolee Sep 24, 2018
6d4425f
Merge pull request #36 Avoid `sane_execvp` in `git rebase` and `git s…
derrickstolee Oct 12, 2018
634c47f
send-pack: do not check for sha1 file when GVFS_MISSING_OK set
Nov 16, 2018
86222df
Merge pull request #24 Match multi-pack-index feature from upstream
dscho Oct 18, 2018
7d4a927
gvfs: block unsupported commands when running in a GVFS repo
benpeart Dec 6, 2018
3c3305c
Merge pull request #68 send-pack do not check for sha1 file when GVFS…
Nov 27, 2018
98b045d
Merge pull request #91 from benpeart/block-commands
benpeart Dec 13, 2018
d9fc1d1
gvfs:trace2:data: add trace2 tracing around read_object_process
jeffhostetler Sep 26, 2018
f3670bb
gvfs:trace2:data: status deserialization information
jeffhostetler Sep 26, 2018
57ac491
gvfs:trace2:data: status serialization
jeffhostetler Jan 7, 2019
a3dce46
BRANCHES.md: Add explanation of branches and using forks
Jul 27, 2018
091250b
gvfs:trace2:data: add vfs stats
jeffhostetler Nov 19, 2018
fcdf2c2
Merge pull request #98 Add explanation of branches and using forks
Dec 19, 2018
d4bf663
trace2: refactor setting process starting time
jeffhostetler Apr 15, 2019
d3f3381
Merge branch 'jh-vfs-trace2-p1-vfs' into jh-221
jeffhostetler Apr 23, 2019
1dcb187
trace2:gvfs:experiment: clear_ce_flags_1
jeffhostetler Apr 30, 2019
2023a0c
trace2:gvfs:experiment: prime_cache_tree
jeffhostetler Apr 30, 2019
54a6d82
merge-recursive: avoid confusing logic in was_dirty()
dscho May 21, 2019
abfecf6
trace2:gvfs:experiment: traverse_trees
jeffhostetler Apr 30, 2019
1b043b5
merge-recursive: add some defensive coding to was_dirty()
dscho May 21, 2019
3a9dae0
trace2:gvfs:experiment: report_tracking
jeffhostetler Apr 30, 2019
1a10078
Merge branch 'jh-vfs-trace2-sid-fix' into jh-221
jeffhostetler Apr 23, 2019
8e20d94
merge-recursive: teach was_dirty() about the virtualfilesystem
dscho May 21, 2019
9d01ad1
Merge pull request #133 from jeffhostetler/gvfs-trace2-checkout-exper…
jeffhostetler May 1, 2019
322f9eb
repack: refactor pack deletion for future use
derrickstolee Dec 17, 2018
6b2f120
Docs: rearrange subcommands for multi-pack-index
derrickstolee Dec 21, 2018
276c1ef
multi-pack-index: prepare for 'expire' subcommand
derrickstolee Dec 5, 2018
955c949
midx: simplify computation of pack name lengths
derrickstolee Jan 7, 2019
6ed5be1
midx: refactor permutation logic and pack sorting
derrickstolee Jan 7, 2019
e6408b2
multi-pack-index: implement 'expire' subcommand
derrickstolee Dec 5, 2018
b500c21
multi-pack-index: prepare 'repack' subcommand
derrickstolee Dec 5, 2018
1a5f9bc
midx: implement midx_repack()
derrickstolee Dec 5, 2018
2981593
multi-pack-index: test expire while adding packs
derrickstolee Jan 8, 2019
7e6e0b6
midx: add test that 'expire' respects .keep files
derrickstolee Jan 24, 2019
bbbea4e
Merge branch 'virtualfilesystem-and-merge-recursive'
dscho May 21, 2019
4ab0bc5
t5319-multi-pack-index.sh: test batch size zero
derrickstolee Apr 24, 2019
cf7c42c
Merge pull request #143 from derrickstolee/midx-expire/ms
dscho May 28, 2019
58ad016
backwards-compatibility: support the post-indexchanged hook
dscho May 28, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions BRANCHES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Branches used in this repo
==========================

The document explains the branching structure that we are using in the VFSForGit repository as well as the forking strategy that we have adopted for contributing.

Repo Branches
-------------

1. master

This will track the Git for Windows repository master branch

2. vfs

Would like to use this branch as an ever-green branch that continually rebases the VFSForGit changes onto a windows ever-green branch that is on the core/master, so that we can detect when the patches for VFSForGit have issues or if we have a new version patches sent upstream git we can regenerate this branch.

3. vs/master

This tracks with the Git for Windows repository vs/master branch and are the generated files for using a Visual Studio solution.

4. vfs-#

These branches are used to track the specific version that match Git for Windows with the VFSForGit specific patches on top. When a new version of Git for Windows is released, the VFSForGit patches will be rebased on that windows version and a new gvfs-# branch created to create pull requests against.

#### Examples

```
vfs-2.20.0
vfs-2.20.1
```

The versions of git for VFSForGit are based on the Git for Windows versions. v2.20.0.vfs.1 will correspond with the v2.20.0.windows.1 with the VFSForGit specific patches applied to the windows version.

Tags
----

We are using annotated tags to build the version number for git. The build will look back through the commit history to find the first tag matching `v[0-9]*vfs*` and build the git version number using that tag.

Forking
-------

A personal fork of this repository and a branch in that repository should be used for development.

These branches should be based on the latest vfs-# branch. If there are work in progress pull requests that you have based on a previous version branch when a new version branch is created, you will need to move your patches to the new branch to get them in that latest version.

#### Example

```
git clone <personal fork repo URL>
git remote add ms https://github.com/Microsoft/git.git
git checkout -b my-changes ms/vfs-2.20.0 --no-track
git push -fu origin HEAD
```
21 changes: 15 additions & 6 deletions Documentation/RelNotes/2.22.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ Git 2.22 Release Notes
Updates since v2.21
-------------------

Backward compatibility note

* The filter specification "--filter=sparse:path=<path>" used to
create a lazy/partial clone has been removed. Using a blob that is
part of the project as sparse specification is still supported with
the "--filter=sparse:oid=<blob>" option.

UI, Workflows & Features

* "git checkout --no-overlay" can be used to trigger a new mode of
Expand Down Expand Up @@ -181,7 +188,7 @@ Performance, Internal Implementation, Development Support etc.
been optimized out.

* Mechanically and systematically drop "extern" from function
declarlation.
declaration.

* The script to aggregate perf result unconditionally depended on
libjson-perl even though it did not have to, which has been
Expand Down Expand Up @@ -270,7 +277,7 @@ Fixes since v2.21
* On platforms where "git fetch" is killed with SIGPIPE (e.g. OSX),
the upload-pack that runs on the other end that hangs up after
detecting an error could cause "git fetch" to die with a signal,
which led to a flakey test. "git fetch" now ignores SIGPIPE during
which led to a flaky test. "git fetch" now ignores SIGPIPE during
the network portion of its operation (this is not a problem as we
check the return status from our write(2)s).
(merge 143588949c jk/no-sigpipe-during-network-transport later to maint).
Expand Down Expand Up @@ -358,7 +365,7 @@ Fixes since v2.21
(merge b5a0bd694c nd/read-tree-reset-doc later to maint).

* Code clean-up around a much-less-important-than-it-used-to-be
update_server_info() funtion.
update_server_info() function.
(merge b3223761c8 jk/server-info-rabbit-hole later to maint).

* The message given when "git commit -a <paths>" errors out has been
Expand Down Expand Up @@ -450,7 +457,7 @@ Fixes since v2.21
* When given a tag that points at a commit-ish, "git replace --graft"
failed to peel the tag before writing a replace ref, which did not
make sense because the old graft mechanism the feature wants to
mimick only allowed to replace one commit object with another.
mimic only allowed to replace one commit object with another.
This has been fixed.
(merge ee521ec4cb cc/replace-graft-peel-tags later to maint).

Expand Down Expand Up @@ -500,7 +507,7 @@ Fixes since v2.21
conflicts are resolved in working tree *.h files but before the
resolved results are added to the index. This has been corrected.

* "git chery-pick" (and "revert" that shares the same runtime engine)
* "git cherry-pick" (and "revert" that shares the same runtime engine)
that deals with multiple commits got confused when the final step
gets stopped with a conflict and the user concluded the sequence
with "git commit". Attempt to fix it by cleaning up the state
Expand Down Expand Up @@ -535,7 +542,7 @@ Fixes since v2.21
todo-list "rebase -i -r" uses should not be shown as a hex object
name.

* A prerequiste check in the test suite to see if a working jgit is
* A prerequisite check in the test suite to see if a working jgit is
available was made more robust.
(merge abd0f28983 tz/test-lib-check-working-jgit later to maint).

Expand Down Expand Up @@ -586,3 +593,5 @@ Fixes since v2.21
(merge 397a46db78 js/t5580-unc-alternate-test later to maint).
(merge d4907720a2 cm/notes-comment-fix later to maint).
(merge 9dde06de13 cb/http-push-null-in-message-fix later to maint).
(merge 4c785c0edc js/rebase-config-bitfix later to maint).
(merge 8e9fe16c87 es/doc-gitsubmodules-markup later to maint).
56 changes: 56 additions & 0 deletions Documentation/config/core.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,14 @@ core.fsmonitor::
avoiding unnecessary processing of files that have not changed.
See the "fsmonitor-watchman" section of linkgit:githooks[5].

core.virtualFilesystem::
If set, the value of this variable is used as a command which
will identify all files and directories that are present in
the working directory. Git will only track and update files
listed in the virtual file system. Using the virtual file system
will supersede the sparse-checkout settings which will be ignored.
See the "virtual file system" section of linkgit:githooks[5].

core.trustctime::
If false, the ctime differences between the index and the
working tree are ignored; useful when the inode change time
Expand Down Expand Up @@ -570,6 +578,12 @@ core.unsetenvvars::
Defaults to `PERL5LIB` to account for the fact that Git for
Windows insists on using its own Perl interpreter.

core.restrictinheritedhandles::
Windows-only: override whether spawned processes inherit only standard
file handles (`stdin`, `stdout` and `stderr`) or all handles. Can be
`auto`, `true` or `false`. Defaults to `auto`, which means `true` on
Windows 7 and later, and `false` on older Windows versions.

core.createObject::
You can set this to 'link', in which case a hardlink followed by
a delete of the source are used to make sure that object creation
Expand Down Expand Up @@ -603,6 +617,48 @@ core.multiPackIndex::
single index. See link:technical/multi-pack-index.html[the
multi-pack-index design document].

core.gvfs::
Enable the features needed for GVFS. This value can be set to true
to indicate all features should be turned on or the bit values listed
below can be used to turn on specific features.
+
--
GVFS_SKIP_SHA_ON_INDEX::
Bit value 1
Disables the calculation of the sha when writing the index
GVFS_MISSING_OK::
Bit value 4
Normally git write-tree ensures that the objects referenced by the
directory exist in the object database. This option disables this check.
GVFS_NO_DELETE_OUTSIDE_SPARSECHECKOUT::
Bit value 8
When marking entries to remove from the index and the working
directory this option will take into account what the
skip-worktree bit was set to so that if the entry has the
skip-worktree bit set it will not be removed from the working
directory. This will allow virtualized working directories to
detect the change to HEAD and use the new commit tree to show
the files that are in the working directory.
GVFS_FETCH_SKIP_REACHABILITY_AND_UPLOADPACK::
Bit value 16
While performing a fetch with a virtual file system we know
that there will be missing objects and we don't want to download
them just because of the reachability of the commits. We also
don't want to download a pack file with commits, trees, and blobs
since these will be downloaded on demand. This flag will skip the
checks on the reachability of objects during a fetch as well as
the upload pack so that extraneous objects don't get downloaded.
GVFS_BLOCK_FILTERS_AND_EOL_CONVERSIONS::
Bit value 64
With a virtual file system we only know the file size before any
CRLF or smudge/clean filters processing is done on the client.
To prevent file corruption due to truncation or expansion with
garbage at the end, these filters must not run when the file
is first accessed and brought down to the client. Git.exe can't
currently tell the first access vs subsequent accesses so this
flag just blocks them from occurring at all.
--

core.sparseCheckout::
Enable "sparse checkout" feature. See section "Sparse checkout" in
linkgit:git-read-tree[1] for more information.
Expand Down
27 changes: 27 additions & 0 deletions Documentation/config/status.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ status.branch::
Set to true to enable --branch by default in linkgit:git-status[1].
The option --no-branch takes precedence over this variable.

status.aheadBehind::
EXPERIMENTAL, Set to true to enable --ahead-behind and false to
enable --no-ahead-behind by default in linkgit:git-status[1] for
non-porcelain status formats. Defaults to true.

status.displayCommentPrefix::
If set to true, linkgit:git-status[1] will insert a comment
prefix before each output line (starting with
Expand Down Expand Up @@ -70,3 +75,25 @@ status.submoduleSummary::
the --ignore-submodules=dirty command-line option or the 'git
submodule summary' command, which shows a similar output but does
not honor these settings.

status.deserializePath::
EXPERIMENTAL, Pathname to a file containing cached status results
generated by `--serialize`. This will be overridden by
`--deserialize=<path>` on the command line. If the cache file is
invalid or stale, git will fall-back and compute status normally.

status.deserializeWait::
EXPERIMENTAL, Specifies what `git status --deserialize` should do
if the serialization cache file is stale and whether it should
fall-back and compute status normally. This will be overridden by
`--deserialize-wait=<value>` on the command line.
+
--
* `fail` - cause git to exit with an error when the status cache file
is stale; this is intended for testing and debugging.
* `block` - cause git to spin and periodically retry the cache file
every 100 ms; this is intended to help coordinate with another git
instance concurrently computing the cache file.
* `no` - to immediately fall-back if cache file is stale. This is the default.
* `<timeout>` - time (in tenths of a second) to spin and retry.
--
18 changes: 9 additions & 9 deletions Documentation/config/trace2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,53 +4,53 @@ command line arguments are not respected.

trace2.normalTarget::
This variable controls the normal target destination.
It may be overridden by the `GIT_TR2` environment variable.
It may be overridden by the `GIT_TRACE2` environment variable.
The following table shows possible values.

trace2.perfTarget::
This variable controls the performance target destination.
It may be overridden by the `GIT_TR2_PERF` environment variable.
It may be overridden by the `GIT_TRACE2_PERF` environment variable.
The following table shows possible values.

trace2.eventTarget::
This variable controls the event target destination.
It may be overridden by the `GIT_TR2_EVENT` environment variable.
It may be overridden by the `GIT_TRACE2_EVENT` environment variable.
The following table shows possible values.
+
include::../trace2-target-values.txt[]

trace2.normalBrief::
Boolean. When true `time`, `filename`, and `line` fields are
omitted from normal output. May be overridden by the
`GIT_TR2_BRIEF` environment variable. Defaults to false.
`GIT_TRACE2_BRIEF` environment variable. Defaults to false.

trace2.perfBrief::
Boolean. When true `time`, `filename`, and `line` fields are
omitted from PERF output. May be overridden by the
`GIT_TR2_PERF_BRIEF` environment variable. Defaults to false.
`GIT_TRACE2_PERF_BRIEF` environment variable. Defaults to false.

trace2.eventBrief::
Boolean. When true `time`, `filename`, and `line` fields are
omitted from event output. May be overridden by the
`GIT_TR2_EVENT_BRIEF` environment variable. Defaults to false.
`GIT_TRACE2_EVENT_BRIEF` environment variable. Defaults to false.

trace2.eventNesting::
Integer. Specifies desired depth of nested regions in the
event output. Regions deeper than this value will be
omitted. May be overridden by the `GIT_TR2_EVENT_NESTING`
omitted. May be overridden by the `GIT_TRACE2_EVENT_NESTING`
environment variable. Defaults to 2.

trace2.configParams::
A comma-separated list of patterns of "important" config
settings that should be recorded in the trace2 output.
For example, `core.*,remote.*.url` would cause the trace2
output to contain events listing each configured remote.
May be overridden by the `GIT_TR2_CONFIG_PARAMS` environment
May be overridden by the `GIT_TRACE2_CONFIG_PARAMS` environment
variable. Unset by default.

trace2.destinationDebug::
Boolean. When true Git will print error messages when a
trace target destination cannot be opened for writing.
By default, these errors are suppressed and tracing is
silently disabled. May be overridden by the
`GIT_TR2_DST_DEBUG` environment variable.
`GIT_TRACE2_DST_DEBUG` environment variable.
13 changes: 13 additions & 0 deletions Documentation/fetch-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,19 @@ endif::git-pull[]
When multiple `--server-option=<option>` are given, they are all
sent to the other side in the order listed on the command line.

--show-forced-updates::
By default, git checks if a branch is force-updated during
fetch. This can be disabled through fetch.showForcedUpdates, but
the --show-forced-updates option guarantees this check occurs.
See linkgit:git-config[1].

--no-show-forced-updates::
By default, git checks if a branch is force-updated during
fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates
to false to skip this check for performance reasons. If used during
'git-pull' the --ff-only option will still check for forced updates
before attempting a fast-forward update. See linkgit:git-config[1].

-4::
--ipv4::
Use IPv4 addresses only, ignoring IPv6 addresses.
Expand Down
32 changes: 27 additions & 5 deletions Documentation/git-multi-pack-index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ git-multi-pack-index - Write and verify multi-pack-indexes
SYNOPSIS
--------
[verse]
'git multi-pack-index' [--object-dir=<dir>] <verb>
'git multi-pack-index' [--object-dir=<dir>] <subcommand>

DESCRIPTION
-----------
Expand All @@ -23,13 +23,35 @@ OPTIONS
`<dir>/packs/multi-pack-index` for the current MIDX file, and
`<dir>/packs` for the pack-files to index.

The following subcommands are available:

write::
When given as the verb, write a new MIDX file to
`<dir>/packs/multi-pack-index`.
Write a new MIDX file.

verify::
When given as the verb, verify the contents of the MIDX file
at `<dir>/packs/multi-pack-index`.
Verify the contents of the MIDX file.

expire::
Delete the pack-files that are tracked by the MIDX file, but
have no objects referenced by the MIDX. Rewrite the MIDX file
afterward to remove all references to these pack-files.

repack::
Create a new pack-file containing objects in small pack-files
referenced by the multi-pack-index. If the size given by the
`--batch-size=<size>` argument is zero, then create a pack
containing all objects referenced by the multi-pack-index. For
a non-zero batch size, Select the pack-files by examining packs
from oldest-to-newest, computing the "expected size" by counting
the number of objects in the pack referenced by the
multi-pack-index, then divide by the total number of objects in
the pack and multiply by the pack size. We select packs with
expected size below the batch size until the set of packs have
total expected size at least the batch size. If the total size
does not reach the batch size, then do nothing. If a new pack-
file is created, rewrite the multi-pack-index to reference the
new pack-file. A later run of 'git multi-pack-index expire' will
delete the pack-files that were part of this batch.


EXAMPLES
Expand Down
5 changes: 3 additions & 2 deletions Documentation/git-pull.txt
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,9 @@ When set to `merges`, rebase using `git rebase --rebase-merges` so that
the local merge commits are included in the rebase (see
linkgit:git-rebase[1] for details).
+
When set to preserve, rebase with the `--preserve-merges` option passed
to `git rebase` so that locally created merge commits will not be flattened.
When set to `preserve` (deprecated in favor of `merges`), rebase with the
`--preserve-merges` option passed to `git rebase` so that locally created
merge commits will not be flattened.
+
When false, merge the current branch into the upstream branch.
+
Expand Down
Loading