Go to file
Shawn O. Pearce e4cd6c7a20 Backup the array passed to fetch_pack so we can free items
fetch_pack() can call remove_duplicates() on its input array and
this will possibly overwrite an earlier entry with a later one if
there are any duplicates in the input array.  In such a case the
caller here might then attempt to free an item multiple times as
it goes through its cleanup.

I also forgot to free the heads array we pass down into fetch_pack()
when I introduced the allocation of it in this function during my
builtin-fetch cleanup series.  Better free it while we are here
working on related memory management fixes.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-19 03:22:31 -07:00
Documentation Make fetch a builtin 2007-09-19 03:22:30 -07:00
arm
compat add memmem() 2007-09-06 22:46:00 -07:00
contrib Make fetch a builtin 2007-09-19 03:22:30 -07:00
git-gui Merge branch 'maint' of git://repo.or.cz/git-gui into maint 2007-09-17 23:50:17 -07:00
gitweb gitweb: Fix escaping HTML of project owner in 'projects_list' and 2007-08-28 21:14:46 -07:00
mozilla-sha1
perl Install man3 manpages to $PREFIX/share/man/man3 even for site installs 2007-08-23 01:02:49 -07:00
ppc
t Make fetch a builtin 2007-09-19 03:22:30 -07:00
templates hooks--update: Explicitly check for all zeros for a deleted ref. 2007-09-13 22:33:11 -07:00
xdiff
.gitignore add "test-absolute-path" to .gitignore 2007-08-04 01:57:29 -07:00
.mailmap
COPYING
GIT-VERSION-GEN GIT 1.5.3.2 2007-09-19 03:11:28 -07:00
INSTALL INSTALL: explain info installation and dependencies. 2007-08-10 23:16:38 -07:00
Makefile Make fetch a builtin 2007-09-19 03:22:30 -07:00
README
RelNotes GIT 1.5.3.2 2007-09-19 03:11:28 -07:00
alloc.c
archive-tar.c archive: specfile support (--pretty=format: in archive files) 2007-09-03 16:46:16 -07:00
archive-zip.c preserve executable bits in zip archives 2007-09-18 14:56:55 -07:00
archive.h archive: specfile support (--pretty=format: in archive files) 2007-09-03 16:46:16 -07:00
attr.c attr.c: read .gitattributes from index as well. 2007-08-14 23:19:10 -07:00
attr.h
base85.c
blob.c
blob.h
builtin-add.c Merge branch 'cr/reset' 2007-09-18 00:42:01 -07:00
builtin-annotate.c
builtin-apply.c Merge branch 'maint' 2007-09-18 17:39:25 -07:00
builtin-archive.c archive - leakfix for format_subst() 2007-09-10 00:14:38 -07:00
builtin-blame.c blame: check return value from read_sha1_file() 2007-08-25 08:33:47 -07:00
builtin-branch.c
builtin-bundle.c Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
builtin-cat-file.c
builtin-check-attr.c Add read_cache to builtin-check-attr 2007-08-14 22:46:01 -07:00
builtin-check-ref-format.c
builtin-checkout-index.c
builtin-commit-tree.c
builtin-config.c
builtin-count-objects.c
builtin-describe.c
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c git-diff: resurrect the traditional empty "diff --git" behaviour 2007-08-31 23:30:14 -07:00
builtin-fetch--tool.c Function for updating refs. 2007-09-05 11:29:33 -07:00
builtin-fetch-pack.c Fix builtin-fetch memory corruption by not overstepping array 2007-09-19 03:22:31 -07:00
builtin-fetch.c Always ensure the pack.keep file is removed by git-fetch 2007-09-19 03:22:31 -07:00
builtin-fmt-merge-msg.c
builtin-for-each-ref.c
builtin-fsck.c
builtin-gc.c
builtin-grep.c Split grep arguments in a way that does not requires to add /dev/null. 2007-09-14 15:16:43 -07:00
builtin-http-fetch.c Modularize commit-walker 2007-09-19 03:22:30 -07:00
builtin-init-db.c git-init: autodetect core.symlinks 2007-08-31 00:25:04 -07:00
builtin-log.c git-format-patch --in-reply-to: accept <message@id> with angle brackets 2007-09-14 00:49:12 -07:00
builtin-ls-files.c git-commit: Allow partial commit of file removal. 2007-09-17 23:57:35 -07:00
builtin-ls-tree.c
builtin-mailinfo.c Temporary fix for stack smashing in mailinfo 2007-08-30 18:46:37 -07:00
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c
builtin-mv.c Simplify cache API 2007-09-14 01:02:21 -07:00
builtin-name-rev.c name-rev: Fix non-shortest description 2007-08-27 22:36:43 -07:00
builtin-pack-objects.c builtin-pack-objects.c: avoid bogus gcc warnings 2007-09-14 22:30:20 -07:00
builtin-pack-refs.c
builtin-prune-packed.c
builtin-prune.c
builtin-push.c Push code for transport library 2007-09-19 03:22:30 -07:00
builtin-read-tree.c Clean-up read-tree error condition. 2007-08-16 21:19:06 -07:00
builtin-reflog.c
builtin-rerere.c
builtin-reset.c Make "git reset" a builtin. 2007-09-12 13:25:07 -07:00
builtin-rev-list.c rev-list --bisect: Bisection "distance" clean up. 2007-09-18 02:58:23 -07:00
builtin-rev-parse.c
builtin-revert.c
builtin-rm.c Simplify cache API 2007-09-14 01:02:21 -07:00
builtin-runstatus.c
builtin-shortlog.c
builtin-show-branch.c
builtin-show-ref.c
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tag.c git-tag -s must fail if gpg cannot sign the tag. 2007-09-09 21:30:54 -07:00
builtin-tar-tree.c
builtin-unpack-objects.c
builtin-update-index.c Simplify cache API 2007-09-14 01:02:21 -07:00
builtin-update-ref.c Function for updating refs. 2007-09-05 11:29:33 -07:00
builtin-upload-archive.c
builtin-verify-pack.c
builtin-verify-tag.c verify-tag: also grok CR/LFs in the tag signature 2007-09-03 16:44:35 -07:00
builtin-write-tree.c Fix racy-git handling in git-write-tree. 2007-08-24 18:53:02 -07:00
builtin.h Make fetch a builtin 2007-09-19 03:22:30 -07:00
bundle.c Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
bundle.h Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
cache-tree.c
cache-tree.h
cache.h Make fetch a builtin 2007-09-19 03:22:30 -07:00
check-builtins.sh
check-racy.c
color.c
color.h
combine-diff.c
commit.c Export format_commit_message() 2007-09-03 16:46:02 -07:00
commit.h Export format_commit_message() 2007-09-03 16:46:02 -07:00
config.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
config.mak.in
configure.ac
connect.c URL: allow port specification in ssh:// URLs 2007-09-01 03:35:29 -07:00
convert-objects.c
convert.c Remove unused function convert_sha1_file() 2007-09-03 16:46:23 -07:00
copy.c
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
diff-delta.c diff-delta.c: Rationalize culling of hash buckets 2007-09-09 17:16:49 -07:00
diff-lib.c diff --no-index: do not forget to run diff_setup_done() 2007-09-14 12:12:32 -07:00
diff.c Fix the rename detection limit checking 2007-09-14 12:12:57 -07:00
diff.h diff: squelch empty diffs even more 2007-08-14 22:34:58 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Fix the rename detection limit checking 2007-09-14 12:12:57 -07:00
diffcore.h
dir.c get_relative_cwd(): clarify why it handles dir == NULL 2007-08-01 11:34:13 -07:00
dir.h
dump-cache-tree.c
entry.c attr.c: read .gitattributes from index as well. 2007-08-14 23:19:10 -07:00
environment.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c Avoid using va_copy in fast-import: it seems to be unportable. 2007-08-20 21:57:50 -07:00
fetch-pack.h Remove pack.keep after ref updates in git-fetch 2007-09-19 03:22:30 -07:00
fixup-builtins
generate-cmdlist.sh
git-add--interactive.perl Hack git-add--interactive to make it work with ActiveState Perl 2007-08-01 17:58:12 -07:00
git-am.sh Make usage documentation for git-am consistent. 2007-08-25 22:35:35 -07:00
git-archimport.perl Make git-archimport log entries more consistent 2007-08-30 19:22:02 -07:00
git-bisect.sh
git-checkout.sh
git-clean.sh
git-clone.sh git-clone: improve error message if curl program is missing or not executable 2007-09-13 22:39:22 -07:00
git-commit.sh git-commit.sh: Shell script cleanup 2007-09-18 14:58:24 -07:00
git-compat-util.h add memmem() 2007-09-06 22:46:00 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl (cvs|svn)import: Ask git-tag to overwrite old tags. 2007-09-07 21:02:39 -07:00
git-cvsserver.perl cvsserver: Fix for work trees 2007-08-08 22:16:46 -07:00
git-filter-branch.sh filter-branch: introduce convenience function "skip_commit" 2007-08-31 23:22:51 -07:00
git-instaweb.sh git-sh-setup.sh: make GIT_DIR absolute 2007-08-13 21:19:48 -07:00
git-lost-found.sh
git-ls-remote.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-ours.sh
git-merge-resolve.sh Fixing comment in merge strategies 2007-08-30 17:18:22 -07:00
git-merge-stupid.sh Fixing comment in merge strategies 2007-08-30 17:18:22 -07:00
git-merge.sh git-merge: do up-to-date check also for all strategies 2007-08-27 23:48:28 -07:00
git-mergetool.sh
git-parse-remote.sh
git-pull.sh
git-quiltimport.sh
git-rebase--interactive.sh Avoid one-or-more (\+) non BRE in sed scripts. 2007-09-01 02:35:30 -07:00
git-rebase.sh git-rebase: fix -C option 2007-09-07 21:02:11 -07:00
git-relink.perl
git-remote.perl Teach "git remote" a mirror mode 2007-09-03 03:08:12 -07:00
git-repack.sh
git-request-pull.sh
git-send-email.perl Merge branch 'maint' 2007-09-18 00:41:43 -07:00
git-sh-setup.sh git-sh-setup: typofix in comments 2007-09-15 16:33:22 -07:00
git-stash.sh stash: end index commit log with a newline 2007-09-12 12:05:56 -07:00
git-submodule.sh git-submodule: re-enable 'status' as the default subcommand 2007-08-17 02:44:09 -07:00
git-svn.perl Merge branch 'lh/svn-first-parent' 2007-09-14 22:37:43 -07:00
git-svnimport.perl git-svnimport: Use separate arguments in the pipe for git-rev-parse 2007-09-18 14:00:20 -07:00
git.c Make fetch a builtin 2007-09-19 03:22:30 -07:00
git.spec.in GIT 1.5.3.1: obsolete git-p4 in RPM spec file. 2007-09-03 01:28:37 -07:00
gitk gitk: Fix bug causing undefined variable error when cherry-picking 2007-08-29 22:41:34 +10:00
grep.c
grep.h
hash-object.c
help.c
http-push.c Modularize commit-walker 2007-09-19 03:22:30 -07:00
http-walker.c Modularize commit-walker 2007-09-19 03:22:30 -07:00
http.c Make function to refill http queue a callback 2007-09-19 03:22:30 -07:00
http.h Make function to refill http queue a callback 2007-09-19 03:22:30 -07:00
ident.c Improved hint on how to set identity 2007-08-13 23:34:38 -07:00
imap-send.c
index-pack.c Use xmkstemp() instead of mkstemp() 2007-08-14 22:20:26 -07:00
interpolate.c
interpolate.h
list-objects.c
list-objects.h
lockfile.c
log-tree.c Add --log-size to git log to print message size 2007-08-14 01:59:33 -07:00
log-tree.h
mailmap.c
mailmap.h
match-trees.c
merge-file.c
merge-index.c
merge-recursive.c Move make_cache_entry() from merge-recursive.c into read-cache.c 2007-09-12 13:25:07 -07:00
merge-tree.c
mktag.c
mktree.c
object-refs.c
object.c
object.h
pack-check.c
pack-redundant.c
pack-write.c Refactor index-pack "keep $sha1" handling for reuse 2007-09-19 03:22:30 -07:00
pack.h Refactor index-pack "keep $sha1" handling for reuse 2007-09-19 03:22:30 -07:00
pager.c pager: find out pager setting from configuration 2007-08-06 21:10:59 -07:00
patch-delta.c
patch-id.c
patch-ids.c
patch-ids.h
path-list.c path-list.c: always free strdup'ed paths 2007-08-15 13:43:08 -07:00
path-list.h path-list.c: always free strdup'ed paths 2007-08-15 13:43:08 -07:00
path.c
peek-remote.c
pkt-line.c
pkt-line.h
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Merge branch 'jc/cachetree' into cr/reset 2007-09-14 01:19:30 -07:00
receive-pack.c Refactor index-pack "keep $sha1" handling for reuse 2007-09-19 03:22:30 -07:00
reflog-walk.c
reflog-walk.h
refs.c Function for updating refs. 2007-09-05 11:29:33 -07:00
refs.h Function for updating refs. 2007-09-05 11:29:33 -07:00
remote.c Add matching and parsing for fetch-side refspec rules 2007-09-19 03:22:30 -07:00
remote.h Add matching and parsing for fetch-side refspec rules 2007-09-19 03:22:30 -07:00
revision.c revision walker: --cherry-pick is a limited operation 2007-09-15 16:34:11 -07:00
revision.h Add --log-size to git log to print message size 2007-08-14 01:59:33 -07:00
run-command.c
run-command.h
send-pack.c Function for updating refs. 2007-09-05 11:29:33 -07:00
server-info.c
setup.c Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset 2007-08-10 01:12:07 -07:00
sha1_file.c Don't segfault if we failed to inflate a packed delta 2007-08-25 08:33:47 -07:00
sha1_name.c
shallow.c
shell.c
show-index.c
sideband.c
sideband.h
strbuf.c
strbuf.h
symlinks.c
tag.c
tag.h
tar.h
test-absolute-path.c
test-chmtime.c
test-date.c
test-delta.c
test-genrandom.c
test-match-trees.c
test-sha1.c
test-sha1.sh
trace.c
transport.c Backup the array passed to fetch_pack so we can free items 2007-09-19 03:22:31 -07:00
transport.h Remove pack.keep after ref updates in git-fetch 2007-09-19 03:22:30 -07:00
tree-diff.c
tree-walk.c
tree-walk.h
tree.c Optimize "diff --cached" performance. 2007-08-10 11:44:23 -07:00
tree.h
unpack-file.c Use xmkstemp() instead of mkstemp() 2007-08-14 22:20:26 -07:00
unpack-trees.c Optimize the three-way merge of git-read-tree 2007-08-10 23:02:14 -07:00
unpack-trees.h Move old index entry removal from "unpack_trees()" into the individual functions 2007-08-10 13:59:19 -07:00
update-server-info.c
upload-pack.c
usage.c
utf8.c
utf8.h
var.c
walker.c Modularize commit-walker 2007-09-19 03:22:30 -07:00
walker.h Modularize commit-walker 2007-09-19 03:22:30 -07:00
write_or_die.c
wt-status.c Fix the rename detection limit checking 2007-09-14 12:12:57 -07:00
wt-status.h
xdiff-interface.c
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/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.

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.