Skip to content

Commit c33d7cd

Browse files
committed
Merge branch 'spawn-with-spaces'
This topic branch conflicts with the next change that will change the way we call `CreateProcessW()`. So let's merge it early, to avoid merge conflicts during a merge (because we would have to resolve this with every single merging-rebase). Signed-off-by: Johannes Schindelin <[email protected]>
2 parents df9e907 + 45f1117 commit c33d7cd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+3279
-323
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*.pl eof=lf diff=perl
66
*.pm eol=lf diff=perl
77
*.py eol=lf diff=python
8+
*.bat eol=crlf
89
/Documentation/**/*.txt eol=lf
910
/command-list.txt eol=lf
1011
/GIT-VERSION-GEN eol=lf

.gitignore

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,42 @@
190190
/gitweb/static/gitweb.js
191191
/gitweb/static/gitweb.min.*
192192
/command-list.h
193+
/libgit
194+
/test-chmtime
195+
/test-ctype
196+
/test-config
197+
/test-date
198+
/test-delta
199+
/test-dump-cache-tree
200+
/test-dump-split-index
201+
/test-dump-untracked-cache
202+
/test-fake-ssh
203+
/test-scrap-cache-tree
204+
/test-genrandom
205+
/test-hashmap
206+
/test-index-version
207+
/test-line-buffer
208+
/test-match-trees
209+
/test-mergesort
210+
/test-mktemp
211+
/test-parse-options
212+
/test-path-utils
213+
/test-prio-queue
214+
/test-read-cache
215+
/test-regex
216+
/test-revision-walking
217+
/test-run-command
218+
/test-sha1
219+
/test-sha1-array
220+
/test-sigchain
221+
/test-string-list
222+
/test-submodule-config
223+
/test-subprocess
224+
/test-svn-fe
225+
/test-urlmatch-normalization
226+
/test-wildmatch
227+
/vcs-svn_lib
228+
/xdiff_lib
193229
*.tar.gz
194230
*.dsc
195231
*.deb
@@ -227,5 +263,14 @@
227263
*.user
228264
*.idb
229265
*.pdb
230-
/Debug/
231-
/Release/
266+
*.ilk
267+
*.iobj
268+
*.ipdb
269+
*.dll
270+
.vs/
271+
*.manifest
272+
Debug/
273+
Release/
274+
/UpgradeLog*.htm
275+
/git.VC.VC.opendb
276+
/git.VC.db

Documentation/config.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,8 @@ include::config/reset.txt[]
406406

407407
include::config/sendemail.txt[]
408408

409+
include::config/sendpack.txt[]
410+
409411
include::config/sequencer.txt[]
410412

411413
include::config/showbranch.txt[]

Documentation/config/core.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,19 @@ relatively high IO latencies. When enabled, Git will do the
548548
index comparison to the filesystem data in parallel, allowing
549549
overlapping IO's. Defaults to true.
550550

551+
core.fscache::
552+
Enable additional caching of file system data for some operations.
553+
+
554+
Git for Windows uses this to bulk-read and cache lstat data of entire
555+
directories (instead of doing lstat file by file).
556+
557+
core.longpaths::
558+
Enable long path (> 260) support for builtin commands in Git for
559+
Windows. This is disabled by default, as long paths are not supported
560+
by Windows Explorer, cmd.exe and the Git for Windows tool chain
561+
(msys, bash, tcl, perl...). Only enable this if you know what you're
562+
doing and are prepared to live with a few quirks.
563+
551564
core.unsetenvvars::
552565
Windows-only: comma-separated list of environment variables'
553566
names that need to be unset before spawning any other process.

Documentation/config/sendpack.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
sendpack.sideband::
2+
Allows to disable the side-band-64k capability for send-pack even
3+
when it is advertised by the server. Makes it possible to work
4+
around a limitation in the git for windows implementation together
5+
with the dump git protocol. Defaults to true.

Documentation/git-reset.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ SYNOPSIS
1010
[verse]
1111
'git reset' [-q] [<tree-ish>] [--] <paths>...
1212
'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]
13+
EXPERIMENTAL: 'git reset' [-q] [--stdin [-z]] [<tree-ish>]
1314
'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
1415

1516
DESCRIPTION
@@ -100,6 +101,15 @@ OPTIONS
100101
`reset.quiet` config option. `--quiet` and `--no-quiet` will
101102
override the default behavior.
102103

104+
--stdin::
105+
EXPERIMENTAL: Instead of taking list of paths from the
106+
command line, read list of paths from the standard input.
107+
Paths are separated by LF (i.e. one path per line) by
108+
default.
109+
110+
-z::
111+
EXPERIMENTAL: Only meaningful with `--stdin`; paths are
112+
separated with NUL character instead of LF.
103113

104114
EXAMPLES
105115
--------

Makefile

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,7 +1203,7 @@ endif
12031203

