Go to file
Nicolas Pitre 81f6654a47 Show total transferred as part of throughput progress
Right now it is infeasible to offer to the user a reasonable concept
of when a clone will be complete as we aren't able to come up with
the final pack size until after we have actually transferred the
entire thing to the client.  However in many cases users can work
with a rough rule-of-thumb; for example it is somewhat well known
that git.git is about 16 MiB today and that linux-2.6.git is over
120 MiB.

We now show the total amount of data we have transferred over
the network as part of the throughput meter, organizing it in
"human friendly" terms like `ls -h` would do.  Users can glance at
this, see that the total transferred size is about 3 MiB, see the
throughput of X KiB/sec, and determine a reasonable figure of about
when the clone will be complete, assuming they know the rough size
of the source repository or are able to obtain it.

This is also a helpful indicator that there is progress being made
even if we stall on a very large object.  The thoughput meter may
remain relatively constant and the percentage complete and object
count won't be changing, but the total transferred will be increasing
as additional data is received for this object.

[from an initial proposal from Shawn O. Pearce]

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-01 15:22:32 -07:00
Documentation Merge branch 'maint' 2007-10-16 23:32:03 -04:00
arm
compat add memmem() 2007-09-06 22:46:00 -07:00
contrib Minor usage update in setgitperms.perl 2007-10-15 22:11:54 -04: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: speed up project listing on large work trees by limiting find depth 2007-10-17 01:23:33 -04: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 git-svn: add git svn proplist 2007-10-17 02:47:37 -04:00
templates hooks--update: Explicitly check for all zeros for a deleted ref. 2007-09-13 22:33:11 -07:00
xdiff Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07:00
.gitignore makefile: Add a cscope target 2007-10-15 21:09:15 -04:00
.mailmap Update .mailmap 2007-07-14 13:44:58 -07:00
COPYING
GIT-VERSION-GEN GIT 1.5.3.4 2007-10-03 02:33:48 -07:00
INSTALL Mention 'cpio' dependency in INSTALL 2007-10-02 17:35:29 -07:00
Makefile gitweb: speed up project listing on large work trees by limiting find depth 2007-10-17 01:23:33 -04:00
README
RelNotes Whip post 1.5.3.4 maintenance series into shape. 2007-10-15 22:29:50 -04:00
alloc.c
archive-tar.c Fix the expansion pattern of the pseudo-static path buffer. 2007-09-20 22:19:17 -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 Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
attr.h
base85.c
blob.c
blob.h
builtin-add.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
builtin-annotate.c
builtin-apply.c builtin-apply: fix conversion error in strbuf series 2007-10-03 17:42:52 -07:00
builtin-archive.c strbuf change: be sure ->buf is never ever NULL. 2007-09-29 02:13:33 -07:00
builtin-blame.c strbuf_read_file enhancement, and use it. 2007-09-29 21:26:10 -07:00
builtin-branch.c Rework pretty_print_commit to use strbufs instead of custom buffers. 2007-09-10 12:49:50 -07:00
builtin-bundle.c builtin-bundle create - use lock_file 2007-08-13 13:04:18 -07:00
builtin-cat-file.c
builtin-check-attr.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
builtin-check-ref-format.c
builtin-checkout-index.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
builtin-commit-tree.c Now that cache.h needs strbuf.h, remove useless includes. 2007-09-16 17:30:03 -07:00
builtin-config.c git-config: handle --file option with relative pathname properly 2007-10-15 21:07:38 -04:00
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 strbuf change: be sure ->buf is never ever NULL. 2007-09-29 02:13:33 -07:00
builtin-fmt-merge-msg.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
builtin-for-each-ref.c Merge branch 'ph/strbuf' 2007-10-03 03:06:02 -07:00
builtin-fsck.c fsck --lost-found: write blob's contents, not their SHA-1 2007-07-22 15:59:27 -07:00
builtin-gc.c git-gc --auto: simplify "repack" command line building 2007-10-15 20:50:05 -04:00
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-init-db.c git-init: autodetect core.symlinks 2007-08-31 00:25:04 -07:00
builtin-log.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
builtin-ls-files.c Merge branch 'ph/strbuf' 2007-10-03 03:06:02 -07:00
builtin-ls-tree.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
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 Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-merge-file.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-mv.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
builtin-name-rev.c name-rev: Fix non-shortest description 2007-08-27 22:36:43 -07:00
builtin-pack-objects.c add throughput display to git-push 2007-10-30 16:08:40 -07:00
builtin-pack-refs.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-prune-packed.c return the prune-packed progress display to the inner loop 2007-11-01 15:22:32 -07:00
builtin-prune.c
builtin-push.c Add a --dry-run option to git-push. 2007-10-15 22:02:52 -04: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 rerere: Fix use of an empty strbuf.buf 2007-09-26 23:34:01 -07:00
builtin-reset.c Make "git reset" a builtin. 2007-09-12 13:25:07 -07:00
builtin-rev-list.c Merge branch 'mv/unknown' 2007-10-03 04:28:24 -07:00
builtin-rev-parse.c Clean up work-tree handling 2007-08-01 00:38:31 -07:00
builtin-revert.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
builtin-rm.c Simplify cache API 2007-09-14 01:02:21 -07:00
builtin-runstatus.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-shortlog.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
builtin-show-branch.c Rework pretty_print_commit to use strbufs instead of custom buffers. 2007-09-10 12:49:50 -07:00
builtin-show-ref.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-stripspace.c Clean up stripspace a bit, use strbuf even more. 2007-09-27 00:33:33 -07:00
builtin-symbolic-ref.c symbolic-ref, update-ref: do not refuse reflog message with LF 2007-07-29 23:28:55 -07:00
builtin-tag.c strbuf_read_file enhancement, and use it. 2007-09-29 21:26:10 -07:00
builtin-tar-tree.c
builtin-unpack-objects.c relax usage of the progress API 2007-10-30 16:08:40 -07:00
builtin-update-index.c double free in builtin-update-index.c 2007-09-29 01:40:19 -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 Clean up stripspace a bit, use strbuf even more. 2007-09-27 00:33:33 -07:00
cache-tree.c Small cache_tree_write refactor. 2007-09-26 02:27:06 -07:00
cache-tree.h Small cache_tree_write refactor. 2007-09-26 02:27:06 -07:00
cache.h Merge branch 'ph/strbuf' 2007-10-03 03:06:02 -07:00
check-builtins.sh
check-racy.c
color.c
color.h
combine-diff.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
commit.c Merge branch 'maint' 2007-10-15 22:31:47 -04:00
commit.h Rework pretty_print_commit to use strbufs instead of custom buffers. 2007-09-10 12:49:50 -07:00
config.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
config.mak.in
configure.ac the ar tool is called gar on some systems 2007-10-02 21:10:25 -07:00
connect.c sq_quote_argv and add_to_string rework with strbuf's. 2007-09-21 03:31:18 -07:00
convert.c Fix in-place editing functions in convert.c 2007-10-15 21:38:09 -04:00
copy.c
csum-file.c add throughput display to git-push 2007-10-30 16:08:40 -07:00
csum-file.h add throughput display to git-push 2007-10-30 16:08:40 -07:00
ctype.c
daemon.c --base-path-relaxed option 2007-08-01 00:37:23 -07:00
date.c parse_date_format(): convert a format name to an enum date_mode 2007-09-29 20:31:59 -07:00
decorate.c
decorate.h
delta.h Support fetching the memory usage of a delta index 2007-07-12 14:32:35 -07:00
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 Merge branch 'ph/strbuf' 2007-10-03 03:06:02 -07:00
diff.h diff: squelch empty diffs even more 2007-08-14 22:34:58 -07:00
diffcore-break.c
diffcore-delta.c Introduce diff_filespec_is_binary() 2007-07-06 00:21:41 -07:00
diffcore-order.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
diffcore-pickaxe.c
diffcore-rename.c rename diff_free_filespec_data_large() to diff_free_filespec_blob() 2007-10-02 21:02:09 -07:00
diffcore.h rename diff_free_filespec_data_large() to diff_free_filespec_blob() 2007-10-02 21:02:09 -07:00
dir.c get_relative_cwd(): clarify why it handles dir == NULL 2007-08-01 11:34:13 -07:00
dir.h Add functions get_relative_cwd() and is_inside_dir() 2007-08-01 00:38:30 -07:00
dump-cache-tree.c
entry.c strbuf change: be sure ->buf is never ever NULL. 2007-09-29 02:13:33 -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 strbuf change: be sure ->buf is never ever NULL. 2007-09-29 02:13:33 -07:00
fetch-pack.c
fetch.c Drop strbuf's 'eof' marker, and make read_line a first class citizen. 2007-09-18 00:55:10 -07:00
fetch.h
fixup-builtins
generate-cmdlist.sh
git-add--interactive.perl git add -i: Remove unused variables 2007-10-15 21:00:40 -04:00
git-am.sh Merge branch 'jc/autogc' 2007-10-03 03:05:32 -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 post-checkout hook, tests, and docs 2007-09-29 21:11:21 -07:00
git-clean.sh Supplant the "while case ... break ;; esac" idiom 2007-09-23 16:12:00 -07:00
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 Merge branch 'jc/autogc' 2007-10-03 03:05:32 -07:00
git-compat-util.h Add xmemdupz() that duplicates a block of memory, and NUL terminates it. 2007-09-18 03:07:58 -07:00
git-cvsexportcommit.perl git-cvsexportcommit.perl: git-apply no longer needs --binary 2007-10-16 22:48:20 -04:00
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-fetch.sh Supplant the "while case ... break ;; esac" idiom 2007-09-23 16:12:00 -07:00
git-filter-branch.sh filter-branch: update current branch when rewritten 2007-10-16 22:47:51 -04:00
git-instaweb.sh Merge branch 'maint' 2007-10-16 23:32:03 -04:00
git-lost-found.sh
git-ls-remote.sh Supplant the "while case ... break ;; esac" idiom 2007-09-23 16:12:00 -07:00
git-merge-octopus.sh
git-merge-one-file.sh Fix merge-one-file for our-side-added/our-side-removed cases 2007-07-08 18:24:19 -07:00
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 Merge branch 'lh/merge' 2007-10-03 03:05:58 -07:00
git-mergetool.sh mergetool: Fix typo in options passed to kdiff3 2007-09-28 22:26:05 -04:00
git-parse-remote.sh
git-pull.sh Make git-pull complain and give advice when there is nothing to merge with 2007-10-02 17:27:48 -07:00
git-quiltimport.sh quiltimport: Skip non-existent patches 2007-09-27 16:19:19 -07:00
git-rebase--interactive.sh git-rebase--interactive.sh: Quote arguments to test 2007-10-16 00:59:17 -04:00
git-rebase.sh Merge branch 'maint' 2007-09-23 17:13:55 -07:00
git-relink.perl
git-remote.perl git-remote: exit with non-zero status after detecting error in "rm". 2007-09-29 23:34:19 -07:00
git-repack.sh Stop displaying "Pack pack-$ID created." during git-gc 2007-10-19 01:01:40 -04:00
git-request-pull.sh
git-send-email.perl send-email --smtp-server-port: allow overriding the default port 2007-09-26 13:27:45 -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 Fix adding a submodule with a remote url 2007-09-29 23:36:02 -07:00
git-svn.perl git-svn: simplify the handling of fatal errors 2007-10-17 02:47:37 -04:00
git-svnimport.perl Fix pool handling in git-svnimport to avoid memory leaks. 2007-09-24 23:00:52 -07:00
git.c sq_quote_argv and add_to_string rework with strbuf's. 2007-09-21 03:31:18 -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-fetch.c
http-push.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
http.c
http.h
ident.c Improved hint on how to set identity 2007-08-13 23:34:38 -07:00
imap-send.c strbuf change: be sure ->buf is never ever NULL. 2007-09-29 02:13:33 -07:00
index-pack.c add throughput display to index-pack 2007-10-30 16:08:40 -07:00
interpolate.c Merge branch 'mv/unknown' 2007-10-03 04:28:24 -07:00
interpolate.h
list-objects.c
list-objects.h
local-fetch.c
lockfile.c fully resolve symlinks when creating lockfiles 2007-07-27 00:02:05 -07:00
log-tree.c Merge branch 'maint' 2007-10-15 22:31:47 -04:00
log-tree.h
mailmap.c
mailmap.h
match-trees.c
merge-file.c Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
merge-index.c
merge-recursive.c Merge branch 'ph/strbuf' 2007-10-03 03:06:02 -07:00
merge-tree.c Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
mktag.c Now that cache.h needs strbuf.h, remove useless includes. 2007-09-16 17:30:03 -07:00
mktree.c Rework unquote_c_style to work on a strbuf. 2007-09-20 23:32:18 -07:00
object-refs.c
object.c
object.h
pack-check.c
pack-redundant.c
pack-write.c fix const issues with some functions 2007-10-17 02:54:57 -04:00
pack.h fix const issues with some functions 2007-10-17 02:54:57 -04: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 Add is_absolute_path() and make_absolute_path() 2007-08-01 00:38:30 -07:00
peek-remote.c
pkt-line.c
pkt-line.h
progress.c Show total transferred as part of throughput progress 2007-11-01 15:22:32 -07:00
progress.h add throughput to progress display 2007-10-30 16:08:40 -07:00
quote.c strbuf change: be sure ->buf is never ever NULL. 2007-09-29 02:13:33 -07:00
quote.h sq_quote_argv and add_to_string rework with strbuf's. 2007-09-21 03:31:18 -07:00
reachable.c
reachable.h
read-cache.c Move make_cache_entry() from merge-recursive.c into read-cache.c 2007-09-26 13:42:10 -07:00
receive-pack.c
reflog-walk.c git log -g: Complain, but do not fail, when no reflogs are there 2007-07-24 17:28:10 -07:00
reflog-walk.h git log -g: Complain, but do not fail, when no reflogs are there 2007-07-24 17:28:10 -07:00
refs.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
refs.h Function for updating refs. 2007-09-05 11:29:33 -07:00
remote.c Add for_each_remote() function, and extend remote_find_tracking() 2007-07-11 15:28:15 -07:00
remote.h Add for_each_remote() function, and extend remote_find_tracking() 2007-07-11 15:28:15 -07:00
revision.c Merge branch 'maint' 2007-10-15 22:31:47 -04:00
revision.h Add --log-size to git log to print message size 2007-08-14 01:59:33 -07:00
rsh.c sq_quote_argv and add_to_string rework with strbuf's. 2007-09-21 03:31:18 -07:00
rsh.h
run-command.c
run-command.h
send-pack.c Merge branch 'maint' 2007-10-16 23:32:03 -04:00
server-info.c Fix core.sharedRepository = 2 2007-07-11 13:52:16 -07:00
setup.c Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREE 2007-10-16 20:18:04 -04:00
sha1_file.c Merge branch 'ph/strbuf' 2007-10-03 03:06:02 -07:00
sha1_name.c Make show_rfc2822_date() just another date output format. 2007-07-13 23:14:52 -07:00
shallow.c
shell.c Support cvs via git-shell 2007-10-15 21:25:42 -04:00
show-index.c
sideband.c cope with multiple line breaks within sideband progress messages 2007-10-17 02:54:56 -04:00
sideband.h
ssh-fetch.c
ssh-pull.c
ssh-push.c
ssh-upload.c
strbuf.c strbuf_read_file enhancement, and use it. 2007-09-29 21:26:10 -07:00
strbuf.h strbuf_read_file enhancement, and use it. 2007-09-29 21:26:10 -07:00
symlinks.c
tag.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
tag.h
tar.h
test-absolute-path.c Add is_absolute_path() and make_absolute_path() 2007-08-01 00:38:30 -07:00
test-chmtime.c
test-date.c
test-delta.c
test-genrandom.c
test-match-trees.c
test-sha1.c
test-sha1.sh
trace.c sq_quote_argv and add_to_string rework with strbuf's. 2007-09-21 03:31:18 -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 relax usage of the progress API 2007-10-30 16:08:40 -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
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 Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07:00
xdiff-interface.h Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07:00

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.