merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4' as 'third_party/git'
			
			
This commit is contained in:
		
						commit
						7ef0d62730
					
				
					 3629 changed files with 1139935 additions and 0 deletions
				
			
		
							
								
								
									
										375
									
								
								third_party/git/contrib/vscode/init.sh
									
										
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										375
									
								
								third_party/git/contrib/vscode/init.sh
									
										
									
									
										vendored
									
									
										Executable file
									
								
							|  | @ -0,0 +1,375 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| die () { | ||||
| 	echo "$*" >&2 | ||||
| 	exit 1 | ||||
| } | ||||
| 
 | ||||
| cd "$(dirname "$0")"/../.. || | ||||
| die "Could not cd to top-level directory" | ||||
| 
 | ||||
| mkdir -p .vscode || | ||||
| die "Could not create .vscode/" | ||||
| 
 | ||||
| # General settings | ||||
| 
 | ||||
| cat >.vscode/settings.json.new <<\EOF || | ||||
| { | ||||
|     "C_Cpp.intelliSenseEngine": "Default", | ||||
|     "C_Cpp.intelliSenseEngineFallback": "Disabled", | ||||
|     "[git-commit]": { | ||||
|         "editor.wordWrap": "wordWrapColumn", | ||||
|         "editor.wordWrapColumn": 72 | ||||
|     }, | ||||
|     "[c]": { | ||||
|         "editor.detectIndentation": false, | ||||
|         "editor.insertSpaces": false, | ||||
|         "editor.tabSize": 8, | ||||
|         "editor.wordWrap": "wordWrapColumn", | ||||
|         "editor.wordWrapColumn": 80, | ||||
|         "files.trimTrailingWhitespace": true | ||||
|     }, | ||||
|     "files.associations": { | ||||
|         "*.h": "c", | ||||
|         "*.c": "c" | ||||
|     }, | ||||
|     "cSpell.ignorePaths": [ | ||||
|     ], | ||||
|     "cSpell.words": [ | ||||
|         "DATAW", | ||||
|         "DBCACHED", | ||||
|         "DFCHECK", | ||||
|         "DTYPE", | ||||
|         "Hamano", | ||||
|         "HCAST", | ||||
|         "HEXSZ", | ||||
|         "HKEY", | ||||
|         "HKLM", | ||||
|         "IFGITLINK", | ||||
|         "IFINVALID", | ||||
|         "ISBROKEN", | ||||
|         "ISGITLINK", | ||||
|         "ISSYMREF", | ||||
|         "Junio", | ||||
|         "LPDWORD", | ||||
|         "LPPROC", | ||||
|         "LPWSTR", | ||||
|         "MSVCRT", | ||||
|         "NOARG", | ||||
|         "NOCOMPLETE", | ||||
|         "NOINHERIT", | ||||
|         "RENORMALIZE", | ||||
|         "STARTF", | ||||
|         "STARTUPINFOEXW", | ||||
|         "Schindelin", | ||||
|         "UCRT", | ||||
|         "YESNO", | ||||
|         "argcp", | ||||
|         "beginthreadex", | ||||
|         "committish", | ||||
|         "contentp", | ||||
|         "cpath", | ||||
|         "cpidx", | ||||
|         "ctim", | ||||
|         "dequote", | ||||
|         "envw", | ||||
|         "ewah", | ||||
|         "fdata", | ||||
|         "fherr", | ||||
|         "fhin", | ||||
|         "fhout", | ||||
|         "fragp", | ||||
|         "fsmonitor", | ||||
|         "hnsec", | ||||
|         "idents", | ||||
|         "includeif", | ||||
|         "interpr", | ||||
|         "iprog", | ||||
|         "isexe", | ||||
|         "iskeychar", | ||||
|         "kompare", | ||||
|         "mksnpath", | ||||
|         "mktag", | ||||
|         "mktree", | ||||
|         "mmblob", | ||||
|         "mmbuffer", | ||||
|         "mmfile", | ||||
|         "noenv", | ||||
|         "nparents", | ||||
|         "ntpath", | ||||
|         "ondisk", | ||||
|         "ooid", | ||||
|         "oplen", | ||||
|         "osdl", | ||||
|         "pnew", | ||||
|         "pold", | ||||
|         "ppinfo", | ||||
|         "pushf", | ||||
|         "pushv", | ||||
|         "rawsz", | ||||
|         "rebasing", | ||||
|         "reencode", | ||||
|         "repo", | ||||
|         "rerere", | ||||
|         "scld", | ||||
|         "sharedrepo", | ||||
|         "spawnv", | ||||
|         "spawnve", | ||||
|         "spawnvpe", | ||||
|         "strdup'ing", | ||||
|         "submodule", | ||||
|         "submodules", | ||||
|         "topath", | ||||
|         "topo", | ||||
|         "tpatch", | ||||
|         "unexecutable", | ||||
|         "unhide", | ||||
|         "unkc", | ||||
|         "unkv", | ||||
|         "unmark", | ||||
|         "unmatch", | ||||
|         "unsets", | ||||
|         "unshown", | ||||
|         "untracked", | ||||
|         "untrackedcache", | ||||
|         "unuse", | ||||
|         "upos", | ||||
|         "uval", | ||||
|         "vreportf", | ||||
|         "wargs", | ||||
|         "wargv", | ||||
|         "wbuffer", | ||||
|         "wcmd", | ||||
|         "wcsnicmp", | ||||
|         "wcstoutfdup", | ||||
|         "wdeltaenv", | ||||
|         "wdir", | ||||
|         "wenv", | ||||
|         "wenvblk", | ||||
|         "wenvcmp", | ||||
|         "wenviron", | ||||
|         "wenvpos", | ||||
|         "wenvsz", | ||||
|         "wfile", | ||||
|         "wfilename", | ||||
|         "wfopen", | ||||
|         "wfreopen", | ||||
|         "wfullpath", | ||||
|         "which'll", | ||||
|         "wlink", | ||||
|         "wmain", | ||||
|         "wmkdir", | ||||
|         "wmktemp", | ||||
|         "wnewpath", | ||||
|         "wotype", | ||||
|         "wpath", | ||||
|         "wpathname", | ||||
|         "wpgmptr", | ||||
|         "wpnew", | ||||
|         "wpointer", | ||||
|         "wpold", | ||||
|         "wpos", | ||||
|         "wputenv", | ||||
|         "wrmdir", | ||||
|         "wship", | ||||
|         "wtarget", | ||||
|         "wtemplate", | ||||
|         "wunlink", | ||||
|         "xcalloc", | ||||
|         "xgetcwd", | ||||
|         "xmallocz", | ||||
|         "xmemdupz", | ||||
|         "xmmap", | ||||
|         "xopts", | ||||
|         "xrealloc", | ||||
|         "xsnprintf", | ||||
|         "xutftowcs", | ||||
|         "xutftowcsn", | ||||
|         "xwcstoutf" | ||||
|     ], | ||||
|     "cSpell.ignoreRegExpList": [ | ||||
|         "\\\"(DIRC|FSMN|REUC|UNTR)\\\"", | ||||
|         "\\\\u[0-9a-fA-Fx]{4}\\b", | ||||
|         "\\b(filfre|frotz|xyzzy)\\b", | ||||
|         "\\bCMIT_FMT_DEFAULT\\b", | ||||
|         "\\bde-munge\\b", | ||||
|         "\\bGET_OID_DISAMBIGUATORS\\b", | ||||
|         "\\bHASH_RENORMALIZE\\b", | ||||
|         "\\bTREESAMEness\\b", | ||||
|         "\\bUSE_STDEV\\b", | ||||
|         "\\Wchar *\\*\\W*utfs\\W", | ||||
|         "cURL's", | ||||
|         "nedmalloc'ed", | ||||
|         "ntifs\\.h", | ||||
|     ], | ||||
| } | ||||
| EOF | ||||
| die "Could not write settings.json" | ||||
| 
 | ||||
