1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-01 23:07:55 +01:00
Find a file
Jens Lehmann 50d89ad654 submodule: use argv_array instead of hand-building arrays
fetch_populated_submodules() allocates the full argv array it uses to
recurse into the submodules from the number of given options plus the six
argv values it is going to add. It then initializes it with those values
which won't change during the iteration and copies the given options into
it. Inside the loop the two argv values different for each submodule get
replaced with those currently valid.

However, this technique is brittle and error-prone (as the comment to
explain the magic number 6 indicates), so let's replace it with an
argv_array. Instead of replacing the argv values, push them to the
argv_array just before the run_command() call (including the option
separating them) and pop them from the argv_array right after that.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-09-02 21:13:50 -07:00
block-sha1
builtin submodule: use argv_array instead of hand-building arrays 2012-09-02 21:13:50 -07:00
compat Merge branch 'jk/run-command-eacces' into maint 2012-04-26 10:51:41 -07:00
contrib Merge branch 'fc/completion-tests' 2012-04-24 14:41:22 -07:00
Documentation argv-array: add pop function 2012-09-02 21:10:01 -07:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2011-12-13 16:48:24 -08:00
git_remote_helpers
gitk-git Merge branch 'pt/gitk' 2012-04-02 15:06:25 -07:00
gitweb Merge branch 'mk/gitweb-diff-hl' 2012-04-24 14:41:01 -07:00
mergetools mergetools: add a plug-in to support DeltaWalker 2012-03-05 09:31:47 -08:00
perl correct spelling: an URL -> a URL 2012-03-28 08:47:23 -07:00
po l10n: Add the Dutch translation team and initialize nl.po 2012-04-02 14:20:54 +02:00
ppc
t Merge branch 'jk/repack-no-explode-objects-from-old-pack' 2012-04-29 17:50:27 -07:00
templates Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
vcs-svn vcs-svn: suppress a -Wtype-limits warning 2012-02-02 11:05:18 -08:00
xdiff Merge branch 'jc/diff-algo-cleanup' 2012-04-15 22:51:15 -07:00
.gitattributes git-gui: set whitespace warnings appropriate to this project 2011-11-30 11:35:28 +00:00
.gitignore Merge branch 'hv/submodule-recurse-push' 2012-04-24 14:40:20 -07:00
.mailmap .mailmap: unify various old mail addresses of gitster 2012-03-23 14:40:39 -07:00
abspath.c
aclocal.m4
advice.c push: Provide situational hints for non-fast-forward errors 2012-03-19 21:42:06 -07:00
advice.h push: Provide situational hints for non-fast-forward errors 2012-03-19 21:42:06 -07:00
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Merge branch 'jk/maint-upload-archive' 2012-01-12 23:34:17 -08:00
archive.h archive: don't let remote clients get unreachable commits 2011-11-21 14:42:25 -08:00
argv-array.c argv-array: fix bogus cast when freeing array 2012-09-02 21:10:24 -07:00
argv-array.h argv-array: add pop function 2012-09-02 21:10:01 -07:00
attr.c Merge branch 'maint-1.7.6' into maint-1.7.7 2012-01-11 19:11:00 -08:00
attr.h correct a few doubled-word nits in comments and documentation 2012-03-28 11:18:35 -07:00
base85.c
bisect.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
bisect.h rev-list: fix --verify-objects --quiet becoming --objects 2012-02-28 10:47:30 -08:00
blob.c
blob.h
branch.c checkout: suppress tracking message with "-q" 2012-03-26 21:32:43 -07:00
branch.h checkout: suppress tracking message with "-q" 2012-03-26 21:32:43 -07:00
builtin.h Merge branch 'jk/upload-archive-use-start-command' 2011-12-16 22:33:30 -08:00
bulk-checkin.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bulk-checkin.h bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bundle.c Sync with 1.7.8.6 2012-04-26 10:22:20 -07:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c Merge branch 'jc/maint-commit-ignore-i-t-a' into maint 2012-02-16 14:08:00 -08:00
cache-tree.h cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
cache.h Merge branch 'jk/run-command-eacces' into maint 2012-04-26 10:51:41 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c Merge branch 'rs/combine-diff-zero-context-at-the-beginning' into maint 2012-04-26 10:35:26 -07:00
command-list.txt git-p4: move to toplevel 2012-04-09 14:59:40 -07:00
commit.c Merge branch 'rs/commit-list-sort-in-batch' 2012-04-23 12:52:55 -07:00
commit.h revision: insert unsorted, then sort in prepare_revision_walk() 2012-04-11 08:50:54 -07:00
config.c Merge branch 'ms/maint-config-error-at-eol-linecount' into maint 2012-03-26 12:10:05 -07:00
config.mak.in Makefile: introduce CHARSET_LIB to link with -lcharset 2012-02-13 00:11:01 -08:00
configure.ac configure: be more idiomatic 2012-03-26 12:03:40 -07:00
connect.c server_supports(): parse feature list more carefully 2012-01-08 14:26:28 -08:00
connected.c fetch/receive: remove over-pessimistic connectivity check 2012-03-15 15:23:17 -07:00
connected.h
convert.c Merge branch 'jk/maint-avoid-streaming-filtered-contents' into maint 2012-03-04 22:16:40 -08:00
convert.h teach convert_to_git a "dry run" mode 2012-02-24 14:11:27 -08:00
copy.c
COPYING
credential-cache--daemon.c credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
credential-cache.c credential-cache: ignore "connection refused" errors 2012-01-16 22:15:19 -08:00
credential-store.c credentials: add "store" helper 2011-12-12 16:09:38 -08:00
credential.c credential: use git_prompt instead of git_getpass 2011-12-12 16:09:39 -08:00
credential.h credential: make relevance of http path configurable 2011-12-11 23:16:25 -08:00
csum-file.c csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
csum-file.h csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
ctype.c Merge branch 'jc/pickaxe-ignore-case' 2012-03-07 12:12:59 -08:00
daemon.c git-daemon: produce output when ready 2012-01-08 15:08:03 -08:00
date.c Merge branch 'jc/parse-date-raw' into maint 2012-02-13 11:42:15 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c diff-index: enable recursive pathspec matching in unpack_trees 2012-01-18 15:44:02 -08:00
diff-no-index.c diff --no-index: use strbuf for temporary pathnames 2012-04-26 09:13:29 -07:00
diff.c Merge branch 'jk/diff-no-rename-empty' into maint 2012-04-26 10:35:33 -07:00
diff.h Merge branch 'jk/diff-no-rename-empty' 2012-04-16 12:41:49 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c pickaxe: allow -i to search in patch case-insensitively 2012-02-28 16:15:29 -08:00
diffcore-rename.c teach diffcore-rename to optionally ignore empty content 2012-03-23 13:52:49 -07:00
diffcore.h
dir.c clean: preserve nested git worktree in subdirectories 2012-03-15 11:25:34 -07:00
dir.h remove_dir_recursively(): Add flag for skipping removal of toplevel dir 2012-03-15 11:12:25 -07:00
editor.c
entry.c streaming: make streaming-write-entry to be more reusable 2012-03-07 09:07:37 -08:00
environment.c push: Provide situational hints for non-fast-forward errors 2012-03-19 21:42:06 -07:00
exec_cmd.c run-command: treat inaccessible directories as ENOENT 2012-04-05 16:24:13 -07:00
exec_cmd.h
fast-import.c fast-import: tighten parsing of datarefs 2012-04-10 14:34:02 -07:00
fetch-pack.h fetch-pack: new --stdin option to read refs from stdin 2012-04-02 13:47:15 -07:00
fixup-builtins
fmt-merge-msg.h
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
gettext.h i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
git-add--interactive.perl add--interactive: ignore unmerged entries in patch mode 2012-04-05 09:01:03 -07:00
git-am.sh Merge branch 'jc/am-report-3way' 2012-04-20 15:49:37 -07:00
git-archimport.perl
git-bisect.sh Merge branch 'js/bisect-no-checkout' into maint 2011-11-01 16:03:35 -07:00
git-compat-util.h Merge branch 'jc/pickaxe-ignore-case' 2012-03-07 12:12:59 -08:00
git-cvsexportcommit.perl git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS 2012-01-11 18:04:08 -08:00
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh git-difftool: allow skipping file by typing 'n' at prompt 2011-10-10 10:21:11 -07:00
git-difftool.perl
git-filter-branch.sh Merge branch 'jk/filter-branch-require-clean-work-tree' into maint 2011-10-15 20:46:38 -07:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh Merge branch 'js/maint-merge-one-file-osx-expr' into maint 2011-10-21 10:49:25 -07:00
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh mergetool: Provide an empty file when needed 2012-01-23 11:50:22 -08:00
git-p4.py git p4: update name in script 2012-04-09 14:59:40 -07:00
git-parse-remote.sh Make git-{pull,rebase} message without tracking information friendlier 2012-03-04 23:00:57 -08:00
git-pull.sh Make git-{pull,rebase} message without tracking information friendlier 2012-03-04 23:00:57 -08:00
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'jk/rebase-i-submodule-conflict-only' 2012-04-23 12:39:05 -07:00
git-rebase--merge.sh rebase -m: only call "notes copy" when rewritten exists and is non-empty 2012-02-26 16:32:37 -08:00
git-rebase.sh Make git-{pull,rebase} message without tracking information friendlier 2012-03-04 23:00:57 -08:00
git-relink.perl
git-remote-testgit.py
git-repack.sh gc: do not explode objects which will be immediately pruned 2012-04-11 11:09:49 -07:00
git-request-pull.sh request-pull: explicitly ask tags/$name to be pulled 2012-01-31 21:27:58 -08:00
git-send-email.perl send-email: multiedit is a boolean config option 2012-01-09 15:15:28 -08:00
git-sh-i18n.sh i18n: fix auto detection of gettext scheme for shell scripts 2012-03-12 14:41:15 -07:00
git-sh-setup.sh git-sh-setup.sh: Add an pwd() function for MinGW 2012-04-18 13:06:19 -07:00
git-stash.sh stash: use eval_gettextln correctly 2012-04-14 16:31:02 -07:00
git-submodule.sh Merge branch 'rj/submodule-mswin-path' 2012-04-23 13:01:49 -07:00
git-svn.perl git-svn: use platform specific auth providers 2012-04-27 08:28:54 +00:00
GIT-VERSION-GEN Git 1.7.9.7 2012-04-26 10:23:15 -07:00
git-web--browse.sh
git.c dashed externals: kill children on exit 2012-01-08 15:07:20 -08:00
git.spec.in spec: add missing build dependency 2012-04-06 10:15:11 -07:00
gpg-interface.c verify_signed_buffer: fix stale comment 2012-01-05 13:02:26 -08:00
gpg-interface.h Split GPG interface into its own helper library 2011-11-04 21:40:25 -07:00
graph.c
graph.h
grep.c Merge branch 'jc/pickaxe-ignore-case' 2012-03-07 12:12:59 -08:00
grep.h grep: respect diff attributes for binary-ness 2012-02-02 10:36:08 -08:00
hash.c
hash.h
help.c pager: find out the terminal width before spawning the pager 2012-02-13 15:08:47 -08:00
help.h
hex.c
http-backend.c http-backend: respect existing GIT_COMMITTER_* variables 2012-03-30 09:13:02 -07:00
http-fetch.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-push.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-walker.c
http.c http: use newer curl options for setting credentials 2012-04-14 16:04:25 -07:00
http.h correct spelling: an URL -> a URL 2012-03-28 08:47:23 -07:00
ident.c ident.c: add split_ident_line() to parse formatted ident line 2012-03-11 03:56:50 -07:00
imap-send.c Sync with 1.7.6.6 2012-02-05 23:53:21 -08:00
INSTALL git-p4: move to toplevel 2012-04-09 14:59:40 -07:00
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
list-objects.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c Merge branch 'lp/maint-diff-three-dash-with-graph' 2012-04-23 12:57:21 -07:00
log-tree.h
mailmap.c mailmap: always return a plain mail address from map_user() 2012-02-06 14:00:06 -08:00
mailmap.h
Makefile Merge branch 'hv/submodule-recurse-push' 2012-04-24 14:40:20 -07:00
match-trees.c
merge-file.c
merge-file.h
merge-recursive.c Merge branch 'jk/diff-no-rename-empty' 2012-04-16 12:41:49 -07:00
merge-recursive.h
mergesort.c mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
mergesort.h mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
name-hash.c name-hash.c: always initialize dir_next pointer 2011-11-01 15:29:18 -07:00
notes-cache.c Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
notes-cache.h
notes-merge.c notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd 2012-03-15 11:13:23 -07:00
notes-merge.h Convert commit_tree() to take strbuf as message 2011-12-15 10:46:42 -08:00
notes.c
notes.h
object.c Merge branch 'hv/submodule-recurse-push' 2012-04-24 14:40:20 -07:00
object.h Teach revision walking machinery to walk multiple times sequencially 2012-03-30 08:57:49 -07:00
pack-check.c fsck: print progress 2011-11-06 20:31:28 -08:00
pack-refs.c pack_refs(): remove redundant check 2012-01-17 11:41:41 -08:00
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c Appease Sun Studio by renaming "tmpfile" 2011-12-21 10:21:04 -08:00
pack.h Merge branch 'jc/stream-to-pack' 2011-12-16 22:33:40 -08:00
pager.c Merge branches zj/decimal-width, zj/term-columns and jc/diff-stat-scaler 2012-02-24 16:07:04 -08:00
parse-options-cb.c
parse-options.c parse-options: typo check for unknown switches 2012-03-04 18:28:59 -08:00
parse-options.h parse-options: remove PARSE_OPT_NEGHELP 2012-02-28 11:48:11 -08:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c standardize and improve lookup rules for external local repos 2012-02-02 16:41:55 -08:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c ident.c: add split_ident_line() to parse formatted ident line 2012-03-11 03:56:50 -07:00
progress.c
progress.h
prompt.c prompt: fall back to terminal if askpass fails 2012-02-03 14:37:04 -08:00
prompt.h prompt: use git_terminal_prompt 2011-12-12 16:09:38 -08:00
quote.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
quote.h
reachable.c reachable: per-object progress 2011-11-07 22:12:19 -08:00
reachable.h prune: show progress while marking reachable objects 2011-11-07 22:12:19 -08:00
read-cache.c make is_empty_blob_sha1 available everywhere 2012-03-23 13:52:13 -07:00
README README: point to Documentation/SubmittingPatches 2012-02-23 11:35:59 -08:00
reflog-walk.c Merge branch 'jk/pretty-reglog-ent' 2011-12-22 11:27:28 -08:00
reflog-walk.h pretty: give placeholders to reflog identity 2011-12-16 13:00:15 -08:00
refs.c do_for_each_ref(): only iterate over the subtree that was requested 2012-04-10 15:55:55 -07:00
refs.h refs: store references hierarchically 2012-04-10 15:55:55 -07:00
RelNotes Start preparing for 1.7.10.1 2012-04-26 10:53:55 -07:00
remote-curl.c Merge branch 'it/fetch-pack-many-refs' 2012-04-24 14:40:51 -07:00
remote.c push: add '--prune' option 2012-02-22 18:17:39 -08:00
remote.h push: add '--prune' option 2012-02-22 18:17:39 -08:00
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'cb/cherry-pick-rev-path-confusion' 2012-04-27 13:58:02 -07:00
revision.h Merge branch 'cb/cherry-pick-rev-path-confusion' 2012-04-27 13:58:02 -07:00
run-command.c Merge branch 'jk/run-command-eacces' into maint 2012-04-26 10:51:41 -07:00
run-command.h dashed externals: kill children on exit 2012-01-08 15:07:20 -08:00
send-pack.h
sequencer.c Merge branch 'rt/cherry-revert-conflict-summary' 2012-04-27 13:58:53 -07:00
sequencer.h sequencer: factor code out of revert builtin 2012-01-11 18:11:49 -08:00
server-info.c
setup.c properly keep track of current working directory 2012-04-15 13:28:02 -07:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c parse_object: avoid putting whole blob in core 2012-03-07 09:07:38 -08:00
sha1_name.c i18n: mark @{upstream} error messages for translation 2012-04-15 14:26:08 -07:00
shallow.c
shell.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
shortlog.h
show-index.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c Merge branch 'tr/maint-bundle-long-subject' into maint 2012-03-04 22:16:30 -08:00
strbuf.h Merge branch 'tr/maint-bundle-long-subject' into maint 2012-03-04 22:16:30 -08:00
streaming.c streaming: make streaming-write-entry to be more reusable 2012-03-07 09:07:37 -08:00
streaming.h streaming: make streaming-write-entry to be more reusable 2012-03-07 09:07:37 -08:00
string-list.c
string-list.h
submodule.c submodule: use argv_array instead of hand-building arrays 2012-09-02 21:13:50 -07:00
submodule.h submodule: use argv_array instead of hand-building arrays 2012-09-02 21:13:50 -07:00
symlinks.c Add threaded versions of functions in symlinks.c. 2012-03-02 23:56:28 -08:00
tag.c upload-pack: avoid parsing tag destinations 2012-01-06 13:28:57 -08:00
tag.h upload-pack: avoid parsing tag destinations 2012-01-06 13:28:57 -08:00
tar.h
test-chmtime.c
test-credential.c introduce credentials API 2011-12-11 23:16:24 -08:00
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
test-genrandom.c
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mergesort.c mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
test-mktemp.c
test-parse-options.c test-parse-options: convert to OPT_BOOL() 2012-02-26 15:18:41 -08:00
test-path-utils.c
test-revision-walking.c Teach revision walking machinery to walk multiple times sequencially 2012-03-30 08:57:49 -07:00
test-run-command.c
test-scrap-cache-tree.c Add test-scrap-cache-tree 2011-12-06 14:52:18 -08:00
test-sha1.c
test-sha1.sh
test-sigchain.c
test-subprocess.c test-subprocess: fix segfault without arguments 2012-04-10 12:28:20 -07:00
test-svn-fe.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c Merge branch 'sp/smart-http-failure-to-push' into maint 2012-03-04 22:16:33 -08:00
transport.c Merge branch 'hv/submodule-recurse-push' 2012-04-24 14:40:20 -07:00
transport.h Merge branch 'hv/submodule-recurse-push' 2012-04-24 14:40:20 -07:00
tree-diff.c use custom rename score during --follow 2011-12-16 12:33:49 -08:00
tree-walk.c Document limited recursion pathspec matching with wildcards 2012-01-14 18:39:04 -08:00
tree-walk.h tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.h
unimplemented.sh
unix-socket.c unix-socket: do not let close() or chdir() clobber errno during cleanup 2012-01-11 17:37:10 -08:00
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c unpack-trees: plug minor memory leak 2012-04-10 16:36:23 -07:00
unpack-trees.h Merge branch 'jc/diff-index-unpack' into maint 2011-10-15 20:46:36 -07:00
upload-pack.c Merge branch 'jk/parse-object-cached' 2012-01-29 13:18:55 -08:00
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
url.h
usage.c
userdiff.c drop odd return value semantics from userdiff_config 2012-02-07 10:44:54 -08:00
userdiff.h
utf8.c
utf8.h
walker.c
walker.h
wrap-for-bin.sh i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
wrapper.c Add more large blob test cases 2012-03-07 09:07:37 -08:00
write_or_die.c
ws.c
wt-status.c Convert resolve_ref+xstrdup to new resolve_refdup function 2011-12-13 09:26:52 -08:00
wt-status.h
xdiff-interface.c
xdiff-interface.h
zlib.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -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.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.

See Documentation/gittutorial.txt to get started, then see
Documentation/everyday.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://marc.theaimsgroup.com/?l=git and other archival
sites.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.