Go to file
Junio C Hamano 2eeeef24ff diff --stat: show bars of same length for paths with same amount of changes
When commit 3ed74e6 (diff --stat: ensure at least one '-' for deletions,
and one '+' for additions, 2006-09-28) improved the output for files with
tiny modifications, we accidentally broke the logic to ensure that two
equal sized changes are shown with the bars of the same length, even when
rounding errors exist.

Compute the length of the graph bars, using the same "non-zero changes is
shown with at least one column" scaling logic, but by scaling the sum of
additions and deletions to come up with the total length of the bar (this
ensures that two equal sized changes result in bars of the same length),
and then scaling the smaller of the additions or deletions. The other side
is computed as the difference between the two.

This makes the apportioning between additions and deletions less accurate
due to rounding errors, but it is much less noticeable than two files with
the same amount of change showing bars of different length.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-02-14 14:21:49 -08:00
Documentation Sync with 1.7.6.6 2012-02-05 23:52:53 -08:00
block-sha1
builtin Merge branch 'maint-1.7.7' into maint 2012-01-12 23:31:46 -08:00
compat Merge branch 'ef/setenv-putenv' into maint 2011-12-28 11:42:24 -08:00
contrib Merge branch 'sn/complete-bash-wo-process-subst' 2011-11-09 05:46:39 -08:00
git-gui Merge git://repo.or.cz/git-gui 2011-10-16 03:01:44 -07:00
git_remote_helpers
gitk-git
gitweb gitweb: Fix fallback mode of to_utf8 subroutine 2011-12-19 12:25:43 -08:00
mergetools mergetools: use the correct tool for Beyond Compare 3 on Windows 2011-10-15 20:13:55 -07:00
perl Merge branch 'maint-1.7.7' into maint 2012-01-03 13:47:46 -08:00
po
ppc
t Merge branch 'maint-1.7.7' into maint 2012-01-18 15:48:46 -08:00
templates Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
vcs-svn
xdiff Merge branch 'rs/diff-cleanup-records-fix' into maint 2011-10-21 10:49:25 -07:00
.gitattributes
.gitignore
.mailmap
COPYING
GIT-VERSION-GEN Git 1.7.6.6 2012-02-05 23:50:52 -08:00
INSTALL docs: Update install-doc-quick 2011-11-08 13:37:10 -08:00
LGPL-2.1
Makefile Merge branch 'na/strtoimax' into maint 2011-12-28 11:32:33 -08:00
README
RelNotes Prepare for 1.7.8.4 2012-01-10 14:27:14 -08:00
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Merge branch 'jk/maint-upload-archive' into maint 2011-12-21 11:42:44 -08:00
archive.h archive: don't let remote clients get unreachable commits 2011-11-21 14:42:25 -08:00
argv-array.c
argv-array.h
attr.c Merge branch 'maint-1.7.6' into maint-1.7.7 2012-01-11 19:11:00 -08:00
attr.h
base85.c
bisect.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
bisect.h
blob.c
blob.h
branch.c Merge branch 'jn/maint-sequencer-fixes' into maint 2011-12-28 11:32:39 -08:00
branch.h Allow checkout -B <current-branch> to update the current branch 2011-11-28 11:40:46 -08:00
builtin.h
bundle.c fix hang in git fetch if pointed at a 0 length bundle 2012-01-03 12:13:28 -08:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c
cache-tree.h
cache.h connect.c: drop path_match function 2011-12-13 10:18:12 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c
command-list.txt Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages 2011-10-16 11:09:35 -07:00
commit.c Merge branch 'nd/maint-autofix-tag-in-head' into maint 2011-10-21 10:49:26 -07:00
commit.h Merge branch 'nd/maint-autofix-tag-in-head' into maint 2011-10-21 10:49:26 -07:00
config.c Merge branch 'na/strtoimax' into maint 2011-12-28 11:32:33 -08:00
config.mak.in
configure.ac
connect.c Merge branch 'jk/fetch-no-tail-match-refs' into maint 2011-12-28 11:32:36 -08:00
connected.c
connected.h
convert.c Merge branch 'jc/maint-lf-to-crlf-keep-crlf' into maint 2011-12-28 11:42:27 -08:00
convert.h
copy.c
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'jk/daemon-msgs' 2011-10-21 16:04:32 -07:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c diff-index: enable recursive pathspec matching in unpack_trees 2012-01-18 15:44:02 -08:00
diff-no-index.c
diff.c diff --stat: show bars of same length for paths with same amount of changes 2012-02-14 14:21:49 -08:00
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir.c read_directory_recursive: reduce one indentation level 2011-10-27 11:27:57 -07:00
dir.h
editor.c
entry.c
environment.c Merge branch 'bc/attr-ignore-case' 2011-10-17 21:37:14 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c fast-import: Fix incorrect fanout level when modifying existing notes refs 2011-11-28 16:38:46 -08: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 'maint-1.7.7' into maint 2011-12-09 13:33:39 -08:00
git-archimport.perl
git-bisect.sh Merge branch 'js/bisect-no-checkout' into maint 2011-11-01 16:03:35 -07:00
git-compat-util.h Merge branch 'na/strtoimax' into maint 2011-12-28 11:32:33 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh Merge branch 'jk/filter-branch-require-clean-work-tree' into maint 2011-10-15 20:46:38 -07:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh Merge branch 'js/maint-merge-one-file-osx-expr' into maint 2011-10-21 10:49:25 -07:00
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh Merge branch 'jm/mergetool-pathspec' into maint-1.7.6 2011-10-26 16:12:25 -07:00
git-parse-remote.sh
git-pull.sh Merge branch 'jk/pull-rebase-with-work-tree' into maint 2011-11-01 16:11:00 -07:00
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'aw/rebase-i-stop-on-failure-to-amend' into maint 2011-12-28 11:32:34 -08:00
git-rebase--merge.sh
git-rebase.sh Merge branch 'jk/pull-rebase-with-work-tree' into maint 2011-11-01 16:11:00 -07:00
git-relink.perl
git-remote-testgit.py
git-repack.sh
git-request-pull.sh
git-send-email.perl send-email: multiedit is a boolean config option 2012-01-09 15:15:28 -08:00
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh
git-submodule.sh Merge branch 'tc/submodule-clone-name-detection' 2011-10-26 16:16:32 -07:00
git-svn.perl svn: Quote repository root in regex match 2011-11-01 20:05:33 +00:00
git-web--browse.sh
git.c
git.spec.in gitweb: Add gitweb manpages to 'gitweb' package in git.spec 2011-10-16 11:09:35 -07:00
graph.c
graph.h
grep.c
grep.h
hash.c
hash.h
help.c
help.h
hex.c
http-backend.c
http-fetch.c http-push: enable "proactive auth" 2011-12-13 16:34:44 -08:00
http-push.c http-push: enable "proactive auth" 2011-12-13 16:34:44 -08:00
http-walker.c
http.c Merge branch 'jk/maint-push-over-dav' into maint 2011-12-28 11:32:37 -08:00
http.h Merge branch 'jk/maint-push-over-dav' into maint 2011-12-28 11:32:37 -08:00
ident.c
imap-send.c Sync with 1.7.6.6 2012-02-05 23:52:53 -08:00
kwset.c
kwset.h
levenshtein.c
levenshtein.h
list-objects.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c Merge branch 'js/log-show-children' 2011-10-18 21:59:12 -07:00
log-tree.h
mailmap.c Merge branch 'ml/mailmap' into maint-1.7.6 2011-12-13 21:12:14 -08:00
mailmap.h
match-trees.c
merge-file.c
merge-file.h
merge-recursive.c Merge branch 'cn/eradicate-working-copy' into maint 2011-10-26 16:13:31 -07:00
merge-recursive.h
name-hash.c name-hash.c: always initialize dir_next pointer 2011-11-01 15:29:18 -07:00
notes-cache.c
notes-cache.h
notes-merge.c Sync with 1.7.7.4 2011-11-18 11:30:02 -08:00
notes-merge.h
notes.c
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
parse-options-cb.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Merge branch 'nd/pretty-commit-log-message' 2011-11-01 15:20:03 -07:00
progress.c
progress.h
quote.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
quote.h
reachable.c
reachable.h
read-cache.c refresh_index: make porcelain output more specific 2011-11-18 11:55:58 -08:00
reflog-walk.c
reflog-walk.h
refs.c refs: loosen over-strict "format" check 2011-11-16 21:52:24 -08:00
refs.h Merge branch 'jc/broken-ref-dwim-fix' 2011-10-21 16:04:36 -07:00
remote-curl.c Merge branch 'jk/http-push-to-empty' into maint 2011-12-28 11:42:37 -08:00
remote.c Merge branch 'cn/fetch-prune' 2011-10-26 16:16:29 -07:00
remote.h Merge branch 'cn/fetch-prune' 2011-10-26 16:16:29 -07:00
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'nd/maint-autofix-tag-in-head' into maint 2011-10-21 10:49:26 -07:00
revision.h Merge branch 'bk/ancestry-path' into maint 2011-10-15 20:46:38 -07:00
run-command.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
run-command.h
send-pack.h
sequencer.c revert: stop creating and removing sequencer-old directory 2011-12-12 13:33:53 -08:00
sequencer.h revert: stop creating and removing sequencer-old directory 2011-12-12 13:33:53 -08:00
server-info.c
setup.c
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'nd/misc-cleanups' into maint 2011-12-13 22:02:51 -08:00
sha1_name.c Merge branch 'jc/broken-ref-dwim-fix' 2011-10-21 16:04:36 -07:00
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline() 2011-10-18 13:28:17 -07:00
strbuf.h
streaming.c
streaming.h
string-list.c
string-list.h
submodule.c Merge branch 'jl/submodule-status-failure-report' into maint 2011-12-21 11:42:45 -08:00
submodule.h
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 'nd/maint-parse-depth' into maint 2012-01-04 09:43:26 -08:00
transport.h
tree-diff.c use custom rename score during --follow 2011-12-16 12:33:49 -08:00
tree-walk.c tree_entry_interesting: make use of local pointer "item" 2011-10-27 11:38:24 -07:00
tree-walk.h tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.h
unimplemented.sh
unpack-trees.c tree-walk.c: do not leak internal structure in tree_entry_len() 2011-10-27 11:08:26 -07:00
unpack-trees.h Merge branch 'jc/diff-index-unpack' into maint 2011-10-15 20:46:36 -07:00
upload-pack.c
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
url.h
usage.c
userdiff.c Merge branch 'tr/userdiff-c-returns-pointer' into maint 2011-12-21 11:42:45 -08:00
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 'maint-1.7.5' into maint-1.7.6 2011-10-26 16:08:19 -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.