Find a file
Jim Meyering 09f2825147 git-grep: don't use sscanf
If you use scanf or sscanf to parse integers, your code probably
accepts bogus inputs.  For example, builtin-grep (aka git-grep) uses
sscanf(scan, "%u", &num) to parse the integer argument to -A, -B, -C.
Currently, "-C 1,000" and "-C 4294967297" are both treated just like
"-C 1":

    $ git-grep -h -C 4294967297 juggle
    out and you may find it easier to switch back and forth if you
    juggle multiple lines of development simultaneously. Of
    course, you will pay the price of more disk usage to hold

The obvious fix is to use strtoul instead.  But using a bare strtoul is
too messy, at least when done properly, so I've added a wrapper function.

The new function in the patch below belongs elsewhere if it would be
useful in replacing any of the four remaining uses of sscanf.

One final note:  With this change, I get a slightly different
diagnostic depending on the context size:

  $ ./git-grep -h -C 4294967296 juggle
  fatal: 4294967296: invalid context length argument
  [Exit 128]
  $ ./git-grep -h -C 4294967295 juggle
  grep: 4294967295: invalid context length argument

  [Exit 1]

A common convention that makes it easy to identify the source
of a diagnostic is to include the program name before the first ":".
Whether that should be "git" or "git-grep" is another question.
Using "grep" or "fatal" is misleading.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-03-14 01:37:50 -07:00
arm [PATCH] ARM optimized SHA1 implementation 2005-09-20 18:10:00 -07:00
compat Add a compat/strtoumax.c for Solaris 8. 2007-02-19 18:20:30 -08:00
contrib Merge branch 'maint' 2007-03-10 22:07:26 -08:00
Documentation Documentation: add git-mergetool to the command list. 2007-03-14 01:29:26 -07:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2007-03-12 23:14:07 -07:00
gitweb gitweb: Don't escape attributes in CGI.pm HTML methods 2007-03-06 19:04:07 -08:00
mozilla-sha1 Fix constness of input in mozilla-sha1/sha1.c::SHA1_Update(). 2005-11-01 14:05:12 -08:00
perl Do not output "GEN " when generating perl.mak 2007-03-14 01:33:49 -07:00
ppc Assorted typo fixes 2007-02-03 21:49:54 -08:00
t Merge branch 'master' of git://repo.or.cz/git/fastimport 2007-03-12 23:10:23 -07:00
templates Make 'make' quiet by default 2007-03-06 00:48:13 -08:00
xdiff teach diff machinery about --ignore-space-at-eol 2007-02-13 21:40:42 -08:00
.gitignore Add git-mergetool to run an appropriate merge conflict resolution program 2007-03-13 20:14:05 -04:00
.mailmap .mailmap maintenance after pulling from git-svn 2007-02-23 03:11:52 -08:00
alloc.c Add NO_C99_FORMAT to support older compilers. 2006-08-02 00:27:18 -07:00
archive-tar.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
archive-zip.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
archive.h Remove unsupported C99 style struct initializers in git-archive. 2006-11-04 23:48:36 -08:00
base85.c improve base85 generated assembly code 2006-05-08 11:05:01 -07:00
blob.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
blob.h [PATCH] Anal retentive 'const unsigned char *sha1' 2005-06-08 13:04:53 -07:00
builtin-add.c Make a short-and-sweet "git-add -i" synonym for "git-add --interactive" 2007-01-17 10:52:36 -08:00
builtin-annotate.c annotate: fix for cvsserver. 2007-02-06 01:52:04 -08:00
builtin-apply.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
builtin-archive.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
builtin-blame.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
builtin-branch.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-bundle.c git-bundle: only die if pack would be empty, warn if ref is skipped 2007-03-11 23:55:46 -07:00
builtin-cat-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-check-ref-format.c Further clean-up: usage() vs die() 2006-08-03 21:55:41 -07:00
builtin-checkout-index.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-commit-tree.c Cleanup check_valid in commit-tree. 2007-02-27 21:40:18 -08:00
builtin-config.c git-config: document --rename-section, provide --remove-section 2007-03-03 19:59:37 -08:00
builtin-count-objects.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
builtin-describe.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-diff-files.c diff: make more cases implicit --no-index 2007-02-28 16:32:31 -08:00
builtin-diff-index.c run_diff_{files,index}(): update calling convention. 2007-02-22 02:02:15 -08:00
builtin-diff-tree.c Call setup_git_directory() much earlier 2006-07-29 01:34:07 -07:00
builtin-diff.c diff: make more cases implicit --no-index 2007-02-28 16:32:31 -08:00
builtin-fmt-merge-msg.c Merge branch 'maint' 2007-02-27 22:15:42 -08:00
builtin-for-each-ref.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-fsck.c Merge branch 'jc/fsck' 2007-03-10 23:10:26 -08:00
builtin-grep.c git-grep: don't use sscanf 2007-03-14 01:37:50 -07:00
builtin-init-db.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-log.c format-patch: add --inline option and make --attach a true attachment 2007-03-04 17:31:29 -08:00
builtin-ls-files.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-ls-tree.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
builtin-mailinfo.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-mailsplit.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-merge-base.c Make merge-base a built-in. 2007-01-09 17:57:03 -08:00
builtin-merge-file.c move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -08:00
builtin-mv.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-name-rev.c Merge branch 'js/name-rev-fix' 2007-02-20 22:24:03 -08:00
builtin-pack-objects.c Use off_t in pack-objects/fast-import when we mean an offset 2007-03-07 11:06:33 -08:00
builtin-pack-refs.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-prune-packed.c prune-packed: add -q to usage 2007-01-18 14:30:05 -08:00
builtin-prune.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-push.c Remove unused run_command variants 2007-03-11 22:49:31 -07:00
builtin-read-tree.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-reflog.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-rerere.c Merge branch 'maint' 2007-02-25 11:08:47 -08:00
builtin-rev-list.c Read the config in rev-list 2007-02-18 15:58:08 -08:00
builtin-rev-parse.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
builtin-revert.c Switch to run_command_v_opt in revert 2007-03-11 22:49:25 -07:00
builtin-rm.c git-rm documentation: remove broken behaviour from the example. 2007-01-16 11:50:29 -08:00
builtin-runstatus.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-shortlog.c shortlog: prompt when reading from terminal by mistake 2007-03-14 01:33:41 -07:00
builtin-show-branch.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-show-ref.c Merge branch 'maint' 2007-02-24 01:42:06 -08:00
builtin-stripspace.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-symbolic-ref.c add logref support to git-symbolic-ref 2007-01-28 02:16:46 -08:00
builtin-tar-tree.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-unpack-objects.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-update-index.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
builtin-update-ref.c lock_any_ref_for_update(): do not accept malformatted refs. 2007-01-29 00:57:07 -08:00
builtin-upload-archive.c short i/o: fix calls to read to use xread or read_in_full 2007-01-08 15:44:47 -08:00
builtin-verify-pack.c Load core configuration in git-verify-pack. 2006-12-29 11:36:45 -08:00
builtin-write-tree.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin.h Make git-revert & git-cherry-pick a builtin 2007-03-03 22:59:34 -08:00
cache-tree.c Catch errors when writing an index that contains invalid objects. 2006-11-13 14:26:51 -08:00
cache-tree.h write-tree: --prefix=<path> 2006-05-01 22:29:16 -07:00
cache.h Merge branch 'jc/fsck' 2007-03-10 23:10:26 -08:00
check-builtins.sh cherry is built-in, do not ship git-cherry.sh 2006-11-05 11:26:21 -08:00
check-racy.c Add check program "git-check-racy" 2006-08-15 21:38:07 -07:00
color.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
color.h Move color option parsing out of diff.c and into color.[ch] 2006-09-08 16:44:10 -07:00
combine-diff.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
commit.c General const correctness fixes 2007-03-07 10:47:10 -08:00
commit.h Merge branch 'js/commit-format' 2007-03-02 00:37:12 -08:00
config.c Merge branch 'js/config-rename' 2007-03-08 00:53:38 -08:00
config.mak.in remove merge-recursive-old 2006-11-21 20:55:39 -08:00
configure.ac New autoconf test for iconv 2007-02-18 15:57:36 -08:00
connect.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
convert-objects.c General const correctness fixes 2007-03-07 10:47:10 -08:00
convert.c Make AutoCRLF ternary variable. 2007-02-14 11:19:28 -08:00
copy.c copy_fd: close ifd on error 2005-12-27 10:49:25 -08:00
COPYING Add a COPYING notice, making it explicit that the license is GPLv2. 2005-04-11 10:18:16 -07:00
csum-file.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
csum-file.h [PATCH] -Werror fixes 2005-08-09 22:28:19 -07:00
ctype.c Unlocalized isspace and friends 2005-10-14 17:17:27 -07:00
daemon.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
date.c show_date(): rename the "relative" parameter to "mode" 2007-02-27 17:29:37 -08:00
delta.h pack-object: slightly more efficient 2006-05-15 12:32:13 -07:00
diff-delta.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
diff-lib.c Merge branch 'js/diff-ni' 2007-03-10 23:26:33 -08:00
diff.c Merge branch 'js/diff-ni' 2007-03-10 23:26:33 -08:00
diff.h diff: make more cases implicit --no-index 2007-02-28 16:32:31 -08:00
diffcore-break.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-delta.c diffcore-delta: 64-byte-or-EOL ultrafast replacement (hash fix). 2006-03-15 13:19:27 -08:00
diffcore-order.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-pickaxe.c diffcore-pickaxe: fix infinite loop on zero-length needle 2007-01-25 21:17:19 -08:00
diffcore-rename.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore.h diff-index --cached --raw: show tree entry on the LHS for unmerged entries. 2007-01-06 22:57:42 -08:00
dir.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
dir.h Fix 'git add' with .gitignore 2006-12-29 11:01:31 -08:00
dump-cache-tree.c Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
entry.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
environment.c General const correctness fixes 2007-03-07 10:47:10 -08:00
exec_cmd.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
exec_cmd.h Const tightening. 2006-03-05 02:47:29 -08:00
fast-import.c Remove unnecessary casts from fast-import 2007-03-12 15:48:37 -04:00
fetch-pack.c Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
fetch.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
fetch.h Teach git-local-fetch the --stdin switch 2006-07-27 19:33:48 -07:00
generate-cmdlist.sh use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-add--interactive.perl git-add -i: update removed path correctly. 2007-02-07 10:56:38 -08:00
git-am.sh Reword git-am 3-way fallback failure message. 2007-02-24 01:06:19 -08:00
git-applymbox.sh -u is now default for 'git-mailinfo'. 2007-01-09 21:32:49 -08:00
git-applypatch.sh Fix more typos, primarily in the code 2006-07-10 00:36:44 -07:00
git-archimport.perl git-archimport: allow remapping branch names 2007-03-07 10:30:22 -08:00
git-bisect.sh add replay and log to the usage string of git-bisect 2007-02-06 13:58:03 -08:00
git-checkout.sh Let git-checkout always drop any detached head 2007-02-03 23:06:27 -08:00
git-clean.sh Disallow working directory commands in a bare repository. 2007-01-10 15:03:09 -08:00
git-clone.sh Fixup no-progress for fetch & clone 2007-02-24 00:26:18 -08:00
git-commit.sh git-commit: add a --interactive option 2007-03-09 00:05:23 -08:00
git-compat-util.h Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
git-cvsexportcommit.perl Merge branch 'maint' 2007-02-28 14:18:57 -08:00
git-cvsimport.perl Read cvsimport options from repo-config 2007-02-07 23:54:25 -08:00
git-cvsserver.perl cvsserver: Use Merged response instead of Update-existing for merged files 2007-03-11 22:49:08 -07:00
git-fetch.sh Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
git-gc.sh Fix git-gc usage note 2007-03-03 12:11:22 -08:00
git-instaweb.sh [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-lost-found.sh git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
git-ls-remote.sh Add git-bundle: move objects and references by archive 2007-02-22 22:30:33 -08:00
git-merge-octopus.sh read-tree --aggressive 2006-02-06 21:43:27 -08:00
git-merge-one-file.sh Use git-merge-file in git-merge-one-file, too 2006-12-21 20:33:06 -08:00
git-merge-ours.sh git-merge-ours: make sure our index matches HEAD 2005-11-03 14:55:11 -08:00
git-merge-resolve.sh Assorted typo fixes 2007-02-03 21:49:54 -08:00
git-merge-stupid.sh Use Daniel's read-tree in the merge strategy 'resolve'. 2005-09-10 18:30:41 -07:00
git-merge.sh git-merge: warn when -m provided on a fast forward 2007-03-11 23:49:20 -07:00
git-mergetool.sh Add git-mergetool to run an appropriate merge conflict resolution program 2007-03-13 20:14:05 -04:00
git-p4import.py [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-parse-remote.sh Revert "Allow branch.*.merge to talk about remote tracking branches." 2007-02-04 16:58:30 -08:00
git-pull.sh git-pull: disallow implicit merging to detached HEAD 2007-01-15 15:37:22 -08:00
git-quiltimport.sh Assorted typo fixes 2007-02-03 21:49:54 -08:00
git-rebase.sh add -C[NUM] to git-am 2007-02-08 15:23:52 -08:00
git-relink.perl Big tool rename. 2005-09-07 17:45:20 -07:00
git-remote.perl git-remote: support remotes with a dot in the name 2007-02-26 00:24:41 -08:00
git-repack.sh [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-request-pull.sh Pass -M to diff in request-pull 2006-12-04 13:39:27 -08:00
git-reset.sh Shell syntax fix in git-reset 2007-01-18 14:22:24 -08:00
git-send-email.perl git-send-email: configurable bcc and chain-reply-to 2007-03-11 23:53:57 -07:00
git-sh-setup.sh Commands requiring a work tree must not run in GIT_DIR 2007-02-05 14:02:16 -08:00
git-svn.perl git-svn: add -l/--local command to "git svn rebase" 2007-03-13 21:18:37 -07:00
git-svnimport.perl use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-tag.sh Fix git-tag -u 2007-01-30 21:03:11 -08:00
git-verify-tag.sh git-verify-tag: make sure we remove temporary file. 2007-01-03 12:34:20 -08:00
GIT-VERSION-GEN GIT 1.5.0.3 2007-03-04 17:20:38 -08:00
git.c Make git-revert & git-cherry-pick a builtin 2007-03-03 22:59:34 -08:00
git.spec.in Update RPM core package description 2007-02-13 10:12:37 -08:00
gitk Make gitk save and restore window pane position on Linux and Cygwin. 2007-02-15 09:13:14 +11:00
grep.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
grep.h grep --all-match 2006-09-27 23:59:09 -07:00
hash-object.c index_fd(): pass optional path parameter as hint for blob conversion 2007-02-28 12:00:00 -08:00
help.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
http-fetch.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
http-push.c Merge branch 'maint' 2007-03-02 00:31:51 -08:00
http.c http/ftp: optionally ask curl to not use EPSV command 2006-09-28 19:02:46 -07:00
http.h Work around http-fetch built with cURL 7.16.0 2006-12-27 16:44:30 -08:00
ident.c Rename get_ident() to fmt_ident() and make it available to outside 2007-02-04 17:50:14 -08:00
imap-send.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
index-pack.c General const correctness fixes 2007-03-07 10:47:10 -08:00
INSTALL use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
interpolate.c General const correctness fixes 2007-03-07 10:47:10 -08:00
interpolate.h General const correctness fixes 2007-03-07 10:47:10 -08:00
list-objects.c pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
list-objects.h pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
local-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
lockfile.c Print a more accurate error message when we fail to create a lock file. 2007-01-06 10:42:49 -08:00
log-tree.c format-patch --attach: not folding some long headers. 2007-03-04 17:31:29 -08:00
log-tree.h Add msg_sep to diff_options 2006-06-26 14:58:41 -07:00
Makefile Add git-mergetool to run an appropriate merge conflict resolution program 2007-03-13 20:14:05 -04:00
merge-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
merge-index.c merge-index: fix longstanding bug in merging symlinks 2007-02-25 19:08:48 -08:00
merge-recursive.c Handle core.symlinks=false case in merge-recursive. 2007-03-03 18:59:41 -08:00
merge-tree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
mktag.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
mktree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
object-refs.c Fix git-fsck-objects SIGSEGV/divide-by-zero 2006-09-04 15:24:10 -07:00
object.c get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
object.h get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
pack-check.c Use off_t when we really mean a file offset. 2007-03-07 11:06:25 -08:00
pack-redundant.c Use off_t when we really mean a file offset. 2007-03-07 11:06:25 -08:00
pack.h Refactor the pack header reading function out of receive-pack.c 2007-01-24 18:08:02 -08:00
pager.c pager: Work around window resizing bug in 'less' 2007-02-05 15:42:36 -08:00
patch-delta.c make patch_delta() error cases a bit more verbose 2006-12-18 15:30:17 -08:00
patch-id.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
path-list.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
path-list.h Extract helper bits from c-merge-recursive work 2006-07-26 13:36:36 -07:00
path.c General const correctness fixes 2007-03-07 10:47:10 -08:00
peek-remote.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
pkt-line.c make git a bit less cryptic on fetch errors 2006-12-18 15:31:28 -08:00
pkt-line.h Fix pkt-line.h to compile with a non-GCC compiler 2006-06-26 02:11:53 -07:00
quote.c Teach for-each-ref about a little language called Tcl. 2007-01-28 13:00:26 -08:00
quote.h Teach for-each-ref about a little language called Tcl. 2007-01-28 13:00:26 -08:00
reachable.c scan reflogs independently from refs 2007-02-03 11:57:18 -08:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
README sanitize content of README file 2007-01-17 12:03:50 -08:00
receive-pack.c Change {pre,post}-receive hooks to use stdin 2007-03-11 22:56:03 -07:00
reflog-walk.c log --reflog: use dwim_log 2007-02-08 17:48:22 -08:00
reflog-walk.h log --reflog: honour --relative-date 2007-02-08 16:20:52 -08:00
refs.c Merge branch 'maint' 2007-03-10 22:07:26 -08:00
refs.h scan reflogs independently from refs 2007-02-03 11:57:18 -08:00
RelNotes Start preparing Release Notes for 1.5.0.3 2007-02-28 14:17:45 -08:00
revision.c revision --boundary: fix uncounted case. 2007-03-06 03:20:55 -08:00
revision.h Merge branch 'jc/boundary' 2007-03-11 23:02:52 -07:00
rsh.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
rsh.h git-ssh-push/pull: usability improvements 2005-06-07 14:23:46 -07:00
run-command.c Simplify closing two fds at once in run-command.c 2007-03-12 16:31:35 -07:00
run-command.h Teach run_command how to setup a stdin pipe 2007-03-11 22:49:40 -07:00
send-pack.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
server-info.c Don't coredump on bad refs in update-server-info. 2007-01-31 13:09:58 -08:00
setup.c Merge branch 'maint' 2007-03-10 22:07:26 -08:00
sha1_file.c Merge branch 'jc/fsck' 2007-03-10 23:10:26 -08:00
sha1_name.c Re-fix get_sha1_oneline() 2007-03-12 11:30:38 -07:00
shallow.c is_repository_shallow(): prototype fix. 2007-01-21 22:22:23 -08:00
shell.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
show-index.c Fix typo in show-index.c 2006-10-20 16:50:36 -07:00
sideband.c atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
sideband.h atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
ssh-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
ssh-pull.c Be more backward compatible with git-ssh-{push,pull}. 2005-09-15 14:56:37 -07:00
ssh-push.c Be more backward compatible with git-ssh-{push,pull}. 2005-09-15 14:56:37 -07:00
ssh-upload.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
strbuf.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
strbuf.h [PATCH] Kill a bunch of pointer sign warnings for gcc4 2005-05-18 08:44:23 -07:00
tag.c get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
tag.h Be careful when dereferencing tags. 2005-11-02 16:50:58 -08:00
tar.h tar-tree: Introduce write_entry() 2006-03-25 16:35:43 -08:00
test-chmtime.c Add test-chmtime: a utility to change mtime on files 2007-02-25 11:09:56 -08:00
test-date.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
test-delta.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
test-sha1.c test-sha1: test hashing large buffer 2006-06-24 02:59:20 -07:00
test-sha1.sh test-sha1: test hashing large buffer 2006-06-24 02:59:20 -07:00
trace.c short i/o: clean up the naming for the write_{in,or}_xxx family 2007-01-08 15:44:47 -08:00
tree-diff.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
tree-walk.c get_tree_entry: map blank requested entry to tree root 2007-01-09 14:08:41 -08:00
tree-walk.h tree_entry(): new tree-walking helper function 2006-05-30 23:03:01 -07:00
tree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
tree.h Remove last vestiges of generic tree_entry_list 2006-05-29 19:08:37 -07:00
unpack-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
unpack-trees.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
unpack-trees.h read-tree: further loosen "working file will be lost" check. 2006-12-05 23:25:52 -08:00
update-server-info.c Make the rest of commands work from a subdirectory. 2005-11-28 23:13:02 -08:00
upload-pack.c Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
usage.c Introduce a global level warn() function. 2006-12-21 22:59:34 -08:00
utf8.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
utf8.h Actually make print_wrapped_text() useful 2007-02-27 17:29:02 -08:00
var.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
write_or_die.c write_in_full: size_t is unsigned. 2007-01-26 17:39:03 -08:00
wt-status.c Merge branch 'master' into js/diff-ni 2007-02-26 01:20:42 -08:00
wt-status.h Provide better feedback for the untracked only case in status output 2007-01-10 14:29:21 -08:00
xdiff-interface.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
xdiff-interface.h move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -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/tutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands,
and "man git-commandname" for documentation of each command.
CVS users may also want to read Documentation/cvs-migration.txt.

Many Git online resources are accessible from http://git.or.cz/
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. 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.