Find a file
Junio C Hamano af2a651d2e checkout_entry(): clarify the use of topath[] parameter
The said function has this signature:

	extern int checkout_entry(struct cache_entry *ce,
				  const struct checkout *state,
				  char *topath);

At first glance, it might appear that the caller of checkout_entry()
can specify to which path the contents are written out by the last
parameter, and it is tempting to add "const" in front of its type.

In reality, however, topath[] is to point at a buffer to store the
temporary path generated by the callchain originating from this
function, and the temporary path is always short, much shorter than
the buffer prepared by its only caller in builtin/checkout-index.c.

Document the code a bit to clarify so that future callers know how
to use the function better.

Noticed-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-10-24 14:59:39 -07:00
block-sha1
builtin checkout_entry(): clarify the use of topath[] parameter 2013-10-24 14:59:39 -07:00
compat Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU" 2013-08-20 11:11:08 -07:00
contrib git-remote-mediawiki: bugfix for pages w/ >500 revisions 2013-09-24 12:42:21 -07:00
Documentation git-merge: document the -S option 2013-10-18 12:47:33 -07:00
git-gui git-gui 0.18.0 2013-06-16 20:06:55 -07:00
git_remote_helpers
gitk-git
gitweb gitweb: allow extra breadcrumbs to prefix the trail 2013-07-04 21:52:15 -07:00
mergetools
perl Git.pm: revert _temp_cache use of temp_is_locked 2013-07-18 20:31:43 -07:00
po l10n: de.po: use "das Tag" instead of "der Tag" 2013-09-08 18:37:13 +02:00
ppc
t Merge branch 'nd/git-dir-pointing-at-gitfile' into maint 2013-10-17 15:45:55 -07:00
templates Merge branch 'maint-1.8.3' into maint 2013-09-03 13:54:32 -07:00
vcs-svn
xdiff diff: add --ignore-blank-lines option 2013-06-19 15:17:45 -07:00
.gitattributes
.gitignore Merge branch 'es/check-mailmap' 2013-07-22 11:24:14 -07:00
.mailmap Merge branch 'sb/mailmap-updates' 2013-08-13 10:49:33 -07:00
abspath.c
aclocal.m4
advice.c Rename advice.object_name_warning to objectNameWarning 2013-07-31 15:20:07 -07:00
advice.h Merge branch 'jk/gcc-function-attributes' 2013-07-22 11:23:59 -07:00
alias.c
alloc.c
archive-tar.c
archive-zip.c Merge branch 'sb/archive-zip-double-assignment-fix' into maint 2013-07-19 10:40:53 -07:00
archive.c
archive.h
argv-array.c
argv-array.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
attr.c
attr.h
base85.c
bisect.c
bisect.h
blob.c
blob.h
branch.c Merge branch 'jh/checkout-auto-tracking' into maint 2013-06-27 14:37:21 -07:00
branch.h
builtin.h builtin: add git-check-mailmap command 2013-07-13 10:19:37 -07:00
bulk-checkin.c stream_to_pack: xread does not guarantee to read all requested bytes 2013-08-20 11:20:53 -07:00
bulk-checkin.h
bundle.c
bundle.h
cache-tree.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
cache-tree.h Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
cache.h checkout_entry(): clarify the use of topath[] parameter 2013-10-24 14:59:39 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
column.c
column.h
combine-diff.c Merge branch 'tr/log-full-diff-keep-true-parents' into maint 2013-09-18 11:59:05 -07:00
command-list.txt builtin: add git-check-mailmap command 2013-07-13 10:19:37 -07:00
commit-slab.h commit-slab.h: Fix memory allocation and addressing 2013-07-29 08:44:29 -07:00
commit.c Merge branch 'tr/log-full-diff-keep-true-parents' into maint 2013-09-18 11:59:05 -07:00
commit.h Merge branch 'tr/log-full-diff-keep-true-parents' into maint 2013-09-18 11:59:05 -07:00
config.c Merge branch 'hv/config-from-blob' into maint 2013-09-05 14:40:18 -07:00
config.mak.in
config.mak.uname Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU" 2013-08-20 11:11:08 -07:00
configure.ac configure: fix option help message for --disable-pthreads 2013-06-28 10:49:26 -07:00
connect.c
connected.c
connected.h
convert.c typofix: in-code comments 2013-07-22 16:06:49 -07:00
convert.h typofix: in-code comments 2013-07-22 16:06:49 -07:00
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'sb/misc-fixes' 2013-07-24 19:20:59 -07:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c
diff.c Merge branch 'ob/typofixes' 2013-07-24 19:23:01 -07:00
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c Merge branch 'rs/pickaxe-simplify' 2013-07-12 12:04:17 -07:00
diffcore-rename.c
diffcore.h
dir.c Merge branch 'nd/const-struct-cache-entry' 2013-07-22 11:24:01 -07:00
dir.h
editor.c
entry.c checkout_entry(): clarify the use of topath[] parameter 2013-10-24 14:59:39 -07:00
environment.c Merge branch 'nd/git-dir-pointing-at-gitfile' into maint 2013-10-17 15:45:55 -07:00
exec_cmd.c
exec_cmd.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
fast-import.c
fetch-pack.c Merge branch 'nd/fetch-pack-shallow-fix' into maint 2013-09-05 14:40:58 -07:00
fetch-pack.h
fmt-merge-msg.h
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl add--interactive: fix external command invocation on Windows 2013-09-04 10:35:25 -07:00
git-am.sh am: replace uses of --resolved with --continue 2013-06-27 09:37:12 -07:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU" 2013-08-20 11:11:08 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl Merge branch 'jc/cvsserver-perm-bit-fix' into maint 2013-10-17 15:45:58 -07:00
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 many small typofixes 2013-07-29 12:32:25 -07:00
git-mergetool.sh
git-p4.py many small typofixes 2013-07-29 12:32:25 -07:00
git-parse-remote.sh
git-pull.sh Merge branch 'jk/pull-into-dirty-unborn' into maint 2013-07-15 10:35:43 -07:00
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'es/rebase-i-no-abbrev' into maint 2013-10-17 15:45:50 -07:00
git-rebase--merge.sh
git-rebase.sh Merge branch 'mm/rebase-continue-freebsd-WB' into maint 2013-09-26 12:41:14 -07:00
git-relink.perl
git-remote-testgit.sh
git-remote-testpy.py
git-repack.sh
git-request-pull.sh request-pull: improve error message for invalid revision args 2013-07-17 12:30:58 -07:00
git-send-email.perl send-email: don't call methods on undefined values 2013-09-10 08:49:22 -07:00
git-sh-i18n.sh
git-sh-setup.sh die_with_status: use "printf '%s\n'", not "echo" 2013-08-07 08:49:49 -07:00
git-stash.sh Revert "git stash: avoid data loss when "git stash save" kills a directory" 2013-08-14 09:53:43 -07:00
git-submodule.sh Merge branch 'fg/submodule-clone-depth' 2013-07-15 10:28:48 -07:00
git-svn.perl Merge branch 'vl/typofix' into maint 2013-07-19 10:42:57 -07:00
GIT-VERSION-GEN Git 1.8.4.1 2013-09-26 15:01:41 -07:00
git-web--browse.sh web--browse: support /usr/bin/cygstart on Cygwin 2013-06-21 09:05:15 -07:00
git.c Merge branch 'es/check-mailmap' 2013-07-22 11:24:14 -07:00
git.rc
git.spec.in
gpg-interface.c
gpg-interface.h
graph.c
graph.h
grep.c
grep.h
hash.c
hash.h
help.c cygwin: Remove the Win32 l/stat() implementation 2013-07-18 10:44:17 -07:00
help.h
hex.c
http-backend.c Merge branch 'bc/http-backend-allow-405' into maint 2013-10-17 15:46:00 -07:00
http-fetch.c
http-push.c http-push.c::add_send_request(): do not initialize transfer_request 2013-07-19 11:15:17 -07:00
http-walker.c
http.c Merge branch 'bc/http-keep-memory-given-to-curl' into maint 2013-07-15 10:36:01 -07:00
http.h
ident.c
imap-send.c
INSTALL
kwset.c typofix: in-code comments 2013-07-22 16:06:49 -07:00
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c line-log: fix "log -LN" crash when N is last line of file 2013-07-23 12:09:48 -07:00
line-log.h
line-range.c line-range: fix "blame -L X,-N" regression 2013-07-17 18:02:12 -07:00
line-range.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c lockfile: fix buffer overflow in path handling 2013-07-07 10:29:28 -07:00
log-tree.c log: use true parents for diff even when rewriting 2013-08-01 10:25:48 -07:00
log-tree.h
mailmap.c Merge branch 'jk/mailmap-incomplete-line' into maint 2013-09-18 11:57:33 -07:00
mailmap.h
Makefile Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU" 2013-08-20 11:11:08 -07:00
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
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-utils.c
notes-utils.h
notes.c
notes.h many small typofixes 2013-07-29 12:32:25 -07:00
object.c Merge branch 'sb/parse-object-buffer-eaten' 2013-07-22 11:23:33 -07:00
object.h
pack-check.c
pack-revindex.c pack-revindex: radix-sort the revindex 2013-07-12 09:20:54 -07:00
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c
parse-options.c
parse-options.h Merge branch 'maint' 2013-08-09 15:49:55 -07:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c Merge branch 'rj/cygwin-clarify-use-of-cheating-lstat' 2013-08-02 11:01:01 -07:00
pathspec.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
pathspec.h
pkt-line.c
pkt-line.h
preload-index.c
pretty.c teach format-patch to place other authors into in-body "From" 2013-07-03 12:11:04 -07:00
prio-queue.c
prio-queue.h
progress.c
progress.h
prompt.c
prompt.h
quote.c write_name{_quoted_relative,}(): remove redundant parameters 2013-06-26 11:22:06 -07:00
quote.h write_name{_quoted_relative,}(): remove redundant parameters 2013-06-26 11:22:06 -07:00
reachable.c
reachable.h
read-cache.c many small typofixes 2013-07-29 12:32:25 -07:00
README
reflog-walk.c
reflog-walk.h
refs.c Revert "Add new @ shortcut for HEAD" 2013-08-14 15:04:24 -07:00
refs.h refs: implement simple transactions for the packed-refs file 2013-06-20 15:50:17 -07:00
RelNotes Start preparing for 1.8.4.2 2013-10-17 15:50:45 -07:00
remote-curl.c remote-http: use argv-array 2013-07-09 12:34:16 -07:00
remote-testsvn.c
remote.c Merge branch 'bc/push-match-many-refs' 2013-07-18 12:48:25 -07:00
remote.h
replace_object.c
rerere.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
rerere.h
resolve-undo.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
resolve-undo.h
revision.c log: use true parents for diff when walking reflogs 2013-08-05 08:27:00 -07:00
revision.h log: use true parents for diff even when rewriting 2013-08-01 10:25:48 -07:00
run-command.c Merge branch 'tr/fd-gotcha-fixes' 2013-07-22 11:23:13 -07:00
run-command.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
send-pack.c
send-pack.h
sequencer.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
sequencer.h
server-info.c
setup.c Merge branch 'jx/clean-interactive' 2013-07-22 11:24:11 -07:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c has_sha1_file: re-check pack directory before giving up 2013-08-30 14:53:45 -07:00
sha1_name.c Revert "Add new @ shortcut for HEAD" 2013-08-14 15:04:24 -07:00
shallow.c Merge branch 'mk/upload-pack-off-by-one-dead-code-removal' 2013-07-22 11:24:05 -07:00
shell.c Merge branch 'tr/protect-low-3-fds' 2013-07-22 11:23:35 -07:00
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c
strbuf.h
streaming.c Merge branch 'jk/cat-file-batch-optim' 2013-07-24 19:21:21 -07:00
streaming.h
string-list.c
string-list.h
submodule.c Merge branch 'jl/some-submodule-config-are-not-boolean' into maint 2013-09-18 11:59:35 -07:00
submodule.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c Merge branch 'js/test-ln-s-add' 2013-06-20 16:02:18 -07:00
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
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: run testcases with POSIX absolute paths on Windows 2013-06-26 11:25:12 -07:00
test-prio-queue.c
test-read-cache.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 add missing "format" function attributes 2013-07-09 22:23:04 -07:00
transport-helper.c many small typofixes 2013-07-29 12:32:25 -07:00
transport.c fetch: work around "transport-take-over" hack 2013-08-07 16:24:30 -07:00
transport.h fetch: work around "transport-take-over" hack 2013-08-07 16:24:30 -07:00
tree-diff.c
tree-walk.c traverse_trees(): clarify return value of the callback 2013-07-19 15:29:41 -07:00
tree-walk.h unpack-trees: don't shift conflicts left and right 2013-06-17 09:24:47 -07:00
tree.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
tree.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
unpack-trees.h
upload-pack.c Merge branch 'jk/upload-pack-keepalive' into maint 2013-10-17 15:46:01 -07:00
url.c
url.h
usage.c
userdiff.c
userdiff.h
utf8.c
utf8.h add missing "format" function attributes 2013-07-09 22:23:04 -07:00
varint.c
varint.h
version.c
version.h
walker.c
walker.h
wildmatch.c
wildmatch.h
wrap-for-bin.sh wrap-for-bin: make bin-wrappers chainable 2013-07-08 08:55:34 -07:00
wrapper.c xread, xwrite: limit size of IO to 8MB 2013-08-20 11:10:59 -07:00
write_or_die.c
ws.c
wt-status.c Merge branch 'jx/clean-interactive' 2013-07-22 11:24:11 -07:00
wt-status.h wt-status: use "format" function attribute for status_printf 2013-07-09 22:23:11 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c

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

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