Go to file
Jeff King 6bfe19ee16 submodule: simplify memory handling in config parsing
We keep a strbuf for the name of the submodule, even though
we only ever add one string to it. Let's just use xmemdupz
instead, which is slightly more efficient and makes it
easier to follow what is going on.

Unfortunately, we still end up having to deal with some
memory ownership issues in some code branches, as we have to
allocate the string in order to do a string list lookup, and
then only sometimes want to hand ownership of that string
over to the string_list. Still, making that explicit in the
code (as opposed to sometimes detaching the strbuf, and then
always releasing it) makes it a little more obvious what is
going on.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-23 12:58:27 -08:00
Documentation Update draft release notes to 1.8.2 2013-01-11 18:51:09 -08:00
block-sha1
builtin Merge branch 'jc/merge-blobs' 2013-01-11 18:34:24 -08:00
compat Merge branch 'nd/wildmatch' 2013-01-10 13:47:20 -08:00
contrib Merge branch 'fc/remote-bzr' 2013-01-09 08:26:26 -08:00
git-gui
git_remote_helpers Merge branch 'er/python-version-requirements' 2013-01-09 08:25:48 -08:00
gitk-git
gitweb Merge branch 'os/gitweb-highlight-uncaptured' into maint 2013-01-11 16:48:30 -08:00
mergetools mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder 2012-12-26 18:13:15 -08:00
perl git-svn, perl/Git.pm: extend and use Git->prompt method for querying users 2012-12-17 17:21:26 -08:00
po l10n: de.po: address the user formally 2013-01-07 18:33:35 +01:00
ppc
t archive-tar: use parse_config_key when parsing config 2013-01-23 08:41:50 -08:00
templates
vcs-svn
xdiff
.gitattributes
.gitignore Makefile: detect when PYTHON_PATH changes 2013-01-10 14:14:37 -08:00
.mailmap
COPYING
GIT-VERSION-GEN Start 1.8.2 cycle 2013-01-02 10:56:08 -08:00
INSTALL
LGPL-2.1
Makefile Merge branch 'jc/merge-blobs' 2013-01-11 18:34:24 -08:00
README README: it does not matter who the current maintainer is 2012-12-15 22:24:10 -08:00
RelNotes Prepare for 1.8.1.1 2013-01-10 14:17:13 -08:00
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c archive-tar: use parse_config_key when parsing config 2013-01-23 08:41:50 -08:00
archive-zip.c Merge branch 'rs/zip-with-uncompressed-size-in-the-header' 2013-01-11 18:34:55 -08:00
archive.c Add directory pattern matching to attributes 2012-12-17 22:07:23 -08:00
archive.h
argv-array.c
argv-array.h
attr.c Merge branch 'as/dir-c-cleanup' 2013-01-10 13:47:25 -08:00
attr.h
base85.c
bisect.c
bisect.h
blob.c
blob.h
branch.c
branch.h
builtin.h Merge branch 'jc/maint-fmt-merge-msg-no-edit-lose-credit' 2013-01-10 13:46:29 -08:00
bulk-checkin.c
bulk-checkin.h
bundle.c
bundle.h
cache-tree.c cache-tree: invalidate i-t-a paths after generating trees 2012-12-15 23:04:22 -08:00
cache-tree.h cache-tree: fix writing cache-tree when CE_REMOVE is present 2012-12-15 23:04:22 -08:00
cache.h config: add helper function for parsing key names 2013-01-23 08:41:49 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
column.c
column.h
combine-diff.c
command-list.txt
commit.c
commit.h Merge branch 'jc/format-color-auto' 2013-01-05 23:41:57 -08:00
config.c config: add helper function for parsing key names 2013-01-23 08:41:49 -08:00
config.mak.in
config.mak.uname Makefile: hoist uname autodetection to config.mak.uname 2013-01-03 14:15:17 -08:00
configure.ac Merge branch 'mh/pthreads-autoconf' into maint 2013-01-10 14:04:26 -08:00
connect.c
connected.c
connected.h
convert.c convert some config callbacks to parse_config_key 2013-01-23 08:41:50 -08:00
convert.h
copy.c
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c
diff.c
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir.c Merge branch 'as/dir-c-cleanup' 2013-01-10 13:47:25 -08:00
dir.h Merge branch 'as/dir-c-cleanup' 2013-01-10 13:47:25 -08:00
editor.c run-command: encode signal death as a positive integer 2013-01-06 11:09:18 -08:00
entry.c
environment.c
exec_cmd.c
exec_cmd.h
fast-import.c
fetch-pack.c Merge branch 'mk/qnx' 2013-01-03 10:28:33 -08:00
fetch-pack.h
fixup-builtins
fmt-merge-msg.h
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-am.sh
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'jn/warn-on-inaccessible-loosen' into maint 2013-01-11 16:47:07 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py Add checks to Python scripts for version dependencies. 2012-12-28 11:35:04 -08:00
git-parse-remote.sh
git-pull.sh
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh
git-rebase--merge.sh
git-rebase.sh
git-relink.perl
git-remote-testgit
git-remote-testpy.py Merge branch 'er/python-version-requirements' 2013-01-09 08:25:48 -08:00
git-repack.sh
git-request-pull.sh
git-send-email.perl
git-sh-i18n.sh
git-sh-setup.sh Merge branch 'jc/maint-fbsd-sh-ifs-workaround' into maint 2013-01-08 11:17:01 -08:00
git-stash.sh
git-submodule.sh submodule add: If --branch is given, record it in .gitmodules 2012-12-19 09:40:51 -08:00
git-svn.perl
git-web--browse.sh
git.c add global --literal-pathspecs option 2012-12-19 14:58:59 -08:00
git.spec.in
gpg-interface.c
gpg-interface.h
graph.c Merge branch 'mk/maint-graph-infinity-loop' 2013-01-02 10:39:09 -08:00
graph.h
grep.c
grep.h
hash.c
hash.h
help.c
help.h
hex.c
http-backend.c
http-fetch.c
http-push.c
http-walker.c
http.c Merge branch 'rb/http-cert-cred-no-username-prompt' into maint 2013-01-10 14:03:54 -08:00
http.h
ident.c
imap-send.c
kwset.c
kwset.h
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c convert some config callbacks to parse_config_key 2013-01-23 08:41:50 -08:00
ll-merge.h
lockfile.c
log-tree.c Merge branch 'jc/format-patch-reroll' 2013-01-11 18:34:10 -08:00
log-tree.h get_patch_filename(): split into two functions 2012-12-21 23:55:40 -08:00
mailmap.c
mailmap.h
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c
merge-recursive.h
merge.c
mergesort.c
mergesort.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes.c
notes.h
object.c
object.h
pack-check.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c
parse-options.c silence some -Wuninitialized false positives 2012-12-15 10:45:59 -08:00
parse-options.h silence some -Wuninitialized false positives 2012-12-15 10:45:59 -08:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Merge branch 'jc/same-encoding' into maint 2013-01-10 14:04:24 -08:00
progress.c
progress.h
prompt.c
prompt.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'jk/repack-ref-racefix' into maint 2013-01-10 14:04:17 -08:00
refs.h
remote-curl.c
remote-testsvn.c remote-testsvn: fix unitialized variable 2012-12-15 10:43:11 -08:00
remote.c Merge branch 'jc/fetch-ignore-symref' into maint 2013-01-11 16:45:44 -08:00
remote.h
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c
revision.h Merge branch 'jc/format-patch-reroll' 2013-01-11 18:34:10 -08:00
run-command.c run-command: encode signal death as a positive integer 2013-01-06 11:09:18 -08:00
run-command.h
send-pack.c
send-pack.h
sequencer.c learn to pick/revert into unborn branch 2012-12-23 10:40:37 -08:00
sequencer.h
server-info.c
setup.c
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c
sha1_name.c
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c Merge branch 'mh/unify-xml-in-imap-send-and-http-push' 2013-01-05 23:41:04 -08:00
strbuf.h Merge branch 'mh/unify-xml-in-imap-send-and-http-push' 2013-01-05 23:41:04 -08:00
streaming.c
streaming.h
string-list.c Merge branch 'mh/ceiling' 2013-01-02 10:36:59 -08:00
string-list.h Merge branch 'mh/ceiling' 2013-01-02 10:36:59 -08:00
submodule.c submodule: simplify memory handling in config parsing 2013-01-23 12:58:27 -08:00
submodule.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-genrandom.c
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mergesort.c
test-mktemp.c
test-parse-options.c
test-path-utils.c
test-regex.c
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c
test-subprocess.c
test-svn-fe.c
test-wildmatch.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c
transport.c
transport.h
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c Merge branch 'as/dir-c-cleanup' 2013-01-10 13:47:25 -08:00
unpack-trees.h
upload-pack.c
url.c
url.h
usage.c make error()'s constant return value more visible 2012-12-15 10:45:58 -08:00
userdiff.c userdiff: drop parse_driver function 2013-01-23 08:41:51 -08:00
userdiff.h
utf8.c Merge branch 'sp/shortlog-missing-lf' into maint 2013-01-10 14:04:23 -08:00
utf8.h Merge branch 'sp/shortlog-missing-lf' into maint 2013-01-10 14:04:23 -08:00
varint.c
varint.h
version.c
version.h
walker.c
walker.h
wildmatch.c wildmatch: replace variable 'special' with better named ones 2013-01-01 15:32:36 -08:00
wildmatch.h
wrap-for-bin.sh
wrapper.c Merge branch 'jn/warn-on-inaccessible-loosen' into maint 2013-01-11 16:47:07 -08:00
write_or_die.c
ws.c
wt-status.c
wt-status.h
xdiff-interface.c
xdiff-interface.h
zlib.c

README

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

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