Go to file
Junio C Hamano accccde483 pickaxe: allow -i to search in patch case-insensitively
"git log -S<string>" is a useful way to find the last commit in the
codebase that touched the <string>. As it was designed to be used by a
porcelain script to dig the history starting from a block of text that
appear in the starting commit, it never had to look for anything but an
exact match.

When used by an end user who wants to look for the last commit that
removed a string (e.g. name of a variable) that he vaguely remembers,
however, it is useful to support case insensitive match.

When given the "--regexp-ignore-case" (or "-i") option, which originally
was designed to affect case sensitivity of the search done in the commit
log part, e.g. "log --grep", the matches made with -S/-G pickaxe search is
done case insensitively now.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-02-28 16:15:29 -08:00
Documentation Sync with 1.7.6.6 2012-02-05 23:52:53 -08:00
block-sha1
builtin Merge branch 'maint-1.7.7' into maint 2012-01-12 23:31:46 -08:00
compat Merge branch 'ef/setenv-putenv' into maint 2011-12-28 11:42:24 -08:00
contrib Merge branch 'sn/complete-bash-wo-process-subst' 2011-11-09 05:46:39 -08:00
git-gui Merge git://repo.or.cz/git-gui 2011-10-16 03:01:44 -07:00
git_remote_helpers Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
gitk-git
gitweb gitweb: Fix fallback mode of to_utf8 subroutine 2011-12-19 12:25:43 -08:00
mergetools mergetools: use the correct tool for Beyond Compare 3 on Windows 2011-10-15 20:13:55 -07:00
perl Merge branch 'maint-1.7.7' into maint 2012-01-03 13:47:46 -08:00
po
ppc
t pickaxe: allow -i to search in patch case-insensitively 2012-02-28 16:15:29 -08:00
templates Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
vcs-svn
xdiff Merge branch 'rs/diff-cleanup-records-fix' into maint 2011-10-21 10:49:25 -07:00
.gitattributes
.gitignore
.mailmap
COPYING
GIT-VERSION-GEN Git 1.7.6.6 2012-02-05 23:50:52 -08:00
INSTALL docs: Update install-doc-quick 2011-11-08 13:37:10 -08:00
LGPL-2.1
Makefile Merge branch 'na/strtoimax' into maint 2011-12-28 11:32:33 -08:00
README
RelNotes Prepare for 1.7.8.4 2012-01-10 14:27:14 -08:00
abspath.c Merge branch 'js/maint-add-path-stat-pwd' into maint 2011-08-16 11:41:27 -07:00
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Merge branch 'jk/maint-upload-archive' into maint 2011-12-21 11:42:44 -08:00
archive.h archive: don't let remote clients get unreachable commits 2011-11-21 14:42:25 -08:00
argv-array.c refactor argv_array into generic code 2011-09-14 11:56:36 -07:00
argv-array.h refactor argv_array into generic code 2011-09-14 11:56:36 -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
base85.c
bisect.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
bisect.h
blob.c
blob.h
branch.c Merge branch 'jn/maint-sequencer-fixes' into maint 2011-12-28 11:32:39 -08:00
branch.h Allow checkout -B <current-branch> to update the current branch 2011-11-28 11:40:46 -08:00
builtin.h
bundle.c fix hang in git fetch if pointed at a 0 length bundle 2012-01-03 12:13:28 -08:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c
cache-tree.h
cache.h grep: use static trans-case table 2012-02-28 14:29:37 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c want_color: automatically fallback to color.ui 2011-08-19 15:51:38 -07:00
color.h want_color: automatically fallback to color.ui 2011-08-19 15:51:38 -07:00
combine-diff.c Merge branch 'jk/color-and-pager' 2011-08-28 21:19:16 -07:00
command-list.txt Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages 2011-10-16 11:09:35 -07:00
commit.c Merge branch 'nd/maint-autofix-tag-in-head' into maint 2011-10-21 10:49:26 -07:00
commit.h Merge branch 'nd/maint-autofix-tag-in-head' into maint 2011-10-21 10:49:26 -07:00
config.c Merge branch 'na/strtoimax' into maint 2011-12-28 11:32:33 -08:00
config.mak.in
configure.ac
connect.c Merge branch 'jk/fetch-no-tail-match-refs' into maint 2011-12-28 11:32:36 -08:00
connected.c check_everything_connected(): libify 2011-09-09 15:19:02 -07:00
connected.h check_everything_connected(): libify 2011-09-09 15:19:02 -07:00
convert.c Merge branch 'jc/maint-lf-to-crlf-keep-crlf' into maint 2011-12-28 11:42:27 -08:00
convert.h
copy.c
csum-file.c
csum-file.h
ctype.c grep: use static trans-case table 2012-02-28 14:29:37 -08:00
daemon.c Merge branch 'jk/daemon-msgs' 2011-10-21 16:04:32 -07:00
date.c date.c: Support iso8601 timezone formats 2011-09-12 16:49:14 -07: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.c Merge branch 'jc/maint-diffstat-numstat-context' into maint 2011-11-01 16:10:56 -07:00
diff.h pickaxe: allow -i to search in patch case-insensitively 2012-02-28 16:15:29 -08: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
diffcore.h combine-diff: support format_callback 2011-08-20 23:03:06 -07:00
dir.c read_directory_recursive: reduce one indentation level 2011-10-27 11:27:57 -07:00
dir.h rename pathspec_prefix() to common_prefix() and move to dir.[ch] 2011-09-12 14:38:32 -07:00
editor.c
entry.c
environment.c Merge branch 'bc/attr-ignore-case' 2011-10-17 21:37:14 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c fast-import: Fix incorrect fanout level when modifying existing notes refs 2011-11-28 16:38:46 -08:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-am.sh Merge branch 'maint-1.7.7' into maint 2011-12-09 13:33:39 -08: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 'na/strtoimax' into maint 2011-12-28 11:32:33 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
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 use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
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 Merge branch 'maint' 2011-09-19 20:46:48 -07:00
git-mergetool.sh Merge branch 'jm/mergetool-pathspec' into maint-1.7.6 2011-10-26 16:12:25 -07:00
git-parse-remote.sh
git-pull.sh Merge branch 'jk/pull-rebase-with-work-tree' into maint 2011-11-01 16:11:00 -07:00
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'aw/rebase-i-stop-on-failure-to-amend' into maint 2011-12-28 11:32:34 -08:00
git-rebase--merge.sh
git-rebase.sh Merge branch 'jk/pull-rebase-with-work-tree' into maint 2011-11-01 16:11:00 -07:00
git-relink.perl
git-remote-testgit.py (short) documentation for the testgit remote helper 2011-09-01 15:52:02 -07:00
git-repack.sh
git-request-pull.sh
git-send-email.perl send-email: multiedit is a boolean config option 2012-01-09 15:15:28 -08:00
git-sh-i18n.sh
git-sh-setup.sh use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
git-stash.sh Merge branch 'bc/unstash-clean-crufts' 2011-10-05 12:36:17 -07:00
git-submodule.sh Merge branch 'tc/submodule-clone-name-detection' 2011-10-26 16:16:32 -07:00
git-svn.perl svn: Quote repository root in regex match 2011-11-01 20:05:33 +00:00
git-web--browse.sh git-web--browse: avoid the use of eval 2011-10-03 10:47:07 -07:00
git.c Merge branch 'jk/pager-with-external-command' 2011-08-28 21:19:25 -07:00
git.spec.in gitweb: Add gitweb manpages to 'gitweb' package in git.spec 2011-10-16 11:09:35 -07:00
graph.c color: delay auto-color decision until point of use 2011-08-19 15:51:34 -07:00
graph.h
grep.c grep: use static trans-case table 2012-02-28 14:29:37 -08:00
grep.h Use kwset in grep 2011-08-20 22:33:58 -07:00
hash.c
hash.h
help.c
help.h
hex.c get_sha1_hex(): do not read past a NUL character 2011-10-05 13:45:16 -07:00
http-backend.c
http-fetch.c http-push: enable "proactive auth" 2011-12-13 16:34:44 -08:00
http-push.c http-push: enable "proactive auth" 2011-12-13 16:34:44 -08:00
http-walker.c
http.c Merge branch 'jk/maint-push-over-dav' into maint 2011-12-28 11:32:37 -08:00
http.h Merge branch 'jk/maint-push-over-dav' into maint 2011-12-28 11:32:37 -08:00
ident.c ident: do not retrieve default ident when unnecessary 2011-10-06 11:16:16 -07:00
imap-send.c Sync with 1.7.6.6 2012-02-05 23:52:53 -08:00
kwset.c sparse: Fix an "Using plain integer as NULL pointer" warning 2011-09-11 14:43:14 -07:00
kwset.h Adapt the kwset code to Git 2011-08-20 22:33:57 -07:00
levenshtein.c
levenshtein.h
list-objects.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
list-objects.h list-objects: pass callback data to show_objects() 2011-09-01 15:46:12 -07:00
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c Merge branch 'js/log-show-children' 2011-10-18 21:59:12 -07:00
log-tree.h
mailmap.c Merge branch 'ml/mailmap' into maint-1.7.6 2011-12-13 21:12:14 -08:00
mailmap.h
match-trees.c
merge-file.c
merge-file.h
merge-recursive.c Merge branch 'cn/eradicate-working-copy' into maint 2011-10-26 16:13:31 -07:00
merge-recursive.h merge-recursive: Save D/F conflict filenames instead of unlinking them 2011-08-14 14:19:35 -07:00
name-hash.c name-hash.c: always initialize dir_next pointer 2011-11-01 15:29:18 -07:00
notes-cache.c
notes-cache.h
notes-merge.c Sync with 1.7.7.4 2011-11-18 11:30:02 -08:00
notes-merge.h
notes.c Do not use C++-style comments 2011-08-22 10:07:07 -07:00
notes.h
object.c receive-pack, fetch-pack: reject bogus pack that records objects twice 2011-11-16 22:05:21 -08:00
object.h
pack-check.c
pack-refs.c Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c receive-pack, fetch-pack: reject bogus pack that records objects twice 2011-11-16 22:05:21 -08:00
pack.h receive-pack, fetch-pack: reject bogus pack that records objects twice 2011-11-16 22:05:21 -08:00
pager.c setup_pager: set GIT_PAGER_IN_USE 2011-08-18 14:17:12 -07:00
parse-options-cb.c parseopt: add OPT_NOOP_NOARG 2011-09-28 12:46:21 -07:00
parse-options.c parse-options: deprecate OPT_BOOLEAN 2011-09-27 17:00:04 -07:00
parse-options.h parseopt: add OPT_NOOP_NOARG 2011-09-28 12:46:21 -07:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c Learn to handle gitfiles in enter_repo 2011-10-04 13:30:38 -07:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Merge branch 'nd/pretty-commit-log-message' 2011-11-01 15:20:03 -07:00
progress.c
progress.h
quote.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
quote.h quote: provide sq_dequote_to_argv_array 2011-09-14 11:56:49 -07:00
reachable.c
reachable.h
read-cache.c refresh_index: make porcelain output more specific 2011-11-18 11:55:58 -08:00
reflog-walk.c
reflog-walk.h
refs.c refs: loosen over-strict "format" check 2011-11-16 21:52:24 -08:00
refs.h Merge branch 'jc/broken-ref-dwim-fix' 2011-10-21 16:04:36 -07:00
remote-curl.c Merge branch 'jk/http-push-to-empty' into maint 2011-12-28 11:42:37 -08:00
remote.c Merge branch 'cn/fetch-prune' 2011-10-26 16:16:29 -07:00
remote.h Merge branch 'cn/fetch-prune' 2011-10-26 16:16:29 -07:00
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c pickaxe: allow -i to search in patch case-insensitively 2012-02-28 16:15:29 -08:00
revision.h Merge branch 'bk/ancestry-path' into maint 2011-10-15 20:46:38 -07:00
run-command.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
run-command.h
send-pack.h
sequencer.c revert: stop creating and removing sequencer-old directory 2011-12-12 13:33:53 -08:00
sequencer.h revert: stop creating and removing sequencer-old directory 2011-12-12 13:33:53 -08:00
server-info.c
setup.c Merge branch 'cb/common-prefix-unification' 2011-10-10 15:56:17 -07:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'nd/misc-cleanups' into maint 2011-12-13 22:02:51 -08:00
sha1_name.c Merge branch 'jc/broken-ref-dwim-fix' 2011-10-21 16:04:36 -07:00
shallow.c
shell.c
shortlog.h
show-index.c cleanup: use internal memory allocation wrapper functions everywhere 2011-10-06 13:54:32 -07:00
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline() 2011-10-18 13:28:17 -07:00
strbuf.h Merge branch 'jk/maint-config-param' into maint 2011-09-11 21:53:13 -07:00
streaming.c
streaming.h
string-list.c string-list: Add API to remove an item from an unsorted list 2011-08-14 14:19:35 -07:00
string-list.h string-list: Add API to remove an item from an unsorted list 2011-08-14 14:19:35 -07:00
submodule.c Merge branch 'jl/submodule-status-failure-report' into maint 2011-12-21 11:42:45 -08:00
submodule.h submodule: Search for merges only at end of recursive merge 2011-10-13 10:18:16 -07:00
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c test-ctype: add test for is_pathspec_magic 2011-10-03 11:44:03 -07:00
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-mktemp.c
test-obj-pool.c
test-parse-options.c parseopt: add OPT_NOOP_NOARG 2011-09-28 12:46:21 -07:00
test-path-utils.c
test-run-command.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-pool.c
test-subprocess.c
test-svn-fe.c
test-treap.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c cleanup: use internal memory allocation wrapper functions everywhere 2011-10-06 13:54:32 -07:00
transport.c Merge branch 'nd/maint-parse-depth' into maint 2012-01-04 09:43:26 -08:00
transport.h push: Don't push a repository with unpushed submodules 2011-08-20 23:03:52 -07:00
tree-diff.c use custom rename score during --follow 2011-12-16 12:33:49 -08:00
tree-walk.c tree_entry_interesting: make use of local pointer "item" 2011-10-27 11:38:24 -07: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
unpack-trees.c tree-walk.c: do not leak internal structure in tree_entry_len() 2011-10-27 11:08:26 -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 'jc/fetch-verify' 2011-10-05 12:36:20 -07:00
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
url.h
usage.c
userdiff.c Merge branch 'tr/userdiff-c-returns-pointer' into maint 2011-12-21 11:42:45 -08:00
userdiff.h
utf8.c
utf8.h
walker.c Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
walker.h
wrap-for-bin.sh
wrapper.c
write_or_die.c
ws.c
wt-status.c Merge branch 'maint-1.7.5' into maint-1.7.6 2011-10-26 16:08:19 -07:00
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.
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. 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.