12041204
ifdef SANE_TOOL_PATH
12051205
SANE_TOOL_PATH_SQ = $(subst ','\'',$(SANE_TOOL_PATH))
1206-
BROKEN_PATH_FIX = 's|^\# @@BROKEN_PATH_FIX@@$$|git_broken_path_fix $(SANE_TOOL_PATH_SQ)|'
1206+
BROKEN_PATH_FIX = 's|^\# @@BROKEN_PATH_FIX@@$$|git_broken_path_fix "$(SANE_TOOL_PATH_SQ)"|'
12071207
PATH := $(SANE_TOOL_PATH):${PATH}
12081208
else
12091209
BROKEN_PATH_FIX = '/^\# @@BROKEN_PATH_FIX@@$$/d'
@@ -2650,7 +2650,7 @@ bin-wrappers/%: wrap-for-bin.sh
26502650
@mkdir -p bin-wrappers
26512651
$(QUIET_GEN)sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
26522652
-e 's|@@BUILD_DIR@@|$(shell pwd)|' \
2653-
-e 's|@@PROG@@|$(patsubst test-%,t/helper/test-%,$(@F))|' < $< > $@ && \
2653+
-e 's|@@PROG@@|$(patsubst test-%,t/helper/test-%$(X),$(@F))$(patsubst git%,$(X),$(filter $(@F),$(BINDIR_PROGRAMS_NEED_X)))|' < $< > $@ && \
26542654
chmod +x $@
26552655

26562656
# GNU make supports exporting all variables by "export" without parameters.
@@ -2788,6 +2788,33 @@ install: all
27882788
$(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
27892789
$(INSTALL) -m 644 $(SCRIPT_LIB) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
27902790
$(INSTALL) $(install_bindir_programs) '$(DESTDIR_SQ)$(bindir_SQ)'
2791+
ifdef MSVC
2792+
# We DO NOT install the individual foo.o.pdb files because they
2793+
# have already been rolled up into the exe's pdb file.
2794+
# We DO NOT have pdb files for the builtin commands (like git-status.exe)
2795+
# because it is just a copy/hardlink of git.exe, rather than a unique binary.
2796+
$(INSTALL) git.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
2797+
$(INSTALL) git-shell.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
2798+
$(INSTALL) git-upload-pack.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
2799+
$(INSTALL) git-credential-store.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2800+
$(INSTALL) git-daemon.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2801+
$(INSTALL) git-fast-import.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2802+
$(INSTALL) git-http-backend.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2803+
$(INSTALL) git-http-fetch.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2804+
$(INSTALL) git-http-push.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2805+
$(INSTALL) git-imap-send.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2806+
$(INSTALL) git-remote-http.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2807+
$(INSTALL) git-remote-testsvn.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2808+
$(INSTALL) git-sh-i18n--envsubst.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2809+
$(INSTALL) git-show-index.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2810+
ifndef DEBUG
2811+
$(INSTALL) $(vcpkg_rel_bin)/*.dll '$(DESTDIR_SQ)$(bindir_SQ)'
2812+
$(INSTALL) $(vcpkg_rel_bin)/*.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
2813+
else
2814+
$(INSTALL) $(vcpkg_dbg_bin)/*.dll '$(DESTDIR_SQ)$(bindir_SQ)'
2815+
$(INSTALL) $(vcpkg_dbg_bin)/*.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
2816+
endif
2817+
endif
27912818
$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
27922819
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'
27932820
$(INSTALL) -m 644 mergetools/* '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'
@@ -2989,6 +3016,19 @@ endif
29893016
$(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-BUILD-OPTIONS
29903017
$(RM) GIT-USER-AGENT GIT-PREFIX
29913018
$(RM) GIT-SCRIPT-DEFINES GIT-PERL-DEFINES GIT-PERL-HEADER GIT-PYTHON-VARS
3019+
ifdef MSVC
3020+
$(RM) $(patsubst %.o,%.o.pdb,$(OBJECTS))
3021+
$(RM) $(patsubst %.exe,%.pdb,$(OTHER_PROGRAMS))
3022+
$(RM) $(patsubst %.exe,%.iobj,$(OTHER_PROGRAMS))
3023+
$(RM) $(patsubst %.exe,%.ipdb,$(OTHER_PROGRAMS))
3024+
$(RM) $(patsubst %.exe,%.pdb,$(PROGRAMS))
3025+
$(RM) $(patsubst %.exe,%.iobj,$(PROGRAMS))
3026+
$(RM) $(patsubst %.exe,%.ipdb,$(PROGRAMS))
3027+
$(RM) $(patsubst %.exe,%.pdb,$(TEST_PROGRAMS))
3028+
$(RM) $(patsubst %.exe,%.iobj,$(TEST_PROGRAMS))
3029+
$(RM) $(patsubst %.exe,%.ipdb,$(TEST_PROGRAMS))
3030+
$(RM) compat/vcbuild/MSVC-DEFS-GEN
3031+
endif
29923032

29933033
.PHONY: all install profile-clean cocciclean clean strip
29943034
.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
[![Build Status](https:/dev.azure.com/git/git/_apis/build/status/test-git.git)](https://dev.azure.com/git/git/_build/latest?definitionId=2)
2+
13
Git - fast, scalable, distributed revision control system
24
=========================================================
35

0 commit comments

Comments
 (0)