1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-26 15:16:09 +02:00
Git Source Code Mirror. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
Go to file
Jeff King 20574f551b prepare_{git,shell}_cmd: use argv_array
These functions transform an existing argv into one suitable
for exec-ing or spawning via git or a shell. We can use an
argv_array in each to avoid dealing with manual counting and
allocation.

This also makes the memory allocation more clear and fixes
some leaks. In prepare_shell_cmd, we would sometimes
allocate a new string with "$@" in it and sometimes not,
meaning the caller could not correctly free it. On the
non-Windows side, we are in a child process which will
exec() or exit() immediately, so the leak isn't a big deal.
On Windows, though, we use spawn() from the parent process,
and leak a string for each shell command we run. On top of
that, the Windows code did not free the allocated argv array
at all (but does for the prepare_git_cmd case!).

By switching both of these functions to write into an
argv_array, we can consistently free the result as
appropriate.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-22 14:51:09 -08:00
Documentation argv-array: add detach function 2016-02-22 14:50:32 -08:00
block-sha1 sha1: provide another level of indirection for the SHA-1 functions 2015-11-05 10:35:11 -08:00
builtin use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
compat use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
contrib Merge branch 'tb/complete-word-diff-regex' into maint 2016-02-05 14:54:17 -08:00
ewah Merge branch 'es/osx-header-pollutes-mask-macro' into maint 2015-07-15 11:41:24 -07:00
git-gui git-gui 0.20.0 2015-04-18 18:35:48 -07:00
gitk-git Merge git://ozlabs.org/~paulus/gitk 2015-12-21 08:56:16 -08:00
gitweb gitweb: squelch "uninitialized value" warning 2016-01-12 13:21:15 -08:00
mergetools mergetools: add winmerge as a builtin tool 2015-05-20 13:13:44 -07:00
perl Merge branch 'ew/svn-1.9.0-auth' into maint 2016-02-05 14:54:15 -08:00
po l10n: ko.po: Add Korean translation 2016-01-03 19:07:29 +09:00
ppc sha1: provide another level of indirection for the SHA-1 functions 2015-11-05 10:35:11 -08:00
refs convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
t Merge branch 'sg/t6050-failing-editor-test-fix' into maint 2016-02-05 14:54:21 -08:00
templates Merge branch 'nd/multiple-work-trees' 2015-05-11 14:23:39 -07:00
vcs-svn
xdiff
.gitattributes
.gitignore submodule: rewrite `module_list` shell function in C 2015-09-03 14:12:40 -07:00
.mailmap mailmap: update my entry with new email address 2015-09-16 09:08:48 -07:00
.travis.yml Add Travis CI support 2015-11-28 12:11:12 -05:00
COPYING
GIT-VERSION-GEN Git 2.7.1 2016-02-05 14:54:56 -08:00
INSTALL git-imap-send: use libcurl for implementation 2014-11-10 09:17:27 -08:00
LGPL-2.1
Makefile Merge branch 'dt/refs-backend-pre-vtable' 2015-12-08 14:14:49 -08:00
README
RelNotes Git 2.7.1 2016-02-05 14:54:56 -08:00
abspath.c
aclocal.m4
advice.c merge: grammofix in please-commit-before-merge message 2015-10-02 14:29:56 -07:00
advice.h pull: check if in unresolved merge state 2015-06-18 13:17:16 -07:00
alias.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
alloc.c
archive-tar.c archive-tar: use xsnprintf for trivial formatting 2015-09-25 10:18:18 -07:00
archive-zip.c Merge branch 'rs/archive-zip-many' into maint 2015-09-03 19:18:01 -07:00
archive.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
archive.h
argv-array.c argv-array: add detach function 2016-02-22 14:50:32 -08:00
argv-array.h argv-array: add detach function 2016-02-22 14:50:32 -08:00
attr.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
attr.h
base85.c
bisect.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
bisect.h bisect: simplify the addition of new bisect terms 2015-08-03 11:42:41 -07:00
blob.c
blob.h
branch.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
branch.h worktree: add top-level worktree.c 2015-10-02 13:07:38 -07:00
builtin.h Merge branch 'sb/submodule-helper' 2015-10-05 12:30:19 -07:00
bulk-checkin.c use xsnprintf for generating git object headers 2015-09-25 10:18:18 -07:00
bulk-checkin.h
bundle.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
bundle.h
cache-tree.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
cache-tree.h cache-tree: introduce write_index_as_tree() 2015-08-04 22:02:11 -07:00
cache.h Merge branch 'jk/ref-cache-non-repository-optim' into maint 2016-02-05 14:54:17 -08:00
check-builtins.sh check-builtins: strip executable suffix $X when enumerating builtins 2015-02-05 12:03:27 -08:00
check-racy.c
check_bindir
color.c color: add color_set helper for copying raw colors 2015-10-05 11:08:05 -07:00
color.h color: add color_set helper for copying raw colors 2015-10-05 11:08:05 -07:00
column.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
column.h
combine-diff.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
command-list.txt Merge branch 'nd/multiple-work-trees' 2015-07-13 14:02:02 -07:00
commit-slab.h Merge branch 'jc/commit-slab' 2015-08-03 11:01:21 -07:00
commit.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
commit.h Merge branch 'jk/date-mode-format' 2015-08-03 11:01:27 -07:00
config.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
config.mak.in
config.mak.uname Makefile: drop D_INO_IN_DIRENT build knob 2015-10-05 11:08:06 -07:00
configure.ac Merge branch 'rc/configure-use-libs-when-checking-a-lib' into maint 2015-12-01 17:19:06 -05:00
connect.c get_remote_heads: convert to struct object_id 2015-11-20 08:02:05 -05:00
connect.h
connected.c
connected.h
convert.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
convert.h
copy.c copy.c: make copy_fd() report its status silently 2015-05-19 14:48:54 -07:00
credential-cache--daemon.c credential-cache: new option to ignore sighup 2015-11-20 08:02:07 -05:00
credential-cache.c am, credential-cache: add angle brackets to usage string 2015-10-16 10:43:41 -07:00
credential-store.c credential-store: don't pass strerror to die_errno() 2015-12-16 10:27:12 -08:00
credential.c Merge branch 'jk/credential-quit' 2014-12-22 12:27:20 -08:00
credential.h credential: let helpers tell us to quit 2014-12-04 10:11:12 -08:00
csum-file.c sha1fd_check: die when we cannot open the file 2015-03-19 13:35:15 -07:00
csum-file.h Merge branch 'jk/pack-bitmap' 2014-12-12 14:31:42 -08:00
ctype.c kwset: use unsigned char to store values with high-bit set 2015-03-02 12:32:24 -08:00
daemon.c convert manual allocations to argv_array 2016-02-22 14:50:32 -08:00
date.c date: make "local" orthogonal to date format 2015-09-03 15:45:26 -07:00
decorate.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
decorate.h
delta.h
diff-delta.c
diff-lib.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
diff-no-index.c Merge branch 'nd/diff-with-path-params' into maint 2016-02-05 14:54:15 -08:00
diff.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
diff.h tree-diff: catch integer overflow in combine_diff_path allocation 2016-02-19 09:40:37 -08:00
diffcore-break.c
diffcore-delta.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
diffcore-order.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
diffcore-pickaxe.c react to errors in xdi_diff 2015-09-28 14:57:10 -07:00
diffcore-rename.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
diffcore.h
dir.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
dir.h Merge branch 'nd/untracked-cache' 2015-05-26 13:24:46 -07:00
editor.c
entry.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
environment.c Merge branch 'nd/stop-setenv-work-tree' into maint 2016-02-05 14:54:07 -08:00
exec_cmd.c prepare_{git,shell}_cmd: use argv_array 2016-02-22 14:51:09 -08:00
exec_cmd.h prepare_{git,shell}_cmd: use argv_array 2016-02-22 14:51:09 -08:00
fast-import.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
fetch-pack.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
fetch-pack.h
fmt-merge-msg.h
fsck.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
fsck.h fsck: git receive-pack: support excluding objects from fsck'ing 2015-06-23 14:27:37 -07:00
generate-cmdlist.sh generate-cmdlist: re-implement as shell script 2015-08-25 11:24:31 -07:00
gettext.c introduce "format" date-mode 2015-06-29 11:39:10 -07:00
gettext.h Merge branch 'ye/http-accept-language' 2015-03-06 15:02:25 -08:00
git-add--interactive.perl Merge branch 'ak/add-i-empty-candidates' into maint 2015-02-24 22:10:42 -08:00
git-archimport.perl
git-bisect.sh bisect: allow setting any user-specified in 'git bisect start' 2015-08-03 11:42:43 -07:00
git-compat-util.h add helpers for allocating flex-array structs 2016-02-22 14:50:32 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl Merge branch 'cn/cvsimport-perl-update' 2015-06-25 11:08:08 -07:00
git-cvsserver.perl
git-difftool--helper.sh difftool--helper: add explicit exit statement 2014-11-21 11:27:53 -08:00
git-difftool.perl difftool: ignore symbolic links in use_wt_file 2015-10-29 13:43:10 -07:00
git-filter-branch.sh Merge branch 'jk/filter-branch-no-index' into maint 2016-02-05 14:54:13 -08:00
git-instaweb.sh git-instaweb: use @SHELL_PATH@ instead of /bin/sh 2015-03-10 15:10:35 -07:00
git-merge-octopus.sh
git-merge-one-file.sh merge: detect delete/modechange conflict 2015-10-26 14:49:31 -07:00
git-merge-resolve.sh
git-mergetool--lib.sh mergetool-lib: fix default tool selection 2015-06-19 11:20:52 -07:00
git-mergetool.sh mergetool--lib: set IFS for difftool and mergetool 2015-05-20 13:13:42 -07:00
git-p4.py Merge branch 'sh/p4-multi-depot' 2015-12-28 13:58:58 -08:00
git-parse-remote.sh
git-quiltimport.sh git-quiltimport: add commandline option --series <file> 2015-09-01 11:10:07 -07:00
git-rebase--am.sh rebase: return non-zero error code if format-patch fails 2015-07-08 15:36:42 -07:00
git-rebase--interactive.sh rebase -i: remember merge options beyond continue actions 2015-12-11 12:44:44 -08:00
git-rebase--merge.sh *.sh: avoid hardcoding $GIT_DIR/hooks/... 2014-12-01 11:00:13 -08:00
git-rebase.sh Merge branch 'jk/ok-to-fail-gc-auto-in-rebase' into maint 2016-02-05 14:54:13 -08:00
git-relink.perl
git-remote-testgit.sh transport-helper: do not request symbolic refs to remote helpers 2015-01-21 22:46:59 -08:00
git-request-pull.sh
git-send-email.perl Merge branch 'ew/send-email-mutt-alias-fix' into maint 2016-02-05 14:54:09 -08:00
git-sh-i18n.sh
git-sh-setup.sh Merge branch 'nd/multiple-work-trees' 2015-05-11 14:23:39 -07:00
git-stash.sh Merge branch 'nk/stash-show-config' 2015-10-05 12:30:10 -07:00
git-submodule.sh Sync with 2.6.1 2015-10-05 13:20:08 -07:00
git-svn.perl git-svn: parse authors file more leniently 2015-09-10 17:59:38 +00:00
git-web--browse.sh
git.c convert manual allocations to argv_array 2016-02-22 14:50:32 -08:00
git.rc
git.spec.in
gpg-interface.c verify-commit: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
gpg-interface.h verify-commit: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
graph.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
graph.h
grep.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
grep.h
hashmap.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
hashmap.h
help.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
help.h
hex.c add reentrant variants of sha1_to_hex and find_unique_abbrev 2015-09-25 10:18:18 -07:00
http-backend.c Convert struct object to object_id 2015-11-20 08:02:05 -05:00
http-fetch.c
http-push.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
http-walker.c http-walker: store url in a strbuf 2015-09-25 10:18:18 -07:00
http.c Merge branch 'bc/object-id' 2015-12-10 12:36:13 -08:00
http.h http.c: use CURLOPT_RANGE for range requests 2015-11-02 14:18:06 -08:00
ident.c Merge branch 'jk/ident-loosen-getpwuid' into maint 2016-01-04 14:02:57 -08:00
imap-send.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
khash.h convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
kwset.c kwset: use unsigned char to store values with high-bit set 2015-03-02 12:32:24 -08:00
kwset.h kwset: use unsigned char to store values with high-bit set 2015-03-02 12:32:24 -08:00
levenshtein.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
levenshtein.h
line-log.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
line-log.h line-log.c: make line_log_data_init() static 2015-01-15 11:05:47 -08:00
line-range.c
line-range.h
list-objects.c Convert struct object to object_id 2015-11-20 08:02:05 -05:00
list-objects.h
ll-merge.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
ll-merge.h
lockfile.c lockfile: remove function "hold_lock_file_for_append" 2015-08-28 11:32:01 -07:00
lockfile.h lockfile: remove function "hold_lock_file_for_append" 2015-08-28 11:32:01 -07:00
log-tree.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
log-tree.h
mailinfo.c mailinfo: fix passing wrong address to git_mailinfo_config 2015-11-01 10:29:40 -08:00
mailinfo.h mailinfo: remove calls to exit() and die() deep in the callchain 2015-10-21 15:59:34 -07:00
mailmap.c mailmap: replace strcpy with xstrdup 2015-09-25 10:18:18 -07:00
mailmap.h
match-trees.c
merge-blobs.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
merge-blobs.h
merge-recursive.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
merge-recursive.h
merge.c Convert struct object to object_id 2015-11-20 08:02:05 -05:00
mergesort.c
mergesort.h
name-hash.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
notes-cache.c
notes-cache.h
notes-merge.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
notes-merge.h notes: extract enum notes_merge_strategy to notes-utils.h 2015-08-17 15:36:23 -07:00
notes-utils.c notes: extract parse_notes_merge_strategy to notes-utils 2015-08-17 15:38:32 -07:00
notes-utils.h notes: extract parse_notes_merge_strategy to notes-utils 2015-08-17 15:38:32 -07:00
notes.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
notes.h
object.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
object.h Remove get_object_hash. 2015-11-20 08:02:05 -05:00
pack-bitmap-write.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
pack-bitmap.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
pack-bitmap.h pack-bitmap.c: make pack_bitmap_filename() static 2015-01-15 11:04:10 -08:00
pack-check.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
pack-objects.c
pack-objects.h
pack-revindex.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
pack-revindex.h
pack-write.c
pack.h
pager.c Merge branch 'ti/glibc-stdio-mutex-from-signal-handler' into maint 2015-10-16 14:32:41 -07:00
parse-options-cb.c Merge branch 'kn/for-each-tag-branch' 2015-10-05 12:30:03 -07:00
parse-options.c parse-options: allow -h as a short option 2015-11-20 08:02:07 -05:00
parse-options.h parse-options: allow -h as a short option 2015-11-20 08:02:07 -05:00
patch-delta.c
patch-ids.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
patch-ids.h
path.c Merge branch 'js/dirname-basename' into maint 2016-02-05 14:54:17 -08:00
pathspec.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
pathspec.h
pkt-line.c pkt-line: show packets in async processes as "sideband" 2015-09-01 15:11:57 -07:00
pkt-line.h
preload-index.c
pretty.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
prio-queue.c
prio-queue.h
progress.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
progress.h
prompt.c prompt.c: remove git_getpass() nobody uses 2015-01-15 11:02:06 -08:00
prompt.h prompt.c: remove git_getpass() nobody uses 2015-01-15 11:02:06 -08:00
quote.c quote: move comment before sq_quote_buf() 2015-10-07 15:12:01 -07:00
quote.h ls-tree: remove path filtering logic in show_tree 2014-12-01 11:32:34 -08:00
reachable.c Merge branch 'js/gc-with-stale-symref' into maint 2015-10-20 15:22:42 -07:00
reachable.h
read-cache.c Merge branch 'dt/name-hash-dir-entry-fix' into maint 2015-11-03 15:32:40 -08:00
ref-filter.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
ref-filter.h branch.c: use 'ref-filter' APIs 2015-09-25 08:54:54 -07:00
reflog-walk.c Merge branch 'dk/reflog-walk-with-non-commit' into maint 2016-02-05 14:54:10 -08:00
reflog-walk.h convert "enum date_mode" into a struct 2015-06-29 11:39:07 -07:00
refs.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
refs.h hideRefs: add support for matching full refs 2015-11-05 11:25:02 -08:00
remote-curl.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
remote-testsvn.c refs: move the remaining ref module declarations to refs.h 2015-06-22 13:17:12 -07:00
remote.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
remote.h ref_newer: convert to use struct object_id 2015-11-20 08:02:05 -05:00
replace_object.c register_replace_ref(): rewrite to take an object_id argument 2015-05-25 12:19:35 -07:00
rerere.c Merge branch 'jc/rerere' 2015-10-05 12:30:05 -07:00
rerere.h Merge branch 'jc/rerere' 2015-10-05 12:30:05 -07:00
resolve-undo.c
resolve-undo.h
revision.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
revision.h format-patch: add an option to suppress commit hash 2015-12-15 10:03:40 -08:00
run-command.c prepare_{git,shell}_cmd: use argv_array 2016-02-22 14:51:09 -08:00
run-command.h Merge branch 'rs/daemon-plug-child-leak' into maint 2015-11-05 12:18:17 -08:00
send-pack.c Convert struct ref to use object_id. 2015-11-20 08:02:05 -05:00
send-pack.h push: support signing pushes iff the server supports it 2015-08-19 12:58:45 -07:00
sequencer.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
sequencer.h Merge branch 'jc/conflict-hint' into cc/interpret-trailers-more 2014-11-10 09:56:39 -08:00
server-info.c Convert struct object to object_id 2015-11-20 08:02:05 -05:00
setup.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
sha1_name.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
shallow.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
shell.c
shortlog.h
show-index.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
sideband.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
sideband.h
sigchain.c
sigchain.h
split-index.c ewah: add convenient wrapper ewah_serialize_strbuf() 2015-03-12 13:45:16 -07:00
split-index.h
strbuf.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
strbuf.h Merge branch 'tk/stripspace' 2015-10-26 15:55:20 -07:00
streaming.c Merge branch 'sb/plug-streaming-leak' 2015-04-14 11:49:09 -07:00
streaming.h
string-list.c Merge branch 'sb/string-list' 2014-12-22 12:27:30 -08:00
string-list.h Merge branch 'sb/string-list' 2014-12-22 12:27:30 -08:00
submodule-config.c push: add recurseSubmodules config option 2015-11-20 08:02:07 -05:00
submodule-config.h push: add recurseSubmodules config option 2015-11-20 08:02:07 -05:00
submodule.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
submodule.h push: add recurseSubmodules config option 2015-11-20 08:02:07 -05:00
symlinks.c
tag.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
tag.h
tar.h
tempfile.c register_tempfile(): new function to handle an existing temporary file 2015-08-10 12:57:14 -07:00
tempfile.h register_tempfile(): new function to handle an existing temporary file 2015-08-10 12:57:14 -07:00
test-chmtime.c
test-config.c
test-ctype.c
test-date.c convert "enum date_mode" into a struct 2015-06-29 11:39:07 -07:00
test-delta.c
test-dump-cache-tree.c test-dump-cache-tree: avoid overflow of cache-tree name 2015-09-25 10:18:18 -07:00
test-dump-split-index.c commit: don't rewrite shared index unnecessarily 2015-08-31 08:41:07 -07:00
test-dump-untracked-cache.c untracked cache: guard and disable on system changes 2015-03-12 13:45:18 -07:00
test-genrandom.c
test-hashmap.c Merge branch 'js/test-hashmap-squelch-gcc' 2014-12-22 12:27:46 -08:00
test-index-version.c
test-line-buffer.c
test-match-trees.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
test-mergesort.c
test-mktemp.c
test-parse-options.c parse-options: move unsigned long option parsing out of pack-objects.c 2015-06-22 15:07:21 -07:00
test-path-utils.c t0060: loosen overly strict expectations 2016-01-15 09:26:20 -08:00
test-prio-queue.c
test-read-cache.c
test-regex.c
test-revision-walking.c convert "enum date_mode" into a struct 2015-06-29 11:39:07 -07:00
test-run-command.c
test-scrap-cache-tree.c
test-sha1-array.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c
test-submodule-config.c submodule: use new config API for worktree configurations 2015-08-19 11:43:10 -07:00
test-subprocess.c
test-svn-fe.c
test-urlmatch-normalization.c
test-wildmatch.c
thread-utils.c thread-utils.c: detect CPU count on older BSD-like systems 2015-03-10 15:13:28 -07:00
thread-utils.h
trace.c trace: use strbuf for quote_crnl output 2015-09-25 10:18:18 -07:00
trace.h pkt-line: support tracing verbatim pack contents 2015-06-16 13:24:22 -07:00
trailer.c Merge branch 'cc/trailers-corner-case-fix' into maint 2015-09-03 19:18:03 -07:00
trailer.h
transport-helper.c push_refs_with_export: convert to struct object_id 2015-11-20 08:02:05 -05:00
transport.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
transport.h Convert struct ref to use object_id. 2015-11-20 08:02:05 -05:00
tree-diff.c tree-diff: catch integer overflow in combine_diff_path allocation 2016-02-19 09:40:37 -08:00
tree-walk.c tree-walk: learn get_tree_entry_follow_symlinks 2015-05-20 13:45:49 -07:00
tree-walk.h tree-walk: learn get_tree_entry_follow_symlinks 2015-05-20 13:45:49 -07:00
tree.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
tree.h Merge branch 'jk/squelch-missing-link-warning-for-unreachable' into maint 2015-06-25 11:02:10 -07:00
unicode_width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c replace trivial malloc + sprintf / strcpy calls with xstrfmt 2015-09-25 10:18:18 -07:00
unpack-trees.h
update_unicode.sh update_unicode.sh: delete the command group 2014-12-22 10:03:37 -08:00
upload-pack.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
url.c use strbuf_complete to conditionally append slash 2015-10-05 11:08:06 -07:00
url.h
urlmatch.c urlmatch.c: make match_urls() static 2015-01-15 11:05:48 -08:00
urlmatch.h urlmatch.c: make match_urls() static 2015-01-15 11:05:48 -08:00
usage.c vreportf: avoid intermediate buffer 2015-08-11 14:29:36 -07:00
userdiff.c userdiff: add support for Fountain documents 2015-07-23 14:44:51 -07:00
userdiff.h
utf8.c utf8: add function to align a string into given strbuf 2015-09-17 10:02:48 -07:00
utf8.h utf8: add function to align a string into given strbuf 2015-09-17 10:02:48 -07:00
varint.c
varint.h
version.c
version.h
versioncmp.c versionsort: support reorder prerelease suffixes 2015-02-27 13:38:22 -08:00
walker.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
walker.h
wildmatch.c
wildmatch.h
worktree.c worktree: add details to the worktree struct 2015-10-08 11:57:07 -07:00
worktree.h worktree: add details to the worktree struct 2015-10-08 11:57:07 -07:00
wrap-for-bin.sh test: facilitate debugging Git executables in tests with gdb 2015-10-30 14:02:38 -07:00
wrapper.c harden REALLOC_ARRAY and xcalloc against size_t overflow 2016-02-22 14:50:32 -08:00
write_or_die.c
ws.c
wt-status.c Merge branch 'bc/object-id' 2015-12-10 12:36:13 -08:00
wt-status.h wt-status: move #include "pathspec.h" to the header 2015-08-21 14:49:27 -07:00
xdiff-interface.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
xdiff-interface.h xdiff: reject files larger than ~1GB 2015-09-28 14:57:23 -07:00
zlib.c zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw} 2015-03-05 15:46:03 -08:00

////////////////////////////////////////////////////////////////

	Git - the stupid content tracker

////////////////////////////////////////////////////////////////

"git" can mean anything, 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

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.

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).

Many Git online resources are accessible from http://git-scm.com/
including full documentation and Git related tools.

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.