Go to file
Junio C Hamano 68be2fea50 receive-pack, fetch-pack: reject bogus pack that records objects twice
When receive-pack & fetch-pack are run and store the pack obtained over
the wire to a local repository, they internally run the index-pack command
with the --strict option. Make sure that we reject incoming packfile that
records objects twice to avoid spreading such a damage.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-16 22:05:21 -08:00
Documentation Merge branch 'jc/fetch-pack-fsck-objects' 2011-10-05 12:36:20 -07:00
block-sha1
builtin receive-pack, fetch-pack: reject bogus pack that records objects twice 2011-11-16 22:05:21 -08:00
compat obstack: Fix portability issues 2011-08-28 22:03:26 -07:00
contrib contrib/hooks: adapt comment about Debian install location for contrib hooks 2011-09-26 16:39:34 -07:00
git-gui
git_remote_helpers
gitk-git
gitweb
mergetools mergetools/meld: Use '--output' when available 2011-08-19 10:52:16 -07:00
perl
po
ppc
t Merge branch 'jc/fetch-verify' 2011-10-05 12:36:20 -07:00
templates templates/hooks--*: remove sample hooks without any functionality 2011-09-27 10:00:35 -07:00
vcs-svn
xdiff Merge branch 'rc/histogram-diff' 2011-09-06 11:42:58 -07:00
.gitattributes
.gitignore
.mailmap
COPYING
GIT-VERSION-GEN Git 1.7.7 2011-09-30 14:20:57 -07:00
INSTALL
LGPL-2.1
Makefile Merge branch 'jc/receive-verify' 2011-10-05 12:36:21 -07:00
README
RelNotes Git 1.7.6.4 2011-09-23 14:43:05 -07:00
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c
archive.h
attr.c Merge branch 'mh/attr' 2011-08-28 21:19:12 -07:00
attr.h
base85.c
bisect.c
bisect.h
blob.c
blob.h
branch.c Merge branch 'rr/revert-cherry-pick-continue' 2011-10-05 12:36:19 -07:00
branch.h branch --set-upstream: regression fix 2011-09-16 21:47:47 -07:00
builtin.h
bundle.c Teach progress eye-candy to fetch_refs_from_bundle() 2011-09-19 11:07:21 -07:00
bundle.h Teach progress eye-candy to fetch_refs_from_bundle() 2011-09-19 11:07:21 -07:00
cache-tree.c
cache-tree.h
cache.h Merge branch 'rr/revert-cherry-pick-continue' 2011-10-05 12:36:19 -07: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
commit.c Merge branch 'nd/decorate-grafts' 2011-08-28 21:22:58 -07:00
commit.h Move write_shallow_commits to fetch-pack.c 2011-08-18 11:01:18 -07:00
config.c Merge branch 'rr/revert-cherry-pick-continue' 2011-10-05 12:36:19 -07:00
config.mak.in
configure.ac
connect.c Merge branch 'dz/connect-error-report' into maint 2011-09-11 21:53:47 -07: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 'tr/maint-ident-to-git-memmove' 2011-09-02 13:18:25 -07:00
convert.h
copy.c
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'jc/diff-index-unpack' 2011-10-05 12:35:53 -07:00
diff-no-index.c
diff.c Merge branch 'jk/color-and-pager' 2011-08-28 21:19:16 -07:00
diff.h Merge branch 'jk/color-and-pager' 2011-08-28 21:19:16 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c Use kwset in pickaxe 2011-08-20 22:33:57 -07:00
diffcore-rename.c
diffcore.h combine-diff: support format_callback 2011-08-20 23:03:06 -07:00
dir.c
dir.h
editor.c
entry.c
environment.c Merge branch 'nd/maint-clone-gitdir' 2011-08-28 21:20:28 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c Merge branch 'di/fast-import-tagging' 2011-08-28 21:18:48 -07: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 'gb/am-hg-patch' 2011-10-05 12:36:17 -07:00
git-archimport.perl
git-bisect.sh bisect: take advantage of gettextln, eval_gettextln. 2011-08-30 16:19:57 -07:00
git-compat-util.h Merge branch 'cb/maint-exec-error-report' 2011-08-17 17:25:55 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh difftool--helper: Make style consistent with git 2011-08-19 00:09:17 -07:00
git-difftool.perl
git-filter-branch.sh Merge branch 'jk/filter-branch-require-clean-work-tree' 2011-10-05 12:35:55 -07:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh Merge branch 'maint' 2011-09-19 20:46:48 -07:00
git-mergetool.sh git-mergetool: check return value from read 2011-09-19 17:41:49 -07:00
git-parse-remote.sh
git-pull.sh Merge branch 'js/i18n-scripts' 2011-08-25 16:00:16 -07:00
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree 2011-08-26 15:25:41 -07:00
git-rebase--merge.sh
git-rebase.sh
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
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh Merge branch 'bc/unstash-clean-crufts' 2011-10-05 12:36:17 -07:00
git-submodule.sh Merge branch 'js/i18n-scripts' 2011-08-25 16:00:16 -07:00
git-svn.perl git-svn: teach git-svn to populate svn:mergeinfo 2011-09-13 08:12:13 +00:00
git-web--browse.sh
git.c Merge branch 'jk/pager-with-external-command' 2011-08-28 21:19:25 -07:00
git.spec.in
graph.c color: delay auto-color decision until point of use 2011-08-19 15:51:34 -07:00
graph.h
grep.c Merge branch 'fk/use-kwset-pickaxe-grep-f' 2011-09-02 10:00:38 -07: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
http-backend.c
http-fetch.c Mark http-fetch without -a as deprecated 2011-08-23 21:36:20 -07:00
http-push.c whitespace: have SP on both sides of an assignment "=" 2011-08-25 14:47:07 -07:00
http-walker.c
http.c
http.h
ident.c
imap-send.c
kwset.c obstack: Fix portability issues 2011-08-28 22:03:26 -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 list-objects: pass callback data to show_objects() 2011-09-01 15:46:12 -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 'nd/decorate-grafts' 2011-08-28 21:22:58 -07:00
log-tree.h
mailmap.c
mailmap.h
match-trees.c
merge-file.c
merge-file.h
merge-recursive.c merge-recursive: Do not look at working tree during a virtual ancestor merge 2011-09-23 15:21:01 -07:00
merge-recursive.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c
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
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 Merge branch 'jk/color-and-pager' 2011-08-28 21:19:16 -07:00
parse-options.c git_config_colorbool: refactor stdout_is_tty handling 2011-08-18 14:48:29 -07:00
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c read_gitfile_gently(): rename misnamed function to read_gitfile() 2011-08-22 14:04:56 -07:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Merge branch 'maint' 2011-08-25 16:00:07 -07:00
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'nd/maint-clone-gitdir' into maint 2011-09-23 14:21:39 -07:00
refs.h Merge branch 'js/ref-namespaces' 2011-08-17 17:35:38 -07:00
remote-curl.c Sync with 1.7.6.2 2011-09-06 11:42:12 -07:00
remote.c
remote.h
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'jc/fetch-verify' 2011-10-05 12:36:20 -07:00
revision.h Merge branch 'jc/fetch-verify' 2011-10-05 12:36:20 -07:00
run-command.c
run-command.h
send-pack.h
sequencer.c
sequencer.h
server-info.c
setup.c Merge branch 'nd/maint-clone-gitdir' 2011-08-28 21:20:28 -07:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'jc/maint-clone-alternates' into maint 2011-09-23 14:27:33 -07:00
sha1_name.c Allow git merge ":/<pattern>" 2011-09-15 16:52:43 -07:00
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c Merge branch 'jk/maint-config-param' into maint 2011-09-11 21:53:13 -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.h
submodule.c Merge branch 'jk/maint-fetch-submodule-check-fix' 2011-10-05 12:35:54 -07:00
submodule.h push: Don't push a repository with unpushed submodules 2011-08-20 23:03:52 -07:00
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
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
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
transport.c Merge branch 'jc/maint-bundle-too-quiet' 2011-10-05 12:35:55 -07:00
transport.h push: Don't push a repository with unpushed submodules 2011-08-20 23:03:52 -07:00
tree-diff.c
tree-walk.c traverse_trees(): allow pruning with pathspec 2011-08-29 14:32:04 -07:00
tree-walk.h traverse_trees(): allow pruning with pathspec 2011-08-29 14:32:04 -07:00
tree.c
tree.h
unimplemented.sh
unpack-trees.c Merge branch 'jc/diff-index-unpack' 2011-10-05 12:35:53 -07:00
unpack-trees.h Merge branch 'jc/diff-index-unpack' 2011-10-05 12:35:53 -07:00
upload-pack.c Merge branch 'jc/fetch-verify' 2011-10-05 12:36:20 -07:00
url.c
url.h
usage.c
userdiff.c
userdiff.h
utf8.c
utf8.h
walker.c
walker.h
wrap-for-bin.sh
wrapper.c
write_or_die.c
ws.c
wt-status.c Merge branch 'jk/maint-1.7.2-status-ignored' into maint 2011-09-11 21:51:10 -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.