1
0
mirror of https://github.com/git/git.git synced 2024-11-15 15:03:47 +01:00
Git Source Code Mirror. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
Go to file
Junio C Hamano 6680016e9d Merge branch 'tb/blame-force-read-cache-to-workaround-safe-crlf'
When running "git blame $path" with unnormalized data in the index
for the path, the data in the working tree was blamed, even though
"git add" would not have changed what is already in the index, due
to "safe crlf" that disables the line-end conversion.  It has been
corrected.

* tb/blame-force-read-cache-to-workaround-safe-crlf:
  correct blame for files commited with CRLF
2016-04-13 14:12:41 -07:00
block-sha1
builtin Merge branch 'tb/blame-force-read-cache-to-workaround-safe-crlf' 2016-04-13 14:12:41 -07:00
compat Merge branch 'js/mingw-tests-2.8' 2016-04-13 14:12:34 -07:00
contrib Merge branch 'mg/complete-cherry-mark-to-log' 2016-04-13 14:12:40 -07:00
Documentation Merge branch 'ep/trace-doc-sample-fix' 2016-04-13 14:12:39 -07:00
ewah ewah: convert to REALLOC_ARRAY, etc 2016-02-22 14:51:09 -08:00
git-gui
gitk-git Merge branch 'master' of git://ozlabs.org/~paulus/gitk 2016-03-20 18:05:10 -07:00
gitweb
mergetools mergetools: add support for ExamDiff 2016-04-04 09:15:14 -07:00
perl git-svn: shorten glob error message 2016-03-15 01:35:39 +00:00
po Merge branch 'master' of https://github.com/vnwildman/git 2016-03-23 23:01:51 +08:00
ppc
refs Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
t Merge branch 'tb/blame-force-read-cache-to-workaround-safe-crlf' 2016-04-13 14:12:41 -07:00
templates Merge branch 'ma/update-hooks-sample-typofix' into maint 2016-03-10 11:13:50 -08:00
vcs-svn
xdiff Merge branch 'rj/xdiff-prepare-plug-leak-on-error-codepath' 2016-04-03 10:29:33 -07:00
.gitattributes
.gitignore
.mailmap
.travis.yml add DEVELOPER makefile knob to check for acknowledged warnings 2016-02-25 12:49:45 -08:00
abspath.c Windows: shorten code by re-using convert_slashes() 2016-04-04 18:03:02 -07:00
aclocal.m4
advice.c
advice.h
alias.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
alloc.c
archive-tar.c
archive-zip.c
archive.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
archive.h
argv-array.c argv-array: add detach function 2016-02-22 14:50:32 -08:00
argv-array.h argv-array: add detach function 2016-02-22 14:50:32 -08:00
attr.c Merge branch 'ss/exc-flag-is-a-collection-of-bits' 2016-04-06 11:38:59 -07:00
attr.h
base85.c
bisect.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
bisect.h
blob.c
blob.h
branch.c config: rename git_config_set to git_config_set_gently 2016-02-22 10:23:55 -08:00
branch.h branch: report errors in tracking branch setup 2016-02-22 10:23:30 -08:00
builtin.h
bulk-checkin.c
bulk-checkin.h
bundle.c bundle: don't leak an fd in case of early return 2016-04-01 10:33:18 -07:00
bundle.h
cache-tree.c Merge branch 'jk/tighten-alloc' into maint 2016-03-10 11:13:43 -08:00
cache-tree.h
cache.h Merge branch 'jk/check-repository-format' 2016-04-13 14:12:28 -07:00
check_bindir
check-builtins.sh
check-racy.c
color.c
color.h
column.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
column.h
combine-diff.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
command-list.txt
commit-slab.h
commit.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
commit.h pretty: allow tweaking tabwidth in --expand-tabs 2016-03-30 12:52:26 -07:00
config.c Merge branch 'jk/check-repository-format' 2016-04-13 14:12:28 -07:00
config.mak.in
config.mak.uname Merge branch 'tb/avoid-gcc-on-darwin-10-6' 2016-03-21 09:20:13 -07:00
configure.ac Merge branch 'jc/sane-grep' 2016-03-16 13:16:54 -07:00
connect.c Merge branch 'cn/deprecate-ssh-git-url' 2016-03-16 13:16:40 -07:00
connect.h
connected.c
connected.h
convert.c Merge branch 'tb/conversion' 2016-02-26 13:37:23 -08:00
convert.h
copy.c
COPYING
credential-cache--daemon.c Merge branch 'jk/credential-cache-comment-exit' 2016-04-06 11:39:06 -07:00
credential-cache.c credential-cache, send_request: close fd when done 2016-04-01 10:33:18 -07:00
credential-store.c
credential.c credential: let empty credential specs reset helper list 2016-02-26 10:58:14 -08:00
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c
diff.c Merge branch 'mm/diff-renames-default' 2016-04-03 10:29:22 -07:00
diff.h Merge branch 'mm/diff-renames-default' 2016-04-03 10:29:22 -07:00
diffcore-break.c
diffcore-delta.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
diffcore-order.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
diffcore-pickaxe.c
diffcore-rename.c Merge branch 'sg/diff-multiple-identical-renames' 2016-04-13 14:12:32 -07:00
diffcore.h
dir.c Merge branch 'ss/exc-flag-is-a-collection-of-bits' 2016-04-06 11:38:59 -07:00
dir.h Merge branch 'ss/exc-flag-is-a-collection-of-bits' 2016-04-06 11:38:59 -07:00
editor.c
entry.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
environment.c Merge branch 'jk/check-repository-format' 2016-04-13 14:12:28 -07:00
exec_cmd.c Merge branch 'ak/extract-argv0-last-dir-sep' into maint 2016-03-10 11:13:47 -08:00
exec_cmd.h prepare_{git,shell}_cmd: use argv_array 2016-02-22 14:51:09 -08:00
fast-import.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
fetch-pack.c fetch-pack: ignore SIGPIPE in sideband demuxer 2016-02-25 13:51:47 -08:00
fetch-pack.h
fmt-merge-msg.h
fsck.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl add--interactive: allow custom diff highlighting programs 2016-02-28 10:53:54 -08:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'es/st-add4-gcc-4.2-workaround' into maint 2016-03-21 09:19:27 -07: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-merge-octopus.sh
git-merge-one-file.sh Merge branch 'jk/no-diff-emit-common' into maint 2016-03-10 11:13:42 -08:00
git-merge-resolve.sh
git-mergetool--lib.sh mergetools: create mergetool_find_win32_cmd() helper function for winmerge 2016-04-04 09:15:00 -07:00
git-mergetool.sh mergetool: honor tempfile configuration when resolving delete conflicts 2016-03-10 14:07:57 -08:00
git-p4.py Merge branch 'ls/p4-map-user' 2016-04-06 11:39:05 -07:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'rt/rebase-i-shorten-stop-report' 2016-04-13 14:12:30 -07:00
git-rebase--merge.sh
git-rebase.sh rebase: decouple --exec from --interactive 2016-03-18 14:35:31 -07:00
git-relink.perl
git-remote-testgit.sh
git-request-pull.sh
git-send-email.perl send-email: ignore trailing whitespace in mailrc alias file 2016-03-18 14:47:10 -07:00
git-sh-i18n.sh
git-sh-setup.sh sane_grep: pass "-a" if grep accepts it 2016-03-10 15:35:43 -08:00
git-stash.sh
git-submodule.sh Merge branch 'jk/submodule-c-credential' 2016-04-06 11:39:12 -07:00
git-svn.perl git-svn: fix URL canonicalization during init w/ SVN 1.7+ 2016-03-16 20:16:23 +00:00
GIT-VERSION-GEN First batch for post 2.8 cycle 2016-04-03 10:55:36 -07:00
git-web--browse.sh
git.c Merge branch 'ak/git-strip-extension-from-dashed-command' into maint 2016-03-10 11:13:48 -08:00
git.rc
git.spec.in git.spec.in: use README.md, not README 2016-04-03 10:12:48 -07:00
gpg-interface.c
gpg-interface.h
graph.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
graph.h
grep.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
grep.h
hashmap.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
hashmap.h
help.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
help.h
hex.c
http-backend.c
http-fetch.c
http-push.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
http-walker.c
http.c Merge branch 'jx/http-no-proxy' 2016-03-10 10:56:43 -08:00
http.h Merge branch 'ew/force-ipv4' 2016-02-24 13:25:54 -08:00
ident.c
imap-send.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
INSTALL
khash.h convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
kwset.c
kwset.h
levenshtein.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
levenshtein.h
LGPL-2.1
line-log.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
line-log.h
line-range.c
line-range.h
list-objects.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
list-objects.h list-objects: pass full pathname to callbacks 2016-03-16 10:41:04 -07:00
ll-merge.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
ll-merge.h
lockfile.c lockfile: improve error message when lockfile exists 2016-03-01 10:16:46 -08:00
lockfile.h
log-tree.c pretty: expand tabs in indented logs to make things line up properly 2016-03-30 11:25:35 -07:00
log-tree.h
mailinfo.c
mailinfo.h
mailmap.c mailmap: do not resolve blobs in a non-repository 2016-03-06 17:19:11 -08:00
mailmap.h
Makefile Merge branch 'jc/makefile-redirection-stderr' 2016-04-13 14:12:38 -07:00
match-trees.c
merge-blobs.c Merge branch 'jk/no-diff-emit-common' into maint 2016-03-10 11:13:42 -08:00
merge-blobs.h
merge-recursive.c merge-recursive: find-renames resets threshold 2016-02-24 10:39:02 -08:00
merge-recursive.h merge-recursive: option to disable renames 2016-02-17 10:20:51 -08:00
merge.c
mergesort.c
mergesort.h
name-hash.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
notes.h
object.c
object.h
pack-bitmap-write.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
pack-bitmap.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
pack-bitmap.h
pack-check.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
pack-objects.c
pack-objects.h
pack-revindex.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
pack-revindex.h
pack-write.c
pack.h
pager.c Merge branch 'jc/am-i-v-fix' into maint 2016-03-10 11:13:41 -08:00
parse-options-cb.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c Merge branch 'jk/check-repository-format' 2016-04-13 14:12:28 -07:00
pathspec.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
pathspec.h
pkt-line.c
pkt-line.h
preload-index.c
pretty.c pretty: allow tweaking tabwidth in --expand-tabs 2016-03-30 12:52:26 -07:00
prio-queue.c
prio-queue.h
progress.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
progress.h
prompt.c
prompt.h
quote.c quote: implement sq_quotef() 2016-03-01 12:24:15 -08:00
quote.h quote: implement sq_quotef() 2016-03-01 12:24:15 -08:00
reachable.c Merge branch 'maint-2.5' into maint-2.6 2016-03-17 11:26:18 -07:00
reachable.h
read-cache.c Merge branch 'nd/ita-cleanup' into maint 2016-02-22 13:10:21 -08:00
README.md README.md: don't take 'commandname' literally 2016-04-03 10:12:48 -07:00
ref-filter.c ref-filter.c: mark strings for translation 2016-02-29 14:27:58 -08:00
ref-filter.h
reflog-walk.c
reflog-walk.h
refs.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
refs.h Merge branch 'dt/initial-ref-xn-commit-doc' 2016-02-26 13:37:27 -08:00
RelNotes Second batch for post 2.8 cycle 2016-04-06 11:44:24 -07:00
remote-curl.c Merge branch 'jk/tighten-alloc' into maint 2016-03-10 11:13:43 -08:00
remote-testsvn.c
remote.c Merge branch 'jk/tighten-alloc' into maint 2016-03-10 11:13:43 -08:00
remote.h
replace_object.c
rerere.c Merge branch 'jk/rerere-xsnprintf' 2016-02-17 10:13:33 -08:00
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'lt/pretty-expand-tabs' 2016-04-13 14:12:36 -07:00
revision.h Merge branch 'lt/pretty-expand-tabs' 2016-04-13 14:12:36 -07:00
run-command.c Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
run-command.h Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
send-pack.c
send-pack.h
sequencer.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
sequencer.h
server-info.c
setup.c Merge branch 'jk/check-repository-format' 2016-04-13 14:12:28 -07:00
sh-i18n--envsubst.c
sha1_file.c Merge branch 'jk/pack-idx-corruption-safety' into maint 2016-03-10 11:13:46 -08:00
sha1_name.c Merge branch 'jk/tighten-alloc' into maint 2016-03-10 11:13:43 -08:00
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
shallow.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
shell.c
shortlog.h
show-index.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c
split-index.h
strbuf.c Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
strbuf.h Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
streaming.c
streaming.h
string-list.c
string-list.h
submodule-config.c Merge branch 'ak/use-hashmap-iter-first-in-submodule-config' 2016-04-13 14:12:29 -07:00
submodule-config.h Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
submodule.c Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
submodule.h Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
symlinks.c
tag.c
tag.h
tar.h
tempfile.c
tempfile.h
test-chmtime.c
test-config.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-dump-split-index.c
test-dump-untracked-cache.c
test-fake-ssh.c
test-genrandom.c
test-hashmap.c
test-index-version.c
test-line-buffer.c
test-match-trees.c use setup_git_directory() in test-* programs 2016-03-07 12:27:35 -08:00
test-mergesort.c
test-mktemp.c
test-parse-options.c
test-path-utils.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
test-prio-queue.c
test-read-cache.c
test-regex.c
test-revision-walking.c use setup_git_directory() in test-* programs 2016-03-07 12:27:35 -08:00
test-run-command.c run-command: do not pass child process data into callbacks 2016-03-01 09:42:01 -08:00
test-scrap-cache-tree.c
test-sha1-array.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c
test-submodule-config.c
test-subprocess.c
test-svn-fe.c
test-urlmatch-normalization.c
test-wildmatch.c
thread-utils.c
thread-utils.h
trace.c
trace.h
trailer.c trailer.c: mark strings for translation 2016-02-29 14:27:58 -08:00
trailer.h
transport-helper.c Merge branch 'ew/force-ipv4' 2016-02-24 13:25:54 -08:00
transport.c Merge branch 'cn/deprecate-ssh-git-url' 2016-03-16 13:16:40 -07:00
transport.h
tree-diff.c Merge branch 'maint-2.4' into maint-2.5 2016-03-17 11:24:14 -07:00
tree-walk.c
tree-walk.h
tree.c
tree.h
unicode_width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c
unpack-trees.h
update_unicode.sh
upload-pack.c upload-pack: use argv_array for pack_objects 2016-02-25 14:20:25 -08:00
url.c
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c
userdiff.h diff: clarify textconv interface 2016-02-22 10:40:35 -08:00
utf8.c
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c
wildmatch.h
worktree.c
worktree.h
wrap-for-bin.sh
wrapper.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
write_or_die.c write_or_die: handle EPIPE in async threads 2016-02-25 13:51:45 -08:00
ws.c
wt-status.c Merge branch 'sb/misc-cleanups' 2016-04-13 14:12:34 -07:00
wt-status.h
xdiff-interface.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
xdiff-interface.h
zlib.c

Git - fast, scalable, distributed revision control system

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.

Many Git online resources are accessible from http://git-scm.com/ including full documentation and Git related tools.

See Documentation/gittutorial.txt to get started, then see Documentation/giteveryday.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).

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.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (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