1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-15 13:43:45 +01:00
Find a file
Shawn O. Pearce a5c1780a03 Don't repack existing objects in fast-import
Some users of fast-import have been trying to use it to rewrite
commits and trees, an activity where the all of the relevant blobs
are already available from the existing packfiles.  In such a case
we don't want to repack a blob, even if the frontend application
has supplied us the raw data rather than a mark or a SHA-1 name.

I'm intentionally only checking the packfiles that existed when
fast-import started and am always ignoring all loose object files.

We ignore loose objects because fast-import tends to operate on a
very large number of objects in a very short timespan, and it is
usually creating new objects, not reusing existing ones.  In such
a situtation the majority of the objects will not be found in the
existing packfiles, nor will they be loose object files.  If the
frontend application really wants us to look at loose object files,
then they can just repack the repository before running fast-import.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-04-20 11:23:45 -04:00
arm
compat
contrib git.el: Add a commit description to the reflog. 2007-04-19 23:27:51 -07:00
Documentation Merge branch 'maint' 2007-04-19 23:06:21 -07:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2007-04-17 17:16:56 -07:00
gitweb gitweb: Allow configuring the default projects order and add order 'none' 2007-04-10 17:24:35 -07:00
mozilla-sha1
perl Do not output "GEN " when generating perl.mak 2007-03-14 01:33:49 -07:00
ppc
t Remove case-sensitive file in t3030-merge-recursive. 2007-04-19 23:28:15 -07:00
templates Have sample update hook not refuse deleting a branch through push. 2007-04-16 01:35:39 -07:00
xdiff xdiff/xutils.c(xdl_hash_record): factor out whitespace handling 2007-03-19 22:17:25 -07:00
.gitignore A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
.mailmap
alloc.c
archive-tar.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
archive-zip.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
archive.h
base85.c (encode_85, decode_85): Mark source buffer pointer as "const". 2007-04-11 00:51:20 -07:00
blob.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
blob.h
builtin-add.c Merge branch 'jc/index-output' 2007-04-07 02:26:24 -07:00
builtin-annotate.c
builtin-apply.c Merge branch 'maint' 2007-04-18 16:17:28 -07:00
builtin-archive.c git-archive: make tar the default format 2007-04-09 18:51:40 -07:00
builtin-blame.c Update git-annotate/git-blame documentation 2007-04-16 01:14:46 -07:00
builtin-branch.c Make builtin-branch.c handle the git config file 2007-04-06 16:54:39 -07:00
builtin-bundle.c Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS 2007-03-31 01:11:11 -07:00
builtin-cat-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-check-ref-format.c
builtin-checkout-index.c _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file. 2007-04-03 23:44:32 -07:00
builtin-commit-tree.c Cleanup check_valid in commit-tree. 2007-02-27 21:40:18 -08:00
builtin-config.c Update git-config documentation 2007-04-18 22:08:16 -07:00
builtin-count-objects.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
builtin-describe.c
builtin-diff-files.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-diff-index.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-diff-tree.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-diff.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-fetch--tool.c builtin-fetch--tool: fix reflog notes. 2007-02-28 17:02:18 -08:00
builtin-fmt-merge-msg.c Merge branch 'maint' 2007-02-27 22:15:42 -08:00
builtin-for-each-ref.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-fsck.c Merge branch 'maint' 2007-04-11 18:43:01 -07:00
builtin-gc.c Make gc a builtin. 2007-03-17 00:34:19 -07:00
builtin-grep.c sscanf/strtoul: parse integers robustly 2007-04-14 19:47:20 -07:00
builtin-init-db.c
builtin-log.c Add support for "commit name decorations" to log family of commands 2007-04-16 16:51:11 -07:00
builtin-ls-files.c Optimize directory listing with pathspec limiter. 2007-03-31 17:41:32 -07:00
builtin-ls-tree.c
builtin-mailinfo.c git-mailinfo fixes for patch munging 2007-03-31 00:59:19 -07:00
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c
builtin-mv.c Merge branch 'jc/index-output' 2007-04-07 02:26:24 -07:00
builtin-name-rev.c
builtin-pack-objects.c clean up and optimize nth_packed_object_sha1() usage 2007-04-05 14:59:47 -07:00
builtin-pack-refs.c
builtin-prune-packed.c
builtin-prune.c minor git-prune optimization 2007-03-20 22:17:47 -07:00
builtin-push.c git-push to multiple locations does not stop at the first failure 2007-04-07 02:27:31 -07:00
builtin-read-tree.c Merge branch 'jc/read-tree-df' (early part) 2007-04-07 23:52:40 -07:00
builtin-reflog.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
builtin-rerere.c rerere: make sorting really stable. 2007-04-04 14:12:03 -07:00
builtin-rev-list.c Merge branch 'maint' 2007-04-05 16:34:51 -07:00
builtin-rev-parse.c
builtin-revert.c git-revert: Revert revert message to old behaviour 2007-03-24 02:50:22 -07:00
builtin-rm.c Add --ignore-unmatch option to exit with zero status when no files are removed. 2007-04-17 00:19:11 -07:00
builtin-runstatus.c
builtin-shortlog.c shortlog -w: make wrap-line behaviour optional. 2007-04-10 12:48:35 -07:00
builtin-show-branch.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-show-ref.c Merge branch 'maint' 2007-02-24 01:42:06 -08:00
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tar-tree.c
builtin-unpack-objects.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-update-index.c Merge branch 'maint' 2007-04-18 19:33:38 -07:00
builtin-update-ref.c
builtin-upload-archive.c
builtin-verify-pack.c
builtin-write-tree.c _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file. 2007-04-03 23:44:32 -07:00
builtin.h Make gc a builtin. 2007-03-17 00:34:19 -07:00
cache-tree.c
cache-tree.h
cache.h Merge branch 'maint' 2007-04-17 22:17:29 -07:00
check-builtins.sh
check-racy.c
color.c
color.h
combine-diff.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
commit.c Add %m to '--pretty=format:' 2007-04-11 20:02:03 -07:00
commit.h Add support for "commit name decorations" to log family of commands 2007-04-16 16:51:11 -07:00
config.c Fix renaming branch without config file 2007-04-05 14:53:22 -07:00
config.mak.in Add --with-tcltk and --without-tcltk to configure. 2007-03-31 23:59:47 -07:00
configure.ac Eliminate checks of user-specified Tcl/Tk interpreter. 2007-03-31 23:59:47 -07:00
connect.c Fix "getaddrinfo()" buglet 2007-03-27 13:00:13 -07:00
convert-objects.c fix up strtoul_ui error handling 2007-04-18 19:26:33 -07:00
convert.c
copy.c
COPYING
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c show_date(): rename the "relative" parameter to "mode" 2007-02-27 17:29:37 -08:00
decorate.c Add a generic "object decorator" interface, and make object refs use it 2007-04-16 16:51:09 -07:00
decorate.h Add a generic "object decorator" interface, and make object refs use it 2007-04-16 16:51:09 -07:00
delta.h
diff-delta.c
diff-lib.c Do not default to --no-index when given two directories. 2007-04-13 19:34:35 -07:00
diff.c Show binary file size change in diff --stat 2007-04-05 15:07:16 -07:00
diff.h diff --quiet 2007-03-14 16:21:19 -07:00
diffcore-break.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-delta.c
diffcore-order.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-pickaxe.c
diffcore-rename.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore.h
dir.c Optimize directory listing with pathspec limiter. 2007-03-31 17:41:32 -07:00
dir.h Optimize directory listing with pathspec limiter. 2007-03-31 17:41:32 -07:00
dump-cache-tree.c
entry.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
environment.c Limit the size of the new delta_base_cache 2007-03-18 22:43:37 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c Don't repack existing objects in fast-import 2007-04-20 11:23:45 -04:00
fetch-pack.c Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
fetch.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
fetch.h
generate-cmdlist.sh
git-add--interactive.perl
git-am.sh Use diff* with --exit-code in git-am, git-rebase and git-merge-ours 2007-03-24 23:01:36 -07:00
git-applymbox.sh applymbox: brown paper bag fix. 2007-03-16 21:22:05 -07:00
git-applypatch.sh
git-archimport.perl git-archimport: allow remapping branch names 2007-03-07 10:30:22 -08:00
git-bisect.sh Bisect: simplify "bisect start" logging. 2007-04-16 21:44:40 -07:00
git-checkout.sh checkout: allow detaching to HEAD even when switching to the tip of a branch 2007-04-03 23:43:59 -07:00
git-clean.sh
git-clone.sh http-fetch: don't use double-slash as directory separator in URLs 2007-03-28 04:44:16 -07:00
git-commit.sh Display the subject of the commit just made. 2007-04-16 01:06:00 -07:00
git-compat-util.h sscanf/strtoul: parse integers robustly 2007-04-14 19:47:20 -07:00
git-cvsexportcommit.perl cvsexportcommit -p : fix the usage of git-apply -C. 2007-04-09 18:52:41 -07:00
git-cvsimport.perl cvsimport: Improve usage error reporting 2007-04-06 16:46:11 -07:00
git-cvsserver.perl Merge branch 'fl/cvsserver' 2007-04-17 22:17:46 -07:00
git-fetch.sh Merge branch 'js/fetch-progress' 2007-04-08 23:27:22 -07:00
git-instaweb.sh
git-lost-found.sh Fix lost-found to show commits only referenced by reflogs 2007-04-05 15:00:03 -07:00
git-ls-remote.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-ours.sh Use diff* with --exit-code in git-am, git-rebase and git-merge-ours 2007-03-24 23:01:36 -07:00
git-merge-resolve.sh
git-merge-stupid.sh
git-merge.sh A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
git-mergetool.sh mergetool: Clean up description of files and prompts for merge resolutions 2007-03-29 22:46:16 -04:00
git-p4import.py
git-parse-remote.sh git-fetch, git-branch: Support local --track via a special remote '.' 2007-03-16 02:10:12 -07:00
git-pull.sh
git-quiltimport.sh git-quiltimport complaining yet still working 2007-04-14 03:39:36 -07:00
git-rebase.sh Use rev-list --reverse in git-rebase.sh 2007-04-13 19:06:40 -07:00
git-relink.perl
git-remote.perl Teach git-remote to list pushed branches. 2007-03-20 01:54:49 -07:00
git-repack.sh
git-request-pull.sh
git-reset.sh
git-send-email.perl send-email: do not leave an empty CC: line if no cc is present. 2007-04-16 16:51:47 -07:00
git-sh-setup.sh
git-svn.perl git-svn: don't allow globs to match regular files 2007-04-18 12:39:04 -07:00
git-svnimport.perl
git-tag.sh
git-verify-tag.sh
GIT-VERSION-GEN GIT 1.5.1.1 2007-04-11 17:19:36 -07:00
git.c handle_options in git wrapper miscounts the options it handled. 2007-04-12 17:46:51 -07:00
git.spec.in RPM spec: include git-p4 in the list of all packages. 2007-04-04 16:01:49 -07:00
gitk [PATCH] Improve look-and-feel of the gitk tool. 2007-04-01 12:47:06 +10:00
grep.c
grep.h
hash-object.c index_fd(): pass optional path parameter as hint for blob conversion 2007-02-28 12:00:00 -08:00
help.c use xrealloc in help.c 2007-03-27 16:57:57 -07:00
http-fetch.c Fix lseek(2) calls with args 2 and 3 swapped 2007-04-05 15:39:12 -07:00
http-push.c Fix lseek(2) calls with args 2 and 3 swapped 2007-04-05 15:39:12 -07:00
http.c
http.h
ident.c ident.c: Use size_t (instead of int) to store sizes 2007-04-15 15:59:09 -07:00
imap-send.c
index-pack.c Plug memory leak in index-pack collision checking codepath. 2007-04-03 19:04:56 -07:00
INSTALL
interpolate.c General const correctness fixes 2007-03-07 10:47:10 -08:00
interpolate.h General const correctness fixes 2007-03-07 10:47:10 -08:00
list-objects.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
list-objects.h
local-fetch.c [PATCH] local-fetch.c: some error printing cleanup 2007-03-16 21:27:35 -07:00
lockfile.c git-read-tree --index-output=<file> 2007-04-03 23:44:32 -07:00
log-tree.c Add support for "commit name decorations" to log family of commands 2007-04-16 16:51:11 -07:00
log-tree.h
Makefile git-gui: Honor TCLTK_PATH if supplied 2007-04-17 13:16:14 -04:00
match-trees.c A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
merge-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
merge-index.c Fix merge-index 2007-03-19 02:48:37 -07:00
merge-recursive.c Fix working directory errno handling when unlinking a directory 2007-04-19 22:48:21 -07:00
merge-tree.c Remove "pathlen" from "struct name_entry" 2007-03-21 10:21:56 -07:00
mktag.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
mktree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
object-refs.c Add a generic "object decorator" interface, and make object refs use it 2007-04-16 16:51:09 -07:00
object.c Don't ever return corrupt objects from "parse_object()" 2007-03-20 22:17:17 -07:00
object.h Add a generic "object decorator" interface, and make object refs use it 2007-04-16 16:51:09 -07:00
pack-check.c clean up and optimize nth_packed_object_sha1() usage 2007-04-05 14:59:47 -07:00
pack-redundant.c [PATCH] clean up pack index handling a bit 2007-03-16 21:27:36 -07:00
pack.h [PATCH] clean up pack index handling a bit 2007-03-16 21:27:36 -07:00
pager.c
patch-delta.c
patch-id.c
patch-ids.c Refactor patch-id filtering out of git-cherry and git-format-patch. 2007-04-11 20:02:03 -07:00
patch-ids.h Refactor patch-id filtering out of git-cherry and git-format-patch. 2007-04-11 20:02:03 -07:00
path-list.c
path-list.h
path.c General const correctness fixes 2007-03-07 10:47:10 -08:00
peek-remote.c
pkt-line.c
pkt-line.h
quote.c
quote.h
reachable.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
reachable.h
read-cache.c Merge branch 'jc/read-tree-df' (early part) 2007-04-07 23:52:40 -07:00
README Update README to point at a few key periodical messages to the list 2007-03-25 17:42:32 -07:00
receive-pack.c Use run_command within receive-pack to invoke index-pack 2007-03-12 23:40:18 -07:00
reflog-walk.c
reflog-walk.h
refs.c Use const qualifier for 'sha1' parameter in delete_ref function 2007-04-17 22:00:18 -07:00
refs.h
RelNotes Start preparing for 1.5.1.2 2007-04-17 17:47:59 -07:00
revision.c Merge branch 'jc/cherry' 2007-04-12 21:04:27 -07:00
revision.h git-log --cherry-pick A...B 2007-04-11 20:02:03 -07:00
rsh.c
rsh.h
run-command.c Teach run-command to redirect stdout to /dev/null 2007-03-12 23:40:17 -07:00
run-command.h Teach run-command to redirect stdout to /dev/null 2007-03-12 23:40:17 -07:00
send-pack.c Use run_command within send-pack 2007-03-12 23:40:18 -07:00
server-info.c
setup.c Merge branch 'maint' 2007-03-10 22:07:26 -08:00
sha1_file.c clean up and optimize nth_packed_object_sha1() usage 2007-04-05 14:59:47 -07:00
sha1_name.c clean up and optimize nth_packed_object_sha1() usage 2007-04-05 14:59:47 -07:00
shallow.c
shell.c
show-index.c
sideband.c
sideband.h
ssh-fetch.c
ssh-pull.c
ssh-push.c
ssh-upload.c
strbuf.c
strbuf.h
tag.c get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
tag.h
tar.h
test-chmtime.c Add test-chmtime: a utility to change mtime on files 2007-02-25 11:09:56 -08:00
test-date.c
test-delta.c
test-match-trees.c A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
test-sha1.c
test-sha1.sh
trace.c git-branch, git-checkout: autosetup for remote branch tracking 2007-03-10 23:41:58 -08:00
tree-diff.c tree_entry_interesting(): allow it to say "everything is interesting" 2007-03-22 00:36:00 -07:00
tree-walk.c Switch over tree descriptors to contain a pre-parsed entry 2007-03-21 11:15:26 -07:00
tree-walk.h Switch over tree descriptors to contain a pre-parsed entry 2007-03-21 11:15:26 -07:00
tree.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
tree.h
unpack-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
unpack-trees.c Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge() 2007-04-10 12:55:51 -07:00
unpack-trees.h unpack-trees: get rid of *indpos parameter. 2007-04-04 00:19:28 -07:00
update-server-info.c
upload-pack.c git-upload-pack: make sure we close unused pipe ends 2007-03-29 01:41:23 -07:00
usage.c Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS 2007-03-31 01:11:11 -07:00
utf8.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
utf8.h Actually make print_wrapped_text() useful 2007-02-27 17:29:02 -08:00
var.c
write_or_die.c
wt-status.c Optimize directory listing with pathspec limiter. 2007-03-31 17:41:32 -07:00
wt-status.h
xdiff-interface.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
xdiff-interface.h

////////////////////////////////////////////////////////////////

	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.