Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Jakub Narebski 14afe77486 gitweb: Sanitize title attribute in format_subject_html
Replace control characters with question mark '?' (like in
chop_and_esc_str).

A little background: some web browsers turn on strict (and
unforgiving) XML validating mode for XHTML documents served using
application/xhtml+xml content type.  This means among others that
control characters are forbidden to appear in gitweb output.

CGI.pm does by default slight escaping (using simple_escape subroutine
from CGI::Util) of all _attribute_ values (depending on the value of
autoEscape, by default on).  This escaping, at least in CGI.pm version
3.10 (most current version at CPAN is 3.43), is minimal: only '"',
'&', '<' and '>' are escaped using named HTML entity references
(&quot;, &amp;, &lt; and &gt; respectively).  But simple_escape does
not do escaping of control characters such as ^X which are invalid in
XHTML (in strict mode).

If by some accident commit message do contain some control character
in first 50 characters (more or less) of first line of commit message,
and this line is longer than 50 characters (so gitweb shortens it for
display), then gitweb would put this control character in title
attribute (and CGI.pm would not remove them).  The tag _contents_ is
safe because it is escaped using esc_html() explicitly, and it
replaces control characters by their printable representation.

While at it: chop_and_escape_str doesn't need capturing group.

Noticed-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-05-22 09:26:54 -07:00
arm
compat Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
contrib Merge branch 'maint' 2009-05-20 18:59:09 -07:00
Documentation doc/git-rebase.txt: remove mention of multiple strategies 2009-05-21 07:33:23 -07:00
git-gui Merge git://repo.or.cz/git-gui 2009-05-01 22:11:57 -07:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2009-04-30 19:56:28 -07:00
gitweb gitweb: Sanitize title attribute in format_subject_html 2009-05-22 09:26:54 -07:00
mozilla-sha1
perl add --html-path to get the location of installed HTML docs 2009-04-04 23:57:59 -07:00
ppc
t git-svn: add --authors-prog option 2009-05-21 00:56:18 -07:00
templates Extend sample pre-commit hook to check for non ascii filenames 2009-05-20 00:04:37 -07:00
xdiff Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
.gitattributes
.gitignore Merge branch 'da/difftool' 2009-04-17 21:42:12 -07:00
.mailmap
abspath.c
alias.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
alloc.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
archive-tar.c archive-tar.c: squelch a type mismatch warning 2009-05-08 23:57:29 -07:00
archive-zip.c
archive.c archive: do not read .gitattributes in working directory 2009-04-17 21:05:49 -07:00
archive.h archive: do not read .gitattributes in working directory 2009-04-17 21:05:49 -07:00
attr.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
attr.h attr: add GIT_ATTR_INDEX "direction" 2009-04-17 21:05:49 -07:00
base85.c
bisect.c rev-list: add "int bisect_show_flags" in "struct rev_list_info" 2009-04-07 22:12:44 -07:00
bisect.h rev-list: add "int bisect_show_flags" in "struct rev_list_info" 2009-04-07 22:12:44 -07:00
blob.c
blob.h
branch.c strbuf_check_branch_ref(): a helper to check a refname for a branch 2009-03-22 23:52:11 -07:00
branch.h Make git-clone respect branch.autosetuprebase 2009-03-03 22:58:52 -08:00
builtin-add.c Merge branch 'jk/maint-add-empty' 2009-05-18 09:01:01 -07:00
builtin-annotate.c
builtin-apply.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
builtin-archive.c recv_sideband: Bands #2 and #3 always go to stderr 2009-03-10 23:23:02 -07:00
builtin-bisect--helper.c bisect--helper: implement "git bisect--helper" 2009-04-05 01:29:44 -07:00
builtin-blame.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
builtin-branch.c allow -t abbreviation for --track in git branch 2009-05-09 08:32:14 -07:00
builtin-bundle.c
builtin-cat-file.c
builtin-check-attr.c
builtin-check-ref-format.c strbuf_check_branch_ref(): a helper to check a refname for a branch 2009-03-22 23:52:11 -07:00
builtin-checkout-index.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
builtin-checkout.c builtin-checkout: Don't tell user that HEAD has moved before it has 2009-05-16 12:51:58 -07:00
builtin-clean.c Turn the flags in struct dir_struct into a single variable 2009-02-18 11:04:19 -08:00
builtin-clone.c Merge branch 'ar/unlink-err' 2009-05-18 09:01:06 -07:00
builtin-commit-tree.c
builtin-commit.c Merge branch 'maint-1.6.1' into maint 2009-04-05 01:04:54 -07:00
builtin-config.c git config: error when editing a repo config and not being in one 2009-04-29 16:50:21 -07:00
builtin-count-objects.c Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
builtin-describe.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c Remove unused assignments 2009-03-14 13:36:34 -07:00
builtin-diff.c
builtin-fast-export.c builtin-fast-export.c: handle nested tags 2009-04-19 12:29:26 -07:00
builtin-fetch--tool.c
builtin-fetch-pack.c Merge branch 'ar/unlink-err' 2009-05-18 09:01:06 -07:00
builtin-fetch.c Merge branch 'ae/anon-fetch-info' 2009-05-18 08:59:27 -07:00
builtin-fmt-merge-msg.c Move local variables to narrower scopes 2009-03-07 20:52:23 -08:00
builtin-for-each-ref.c for-each-ref: fix segfault in copy_email 2009-05-20 00:06:19 -07:00
builtin-fsck.c Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
builtin-gc.c gc --aggressive: make it really aggressive 2009-03-18 19:11:34 -07:00
builtin-grep.c grep: don't support "grep.color"-like config options 2009-04-20 22:55:56 -07:00
builtin-help.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
builtin-http-fetch.c
builtin-init-db.c Merge branch 'maint' 2009-04-18 14:45:59 -07:00
builtin-log.c Merge branch 'sb/format-patch-patchname' 2009-04-06 00:42:23 -07:00
builtin-ls-files.c Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
builtin-ls-remote.c
builtin-ls-tree.c Produce a nicer output in case of sha1_object_info failures in ls-tree -l 2009-03-20 09:35:21 -07:00
builtin-mailinfo.c Remove unused assignments 2009-03-14 13:36:34 -07:00
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c
builtin-merge-ours.c
builtin-merge-recursive.c
builtin-merge.c Merge branch 'maint' 2009-04-28 00:46:39 -07:00
builtin-mv.c
builtin-name-rev.c
builtin-pack-objects.c Merge branch 'lt/pack-object-memuse' into maint 2009-05-03 15:02:40 -07:00
builtin-pack-refs.c
builtin-prune-packed.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
builtin-prune.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
builtin-push.c Merge branch 'fg/push-default' 2009-03-26 00:26:25 -07:00
builtin-read-tree.c Merge branch 'jc/maint-read-tree-multi' 2009-04-22 19:36:19 -07:00
builtin-receive-pack.c Merge branch 'np/push-delta' 2009-05-18 09:01:16 -07:00
builtin-reflog.c Fix more typos/spelling in comments 2009-04-22 19:03:39 -07:00
builtin-remote.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
builtin-rerere.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
builtin-reset.c Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
builtin-rev-list.c Merge branch 'lt/pack-object-memuse' into maint 2009-05-03 15:02:40 -07:00
builtin-rev-parse.c rev-parse: --abbrev-ref option to shorten ref name 2009-04-13 09:42:55 -07:00
builtin-revert.c Merge branch 'maint-1.6.1' into maint 2009-03-07 21:00:27 -08:00
builtin-rm.c builtin-rm: use warning() instead of fprintf(stderr, "warning: ") 2009-03-23 21:02:27 -07:00
builtin-send-pack.c allow OFS_DELTA objects during a push 2009-05-01 22:06:41 -07:00
builtin-shortlog.c Remove unused assignments 2009-03-14 13:36:34 -07:00
builtin-show-branch.c Merge branch 'mh/show-branch-color' 2009-05-18 08:59:48 -07:00
builtin-show-ref.c builtin-show-ref: use warning() instead of fprintf(stderr, "warning: ") 2009-03-23 21:02:27 -07:00
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tag.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
builtin-tar-tree.c archive: do not read .gitattributes in working directory 2009-04-17 21:05:49 -07:00
builtin-unpack-objects.c
builtin-update-index.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
builtin-update-ref.c
builtin-upload-archive.c improve missing repository error message 2009-03-04 20:37:21 -08:00
builtin-verify-pack.c
builtin-verify-tag.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
builtin-write-tree.c
builtin.h bisect--helper: implement "git bisect--helper" 2009-04-05 01:29:44 -07:00
bundle.c Terminate argv with NULL before calling setup_revisions() 2009-05-21 08:56:24 -07:00
bundle.h
cache-tree.c Move prime_cache_tree() to cache-tree.c 2009-04-20 04:16:41 -07:00
cache-tree.h Move prime_cache_tree() to cache-tree.c 2009-04-20 04:16:41 -07:00
cache.h Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
check_bindir
check-builtins.sh
check-racy.c
color.c
color.h graph API: Added logic for colored edges 2009-04-13 22:41:25 -07:00
combine-diff.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
command-list.txt difftool: move 'git-difftool' out of contrib 2009-04-07 22:19:56 -07:00
commit.c
commit.h
config.c improve error message in config.c 2009-05-05 22:49:43 -07:00
config.mak.in
configure.ac configure: rework pthread handling to allow for user defined flags 2009-03-12 23:23:39 -07:00
connect.c connect: replace inet_ntop with getnameinfo 2009-04-25 09:29:38 -07:00
convert.c
copy.c
COPYING
csum-file.c
csum-file.h
ctype.c ctype.c: fix typo in comment 2009-05-01 16:07:29 -07:00
daemon.c daemon.c: fix segfault on OS X 2009-04-29 16:50:21 -07:00
date.c Work around BSD whose typeof(tv.tv_sec) != time_t 2009-05-05 22:19:14 -07:00
decorate.c Unify signedness in hashing calls 2009-05-20 00:02:24 -07:00
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'kb/checkout-optim' 2009-03-17 18:54:31 -07:00
diff-no-index.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
diff.c Merge branch 'ar/unlink-err' 2009-05-18 09:01:06 -07:00
diff.h Use DIFF_XDL_SET/DIFF_OPT_SET instead of raw bit-masking 2009-03-04 00:56:51 -08:00
diffcore-break.c Remove unused function scope local variables 2009-03-07 20:52:17 -08:00
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c pickaxe: count regex matches only once 2009-03-21 23:18:53 -07:00
diffcore-rename.c Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
diffcore.h
dir.c dir.c: clean up handling of 'path' parameter in read_directory_recursive() 2009-05-16 22:41:46 -07:00
dir.h Turn the flags in struct dir_struct into a single variable 2009-02-18 11:04:19 -08:00
editor.c
entry.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
environment.c Rename core.unreliableHardlinks to core.createObject 2009-04-29 16:50:07 -07:00
exec_cmd.c Merge branch 'js/maint-1.6.0-exec-path-env' into maint-1.6.1 2009-04-08 23:01:10 -07:00
exec_cmd.h
fast-import.c Merge branch 'ar/unlink-err' 2009-05-18 09:01:06 -07:00
fetch-pack.h
fixup-builtins
fsck.c Remove unused function scope local variables 2009-03-07 20:52:17 -08:00
fsck.h Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
generate-cmdlist.sh
git-add--interactive.perl Merge branch 'mm/maint-add-p-quit' 2009-04-20 03:39:38 -07:00
git-am.sh Work around ash "alternate value" expansion bug 2009-04-18 21:37:46 -07:00
git-archimport.perl
git-bisect.sh Merge branch 'cc/bisect-filter' 2009-04-12 16:46:40 -07:00
git-compat-util.h Introduce an unlink(2) wrapper which gives warning if unlink failed 2009-04-29 18:37:41 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh mergetool--lib: simplify API usage by removing more global variables 2009-04-12 15:19:12 -07:00
git-difftool.perl Explain seemingly pointless use of system in difftool 2009-04-24 01:20:35 -07:00
git-filter-branch.sh Convert to use quiet option when available 2009-04-22 19:05:37 -07:00
git-instaweb.sh git-instaweb: fix lighttpd configuration on cygwin 2009-03-10 23:16:52 -07:00
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh Clarify kind of conflict in merge-one-file helper 2009-05-09 00:27:39 -07:00
git-merge-resolve.sh Convert to use quiet option when available 2009-04-22 19:05:37 -07:00
git-mergetool--lib.sh mergetool--lib: simplify API usage by removing more global variables 2009-04-12 15:19:12 -07:00
git-mergetool.sh mergetool--lib: simplify API usage by removing more global variables 2009-04-12 15:19:12 -07:00
git-parse-remote.sh Convert to use quiet option when available 2009-04-22 19:05:37 -07:00
git-pull.sh Convert to use quiet option when available 2009-04-22 19:05:37 -07:00
git-quiltimport.sh git-quiltimport: preserve standard input to be able to read user input 2009-02-25 00:49:13 -08:00
git-rebase--interactive.sh rebase -i: avoid 'git reset' when possible 2009-03-03 10:56:22 -08:00
git-rebase.sh rebase: fix typo (force_rebas -> force-rebas) 2009-03-27 14:26:34 -07:00
git-relink.perl
git-repack.sh Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1 2009-05-03 15:01:31 -07:00
git-request-pull.sh
git-send-email.perl git-send-email: Handle quotes when parsing .mailrc files 2009-05-21 07:08:58 -07:00
git-sh-setup.sh
git-stash.sh Revert "git-stash: use git rev-parse -q" 2008-12-07 17:30:35 -08:00
git-submodule.sh Work around ash "alternate value" expansion bug 2009-04-18 21:37:46 -07:00
git-svn.perl git-svn: add --authors-prog option 2009-05-21 00:56:18 -07:00
GIT-VERSION-GEN GIT 1.6.3.1 2009-05-12 22:30:29 -07:00
git-web--browse.sh
git.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
git.spec.in
graph.c Merge branch 'ac/graph-horizontal-line' 2009-05-18 08:59:30 -07:00
graph.h
grep.c grep: fix word-regexp colouring 2009-05-20 18:49:20 -07:00
grep.h grep: add support for coloring with external greps 2009-03-07 11:34:59 -08:00
hash-object.c Merge branch 'en/maint-hash-object' into maint 2009-03-11 13:51:59 -07:00
hash.c
hash.h
help.c
help.h
http-push.c Terminate argv with NULL before calling setup_revisions() 2009-05-21 08:56:24 -07:00
http-walker.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
http.c Allow curl to rewind the read buffers 2009-04-02 13:04:07 -07:00
http.h Allow curl to rewind the read buffers 2009-04-02 13:04:07 -07:00
ident.c
imap-send.c Remove unused assignments 2009-03-14 13:36:34 -07:00
index-pack.c Merge branch 'jc/shared-literally' 2009-04-06 00:42:52 -07:00
INSTALL
levenshtein.c Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
levenshtein.h
list-objects.c Merge branch 'lt/pack-object-memuse' 2009-04-18 14:46:17 -07:00
list-objects.h Merge branch 'lt/pack-object-memuse' 2009-04-18 14:46:17 -07:00
ll-merge.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
ll-merge.h
lockfile.c Merge branch 'ar/unlink-err' 2009-05-18 09:01:06 -07:00
log-tree.c log-tree: fix patch filename computation in "git format-patch" 2009-03-27 01:10:27 -07:00
log-tree.h format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
mailmap.c Merge branch 'maint' 2009-04-01 22:46:31 -07:00
mailmap.h
Makefile Turn on USE_ST_TIMESPEC for OpenBSD 2009-05-16 10:23:26 -07:00
match-trees.c
merge-file.c
merge-index.c
merge-recursive.c merge-recursive: do not die on a conflicting submodule 2009-04-29 16:50:21 -07:00
merge-recursive.h
merge-tree.c
mktag.c
mktree.c
name-hash.c
object.c Unify signedness in hashing calls 2009-05-20 00:02:24 -07:00
object.h
pack-check.c
pack-redundant.c
pack-refs.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
pack.h
pager.c
parse-options.c parseopt: prevent KEEP_UNKNOWN and STOP_AT_NON_OPTION from being used together 2009-03-09 15:32:50 -07:00
parse-options.h Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
patch-delta.c
patch-id.c
patch-ids.c patch-ids: use the new generic "sha1_pos" function to lookup sha1 2009-04-04 22:57:42 -07:00
patch-ids.h
path.c set_shared_perm(): sometimes we know what the final mode bits should look like 2009-03-28 08:02:15 -07:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c format_sanitized_subject: Don't trim past initial length of strbuf 2009-04-01 11:05:31 -07:00
progress.c progress bar: round to the nearest instead of truncating down 2009-04-25 08:54:18 -07:00
progress.h
quote.c quote: add "sq_dequote_to_argv" to put unwrapped args in an argv array 2009-03-30 01:22:53 -07:00
quote.h quote: add "sq_dequote_to_argv" to put unwrapped args in an argv array 2009-03-30 01:22:53 -07:00
reachable.c process_{tree,blob}: Remove useless xstrdup calls 2009-04-08 22:58:43 -07:00
reachable.h
read-cache.c checkout bugfix: use stat.mtime instead of stat.ctime in two places 2009-03-15 12:56:40 -07:00
README README: fix path to "gitcvs-migration.txt" and be more consistent 2009-02-25 00:49:54 -08:00
reflog-walk.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
reflog-walk.h make oneline reflog dates more consistent with multiline format 2009-03-20 00:57:27 -07:00
refs.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
refs.h shorten_unambiguous_ref(): add strict mode 2009-04-13 09:36:44 -07:00
RelNotes Start 1.6.4 development 2009-05-08 21:57:02 -07:00
remote.c remote.c: do not trigger remote.<name>.<var> codepath for two-level names 2009-04-24 01:29:28 -07:00
remote.h remote: New function remote_is_configured() 2009-04-07 21:51:59 -07:00
rerere.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
rerere.h
revision.c Merge branch 'lt/pack-object-memuse' into maint 2009-05-03 15:02:40 -07:00
revision.h Merge branch 'lt/pack-object-memuse' into maint 2009-05-03 15:02:40 -07:00
run-command.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
run-command.h fix portability problem with IS_RUN_COMMAND_ERR 2009-04-01 11:05:54 -07:00
send-pack.h allow OFS_DELTA objects during a push 2009-05-01 22:06:41 -07:00
server-info.c Merge branch 'ar/unlink-err' 2009-05-18 09:01:06 -07:00
setup.c "core.sharedrepository = 0mode" should set, not loosen 2009-03-27 21:51:04 -07:00
sha1_file.c Merge branch 'maint' 2009-05-20 18:59:09 -07:00
sha1_name.c Rename interpret/substitute nth_last_branch functions 2009-03-22 23:36:47 -07:00
sha1-lookup.c sha1-lookup: fix up the assertion message 2009-04-06 00:56:27 -07:00
sha1-lookup.h sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1 2009-04-04 22:57:39 -07:00
shallow.c
shell.c git-shell: Add 'git-upload-archive' to allowed commands. 2009-04-11 11:01:15 -07:00
shortlog.h
show-index.c
sideband.c recv_sideband: Bands #2 and #3 always go to stderr 2009-03-10 23:23:02 -07:00
sideband.h recv_sideband: Bands #2 and #3 always go to stderr 2009-03-10 23:23:02 -07:00
sigchain.c
sigchain.h
strbuf.c strbuf_check_branch_ref(): a helper to check a refname for a branch 2009-03-22 23:52:11 -07:00
strbuf.h Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
string-list.c string-list: new for_each_string_list() function 2009-02-27 15:19:08 -08:00
string-list.h string-list: new for_each_string_list() function 2009-02-27 15:19:08 -08:00
symlinks.c Revert "lstat_cache(): print a warning if doing ping-pong between cache types" 2009-03-17 12:10:58 -07:00
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-genrandom: Add newline to usage string 2009-04-23 01:29:00 -07:00
test-match-trees.c
test-parse-options.c
test-path-utils.c Introduce the function strip_path_suffix() 2009-02-19 22:45:48 -08:00
test-sha1.c
test-sha1.sh
test-sigchain.c
thread-utils.c
thread-utils.h
trace.c trace: Fixed a minor typo in an error message. 2009-02-25 00:49:53 -08:00
transport.c Merge branch 'ar/unlink-err' 2009-05-18 09:01:06 -07:00
transport.h fetch: Strip usernames from url's before storing them 2009-04-21 00:05:21 -07:00
tree-diff.c Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
tree-walk.c
tree-walk.h
tree.c Fix off-by-one in read_tree_recursive 2009-04-20 13:44:14 -07:00
tree.h
unimplemented.sh Makefile: allow building without perl 2009-04-08 22:14:56 -07:00
unpack-file.c
unpack-trees.c replace direct calls to unlink(2) with unlink_or_warn 2009-04-29 18:37:41 -07:00
unpack-trees.h
update-server-info.c
upload-pack.c Merge branch 'lt/pack-object-memuse' into maint 2009-05-03 15:02:40 -07:00
usage.c Increase the size of the die/warning buffer to avoid truncation 2009-03-24 16:58:20 -07:00
userdiff.c
userdiff.h
utf8.c
utf8.h
var.c
walker.c
walker.h
wrapper.c Introduce an unlink(2) wrapper which gives warning if unlink failed 2009-04-29 18:37:41 -07:00
write_or_die.c
ws.c
wt-status.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
wt-status.h
xdiff-interface.c Remove unused function scope local variables 2009-03-07 20:52:17 -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/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.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.