A fork of Git containing Microsoft-specific patches.
Перейти к файлу
Junio C Hamano 78ed710fcf xutils: Fix hashing an incomplete line with whitespaces at the end
Upon seeing a whitespace, xdl_hash_record_with_whitespace() first skipped
the run of whitespaces (excluding LF) that begins there, ensuring that the
pointer points at the last whitespace character in the run, and assumed
that the next character must be LF at the end of the line.  This does not
work when hashing an incomplete line, which lacks the LF at the end.

Introduce "at_eol" variable that is true when either we are at the end of
line (looking at LF) or at the end of an incomplete line, and use that
instead throughout the code.

Noticed by Thell Fowler.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-23 13:17:59 -07:00
Documentation Merge branch 'maint-1.6.0' into maint-1.6.1 2009-06-20 23:48:21 -07:00
arm
compat Merge branch 'js/mingw-rename-fix' 2008-11-27 19:25:06 -08:00
contrib Merge branch 'maint-1.6.0' into maint-1.6.1 2009-03-30 13:23:53 -07:00
git-gui Merge git://repo.or.cz/git-gui 2008-12-17 21:56:48 -08:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2008-12-21 18:31:12 -08:00
gitweb gitweb: add $prevent_xss option to prevent XSS by repository content 2009-02-08 21:51:25 -08:00
mozilla-sha1
perl Merge branch 'pb/maint-git-pm-false-dir' into maint 2009-01-23 19:02:41 -08:00
ppc
t Merge branch 'maint-1.6.0' into maint-1.6.1 2009-08-07 20:44:02 -07:00
templates
xdiff xutils: Fix hashing an incomplete line with whitespaces at the end 2009-08-23 13:17:59 -07:00
.gitattributes
.gitignore add stage to gitignore 2008-12-03 21:29:03 -08:00
.mailmap
COPYING
GIT-VERSION-GEN GIT 1.6.1.4 2009-05-03 15:29:31 -07:00
INSTALL
Makefile Merge branch 'maint-1.6.0' into maint 2009-02-03 23:50:09 -08:00
README README: tutorial.txt is now called gittutorial.txt 2009-01-06 22:12:07 -08:00
RelNotes Prepare for 1.6.1.4. 2009-02-11 18:44:03 -08:00
abspath.c make_absolute_path(): check bounds when seeing an overlong symlink 2008-12-17 13:36:34 -08:00
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c
archive.h
attr.c
attr.h
base85.c
blob.c
blob.h
branch.c
branch.h
builtin-add.c git add: do not add files from a submodule 2009-01-05 10:48:32 -08:00
builtin-annotate.c
builtin-apply.c Merge branch 'jc/maint-apply-fix' into maint 2009-02-05 18:06:11 -08:00
builtin-archive.c
builtin-blame.c Merge branch 'jc/maint-1.6.0-blame-s' into maint-1.6.1 2009-04-08 23:02:17 -07:00
builtin-branch.c git-branch: display "was sha1" on branch deletion rather than just "sha1" 2009-03-21 17:30:51 -07:00
builtin-bundle.c
builtin-cat-file.c
builtin-check-attr.c
builtin-check-ref-format.c
builtin-checkout-index.c
builtin-checkout.c Merge branch 'jc/maint-do-not-switch-to-non-commit' into maint 2009-01-11 23:24:42 -08:00
builtin-clean.c
builtin-clone.c builtin_clone: use strbuf in cmd_clone() 2008-11-25 15:34:26 -08:00
builtin-commit-tree.c
builtin-commit.c Merge branch 'maint-1.6.0' into maint-1.6.1 2009-04-05 01:04:38 -07:00
builtin-config.c
builtin-count-objects.c Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
builtin-describe.c Merge branch 'sp/maint-describe-all-tag-warning' into maint 2008-12-27 14:21:15 -08:00
builtin-diff-files.c Add cache preload facility 2008-11-14 19:11:49 -08:00
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c reorder ALLOW_TEXTCONV option setting 2008-12-07 19:59:25 -08:00
builtin-fast-export.c Merge branch 'maint-1.6.0' into maint 2009-02-11 18:32:37 -08:00
builtin-fetch--tool.c
builtin-fetch-pack.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
builtin-fetch.c Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
builtin-fmt-merge-msg.c
builtin-for-each-ref.c
builtin-fsck.c Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
builtin-gc.c objects to be pruned immediately don't have to be loosened 2009-01-01 04:51:51 -08:00
builtin-grep.c Merge branch 'maint-1.6.0' into maint 2009-02-03 00:32:29 -08:00
builtin-help.c
builtin-http-fetch.c
builtin-init-db.c init: Do not segfault on big GIT_TEMPLATE_DIR environment variable 2009-04-18 13:06:40 -07:00
builtin-log.c Merge branch 'jc/maint-format-patch-o-relative' into maint 2009-01-28 23:56:13 -08:00
builtin-ls-files.c Teach ls-files --with-tree=<tree> to work with options other than -c 2008-11-16 00:15:50 -08:00
builtin-ls-remote.c
builtin-ls-tree.c Document git-ls-tree --full-tree 2009-01-01 04:43:23 -08:00
builtin-mailinfo.c mailinfo: 'From:' header should be unfold as well 2009-01-12 15:22:11 -08:00
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c merge-file: handle freopen() failure 2008-12-26 19:10:02 -08:00
builtin-merge-ours.c
builtin-merge-recursive.c merge-recursive: do not clobber untracked working tree garbage 2008-12-15 02:39:57 -08:00
builtin-merge.c Merge branch 'maint-1.6.0' into maint-1.6.1 2009-04-28 00:46:20 -07:00
builtin-mv.c builtin-mv.c: check for unversionned files before looking at the destination. 2009-02-04 11:07:42 -08:00
builtin-name-rev.c
builtin-pack-objects.c Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
builtin-pack-refs.c
builtin-prune-packed.c has_sha1_pack(): refactor "pretend these packs do not exist" interface 2009-02-28 01:06:06 -08:00
builtin-prune.c
builtin-push.c
builtin-read-tree.c
builtin-receive-pack.c
builtin-reflog.c
builtin-remote.c Merge branch 'js/maint-1.6.1-remote-remove-mirror' into maint-1.6.1 2009-03-12 21:45:56 -07:00
builtin-rerere.c
builtin-reset.c
builtin-rev-list.c rev-list: fix showing distance when using --bisect-all 2009-02-08 12:48:28 -08:00
builtin-rev-parse.c
builtin-revert.c builtin-revert.c: release index lock when cherry-picking an empty commit 2009-03-07 12:21:45 -08:00
builtin-rm.c git add --intent-to-add: fix removal of cached emptiness 2008-11-28 19:58:24 -08:00
builtin-send-pack.c send-pack: do not send unknown object name from ".have" to pack-objects 2009-01-27 23:46:59 -08:00
builtin-shortlog.c shortlog: handle multi-line subjects like log --pretty=oneline et. al. do 2009-01-06 22:06:07 -08:00
builtin-show-branch.c
builtin-show-ref.c
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tag.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
builtin-tar-tree.c
builtin-unpack-objects.c Merge branch 'lt/maint-wrap-zlib' into maint 2009-02-05 18:01:00 -08:00
builtin-update-index.c More friendly message when locking the index fails. 2009-02-19 23:22:57 -08:00
builtin-update-ref.c
builtin-upload-archive.c
builtin-verify-pack.c verify-pack -v: do not report "chain length 0" 2009-08-07 20:42:45 -07:00
builtin-verify-tag.c
builtin-write-tree.c git add --intent-to-add: do not let an empty blob be committed by accident 2008-11-30 17:59:19 -08:00
builtin.h
bundle.c bundle: allow the same ref to be given more than once 2009-01-17 23:00:31 -08:00
bundle.h
cache-tree.c git add --intent-to-add: do not let an empty blob be committed by accident 2008-11-30 17:59:19 -08:00
cache-tree.h
cache.h Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c Merge branch 'maint-1.6.0' into maint-1.6.1 2009-04-29 13:43:13 -07:00
command-list.txt
commit.c
commit.h
config.c Merge branch 'maint-1.6.0' into maint-1.6.1 2009-04-17 21:06:11 -07:00
config.mak.in Makefile: introduce NO_PTHREADS 2008-12-02 15:29:12 -08:00
configure.ac configure clobbers LDFLAGS 2009-01-05 19:46:19 -08:00
connect.c connect.c: stricter port validation, silence compiler warning 2008-12-21 01:48:23 -08:00
convert.c
copy.c
csum-file.c
csum-file.h
ctype.c
daemon.c daemon: cleanup: factor out xstrdup_tolower() 2008-12-26 19:09:56 -08:00
date.c date/time: do not get confused by fractional seconds 2008-11-13 09:06:58 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c diff --no-index: Do not generate patch output if other output is requested 2009-03-25 12:15:30 -07:00
diff.c Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Rename detection: Avoid repeated filespec population 2009-01-21 00:14:12 -08:00
diffcore.h
dir.c Merge branch 'maint-1.6.0' into maint-1.6.1 2009-05-08 21:12:41 -07:00
dir.h
editor.c
entry.c
environment.c Add cache preload facility 2008-11-14 19:11:49 -08:00
exec_cmd.c Merge branch 'js/maint-1.6.0-exec-path-env' into maint-1.6.1 2009-04-08 23:01:10 -07:00
exec_cmd.h
fast-import.c Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh generate-cmdlist.sh: avoid selecting synopsis at wrong place 2008-11-30 18:16:32 -08:00
git-add--interactive.perl
git-am.sh git-am: rename apply_opt_extra file to apply-opt 2008-12-05 20:02:10 -08:00
git-archimport.perl
git-bisect.sh Merge branch 'maint-1.6.0' into maint-1.6.1 2009-03-12 23:36:57 -07:00
git-compat-util.h Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-filter-branch.sh filter-branch: do not consider diverging submodules a 'dirty worktree' 2009-02-05 17:48:04 -08:00
git-instaweb.sh
git-lost-found.sh lost-found: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool.sh git-mergetool: properly handle "git mergetool -- filename" 2008-12-19 19:10:58 -08:00
git-parse-remote.sh
git-pull.sh pull: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-quiltimport.sh
git-rebase--interactive.sh Fix submodule squashing into unrelated commit 2009-01-28 14:54:58 -08:00
git-rebase.sh rebase: improve error messages about dirty state 2008-12-10 19:07:35 -08:00
git-relink.perl
git-repack.sh Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
git-request-pull.sh request-pull: make usage string match manpage 2008-11-17 02:27:18 -08:00
git-send-email.perl send-email: futureproof split_addrs() sub 2008-12-21 01:57:59 -08:00
git-sh-setup.sh git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X 2009-01-05 11:46:58 -08:00
git-stash.sh Revert "git-stash: use git rev-parse -q" 2008-12-07 17:30:35 -08:00
git-submodule.sh submodule: use git rev-parse -q 2008-12-03 14:27:18 -08:00
git-svn.perl Get rid of the last remnants of GIT_CONFIG_LOCAL 2008-12-14 16:43:39 -08:00
git-web--browse.sh
git.c git: use run_command() to execute dashed externals 2009-01-28 14:09:37 -08:00
git.spec.in Merge branch 'maint-1.6.0' into maint 2009-02-05 19:38:58 -08:00
graph.c
graph.h
grep.c Merge branch 'maint-1.6.0' into maint-1.6.1 2009-04-28 00:46:20 -07:00
grep.h
hash-object.c Ensure proper setup of git_dir for git-hash-object 2009-02-28 14:09:46 -08:00
hash.c
hash.h
help.c
help.h
http-push.c Merge branch 'maint-1.6.0' into maint-1.6.1 2009-06-13 17:09:45 -07:00
http-walker.c Merge branch 'lt/maint-wrap-zlib' into maint 2009-02-05 18:01:00 -08:00
http.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
http.h
ident.c Add backslash to list of 'crud' characters in real name 2008-12-02 15:29:13 -08:00
imap-send.c
index-pack.c Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
levenshtein.c Document levenshtein.c 2008-11-23 19:23:34 -08:00
levenshtein.h
list-objects.c process_{tree,blob}: Remove useless xstrdup calls 2009-04-08 22:58:43 -07:00
list-objects.h
ll-merge.c Merge branch 'maint-1.6.0' into maint-1.6.1 2009-06-20 23:48:21 -07:00
ll-merge.h
lockfile.c More friendly message when locking the index fails. 2009-02-19 23:22:57 -08:00
log-tree.c Fix machine-parseability of 'git log --source' 2008-11-16 00:24:41 -08:00
log-tree.h
mailmap.c
mailmap.h
match-trees.c
merge-file.c
merge-index.c
merge-recursive.c Merge branch 'js/maint-merge-recursive-r-d-conflict' into maint 2009-01-13 01:15:19 -08:00
merge-recursive.h
merge-tree.c
mktag.c
mktree.c
name-hash.c
object.c bundle: allow the same ref to be given more than once 2009-01-17 23:00:31 -08:00
object.h Merge branch 'js/maint-all-implies-HEAD' into maint 2009-02-05 17:54:12 -08:00
pack-check.c
pack-redundant.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
pack.h
pager.c Merge branch 'maint' 2008-12-15 23:06:13 -08:00
parse-options.c Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
parse-options.h Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
patch-delta.c
patch-id.c
patch-ids.c
patch-ids.h
path.c Remove unused normalize_absolute_path() 2009-02-07 12:23:30 -08:00
pkt-line.c
pkt-line.h
preload-index.c Makefile: introduce NO_PTHREADS 2008-12-02 15:29:12 -08:00
pretty.c shortlog: handle multi-line subjects like log --pretty=oneline et. al. do 2009-01-06 22:06:07 -08:00
progress.c
progress.h
quote.c
quote.h
reachable.c process_{tree,blob}: Remove useless xstrdup calls 2009-04-08 22:58:43 -07:00
reachable.h
read-cache.c add -u: do not fail to resolve a path as deleted 2009-01-28 17:29:33 -08:00
reflog-walk.c
reflog-walk.h
refs.c
refs.h
remote.c
remote.h
rerere.c Make some of fwrite/fclose/write/close failures visible 2008-12-04 18:05:41 -08:00
rerere.h
revision.c Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
revision.h Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
run-command.c run_command(): handle missing command errors more gracefully 2009-01-28 14:08:57 -08:00
run-command.h run_command(): help callers distinguish errors 2009-01-28 14:09:35 -08:00
send-pack.h
server-info.c
setup.c Merge branch 'js/maint-1.6.0-path-normalize' into maint-1.6.1 2009-03-21 22:59:19 -07:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
sha1_name.c Merge branch 'maint-1.6.0' into maint 2009-01-27 15:23:46 -08:00
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
strbuf.c Add generic 'strbuf_readlink()' helper function 2008-12-17 13:36:30 -08:00
strbuf.h Add generic 'strbuf_readlink()' helper function 2008-12-17 13:36:30 -08:00
string-list.c
string-list.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-date.c
test-delta.c
test-dump-cache-tree.c add test-dump-cache-tree in Makefile 2009-02-03 22:11:44 -08:00
test-genrandom.c test-genrandom: Add newline to usage string 2009-04-23 01:29:00 -07:00
test-match-trees.c
test-parse-options.c
test-path-utils.c Test and fix normalize_path_copy() 2009-02-07 12:23:30 -08:00
test-sha1.c
test-sha1.sh
thread-utils.c
thread-utils.h
trace.c
transport.c
transport.h
tree-diff.c tree_entry_interesting: a pathspec only matches at directory boundary 2009-04-01 19:35:16 -07:00
tree-walk.c
tree-walk.h
tree.c match_tree_entry(): a pathspec only matches at directory boundaries 2009-04-01 19:35:31 -07:00
tree.h
unpack-file.c
unpack-trees.c Merge branch 'maint-1.6.0' into maint 2009-01-31 17:42:17 -08:00
unpack-trees.h
update-server-info.c
upload-pack.c
usage.c
userdiff.c
userdiff.h
utf8.c utf8: add utf8_strwidth() 2009-02-04 16:30:43 -08:00
utf8.h utf8: add utf8_strwidth() 2009-02-04 16:30:43 -08:00
var.c
walker.c
walker.h
wrapper.c Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
write_or_die.c
ws.c
wt-status.c reorder ALLOW_TEXTCONV option setting 2008-12-07 19:59:25 -08:00
wt-status.h
xdiff-interface.c xdiff-interface.c: remove 10 duplicated lines 2008-11-26 10:47:41 -08:00
xdiff-interface.h

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

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.