| # Infer some setup-specific locations/names | ||||
| 
 | ||||
| GCCPATH="$(which gcc)" | ||||
| GDBPATH="$(which gdb)" | ||||
| MAKECOMMAND="make -j5 DEVELOPER=1" | ||||
| OSNAME= | ||||
| X= | ||||
| case "$(uname -s)" in | ||||
| MINGW*) | ||||
| 	GCCPATH="$(cygpath -am "$GCCPATH")" | ||||
| 	GDBPATH="$(cygpath -am "$GDBPATH")" | ||||
| 	MAKE_BASH="$(cygpath -am /git-cmd.exe) --command=usr\\\\bin\\\\bash.exe" | ||||
| 	MAKECOMMAND="$MAKE_BASH -lc \\\"$MAKECOMMAND\\\"" | ||||
| 	OSNAME=Win32 | ||||
| 	X=.exe | ||||
| 	;; | ||||
| Linux) | ||||
| 	OSNAME=Linux | ||||
| 	;; | ||||
| Darwin) | ||||
| 	OSNAME=macOS | ||||
| 	;; | ||||
| esac | ||||
| 
 | ||||
| # Default build task | ||||
| 
 | ||||
| cat >.vscode/tasks.json.new <<EOF || | ||||
| { | ||||
|     // See https://go.microsoft.com/fwlink/?LinkId=733558 | ||||
|     // for the documentation about the tasks.json format | ||||
|     "version": "2.0.0", | ||||
|     "tasks": [ | ||||
|         { | ||||
|             "label": "make", | ||||
|             "type": "shell", | ||||
|             "command": "$MAKECOMMAND", | ||||
|             "group": { | ||||
|                 "kind": "build", | ||||
|                 "isDefault": true | ||||
|             } | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| EOF | ||||
| die "Could not install default build task" | ||||
| 
 | ||||
| # Debugger settings | ||||
| 
 | ||||
| cat >.vscode/launch.json.new <<EOF || | ||||
| { | ||||
|     // Use IntelliSense to learn about possible attributes. | ||||
|     // Hover to view descriptions of existing attributes. | ||||
|     // For more information, visit: | ||||
|     // https://go.microsoft.com/fwlink/?linkid=830387 | ||||
|     "version": "0.2.0", | ||||
|     "configurations": [ | ||||
|         { | ||||
|             "name": "(gdb) Launch", | ||||
|             "type": "cppdbg", | ||||
|             "request": "launch", | ||||
|             "program": "\${workspaceFolder}/git$X", | ||||
|             "args": [], | ||||
|             "stopAtEntry": false, | ||||
|             "cwd": "\${workspaceFolder}", | ||||
|             "environment": [], | ||||
|             "externalConsole": true, | ||||
|             "MIMode": "gdb", | ||||
|             "miDebuggerPath": "$GDBPATH", | ||||
|             "setupCommands": [ | ||||
|                 { | ||||
|                     "description": "Enable pretty-printing for gdb", | ||||
|                     "text": "-enable-pretty-printing", | ||||
|                     "ignoreFailures": true | ||||
|                 } | ||||
|             ] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| EOF | ||||
| die "Could not write launch configuration" | ||||
| 
 | ||||
| # C/C++ extension settings | ||||
| 
 | ||||
| make -f - OSNAME=$OSNAME GCCPATH="$GCCPATH" vscode-init \ | ||||
| 	>.vscode/c_cpp_properties.json <<\EOF || | ||||
| include Makefile | ||||
| 
 | ||||
| vscode-init: | ||||
| 	@mkdir -p .vscode && \ | ||||
| 	incs= && defs= && \ | ||||
| 	for e in $(ALL_CFLAGS) \ | ||||
| 			'-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \ | ||||
| 			'-DGIT_LOCALE_PATH="$(localedir_relative_SQ)"' \ | ||||
| 			'-DBINDIR="$(bindir_relative_SQ)"' \ | ||||
| 			'-DFALLBACK_RUNTIME_PREFIX="$(prefix_SQ)"' \ | ||||
| 			'-DDEFAULT_GIT_TEMPLATE_DIR="$(template_dir_SQ)"' \ | ||||
| 			'-DETC_GITCONFIG="$(ETC_GITCONFIG_SQ)"' \ | ||||
| 			'-DETC_GITATTRIBUTES="$(ETC_GITATTRIBUTES_SQ)"' \ | ||||
| 			'-DGIT_LOCALE_PATH="$(localedir_relative_SQ)"' \ | ||||
| 			'-DCURL_DISABLE_TYPECHECK', \ | ||||
| 			'-DGIT_HTML_PATH="$(htmldir_relative_SQ)"' \ | ||||
| 			'-DGIT_MAN_PATH="$(mandir_relative_SQ)"' \ | ||||
| 			'-DGIT_INFO_PATH="$(infodir_relative_SQ)"'; do \ | ||||
| 		case "$$e" in \ | ||||
| 		-I.) \ | ||||
| 			incs="$$(printf '% 16s"$${workspaceRoot}",\n%s' \ | ||||
| 				"" "$$incs")" \ | ||||
| 			;; \ | ||||
| 		-I/*) \ | ||||
| 			incs="$$(printf '% 16s"%s",\n%s' \ | ||||
| 				"" "$${e#-I}" "$$incs")" \ | ||||
| 			;; \ | ||||
| 		-I*) \ | ||||
| 			incs="$$(printf '% 16s"$${workspaceRoot}/%s",\n%s' \ | ||||
| 				"" "$${e#-I}" "$$incs")" \ | ||||
| 			;; \ | ||||
| 		-D*) \ | ||||
| 			defs="$$(printf '% 16s"%s",\n%s' \ | ||||
| 				"" "$$(echo "$${e#-D}" | sed 's/"/\\&/g')" \ | ||||
| 				"$$defs")" \ | ||||
| 			;; \ | ||||
| 		esac; \ | ||||
| 	done && \ | ||||
| 	echo '{' && \ | ||||
| 	echo '    "configurations": [' && \ | ||||
| 	echo '        {' && \ | ||||
| 	echo '            "name": "$(OSNAME)",' && \ | ||||
| 	echo '            "intelliSenseMode": "clang-x64",' && \ | ||||
| 	echo '            "includePath": [' && \ | ||||
| 	echo "$$incs" | sort | sed '$$s/,$$//' && \ | ||||
| 	echo '            ],' && \ | ||||
| 	echo '            "defines": [' && \ | ||||
| 	echo "$$defs" | sort | sed '$$s/,$$//' && \ | ||||
| 	echo '            ],' && \ | ||||
| 	echo '            "browse": {' && \ | ||||
| 	echo '                "limitSymbolsToIncludedHeaders": true,' && \ | ||||
| 	echo '                "databaseFilename": "",' && \ | ||||
| 	echo '                "path": [' && \ | ||||
| 	echo '                    "$${workspaceRoot}"' && \ | ||||
| 	echo '                ]' && \ | ||||
| 	echo '            },' && \ | ||||
| 	echo '            "cStandard": "c11",' && \ | ||||
| 	echo '            "cppStandard": "c++17",' && \ | ||||
| 	echo '            "compilerPath": "$(GCCPATH)"' && \ | ||||
| 	echo '        }' && \ | ||||
| 	echo '    ],' && \ | ||||
| 	echo '    "version": 4' && \ | ||||
| 	echo '}' | ||||
| EOF | ||||
| die "Could not write settings for the C/C++ extension" | ||||
| 
 | ||||
| for file in .vscode/settings.json .vscode/tasks.json .vscode/launch.json | ||||
| do | ||||
| 	if test -f $file | ||||
| 	then | ||||
| 		if git diff --no-index --quiet --exit-code $file $file.new | ||||
| 		then | ||||
| 			rm $file.new | ||||
| 		else | ||||
| 			printf "The file $file.new has these changes:\n\n" | ||||
| 			git --no-pager diff --no-index $file $file.new | ||||
| 			printf "\n\nMaybe \`mv $file.new $file\`?\n\n" | ||||
| 		fi | ||||
| 	else | ||||
| 		mv $file.new $file | ||||
| 	fi | ||||
| done | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue