Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Brandon Casey 8c613fd5ef git-commit: populate the edit buffer with 2 blank lines before s-o-b
'commit -s' populates the edit buffer with a blank line before the
Signed-off-by line, to allow the user to immediately start typing
the log message.  But commit 33f2f9ab removed this space, forcing
the user to first push the Signed-off-by line down to open a place
to type the log message.

Fix this regression and let's ensure that the Signed-off-by line is
preceded by two blank lines, instead of just one, to hint that
something should be filled in, and that a blank line should separate
it from the body and the Signed-off-by line.

Add a test for this behavior.

Reported-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-23 00:03:00 -08:00
block-sha1 Merge branch 'jn/block-sha1' into maint 2012-08-06 15:40:00 -07:00
builtin format-patch: update append_signoff prototype 2013-02-12 11:29:56 -08:00
compat Merge branch 'nd/maint-compat-fnmatch-fix' 2012-11-25 18:44:41 -08:00
contrib Merge branch 'mk/complete-tcsh' 2012-11-25 18:44:28 -08:00
Documentation Update draft release notes to 1.8.1 2012-11-25 18:52:42 -08:00
git_remote_helpers Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
git-gui git-gui 0.17.0 2012-10-17 15:55:46 -07:00
gitk-git Merge branch 'da/gitk-reload-tag-contents' into maint-1.7.11 2012-09-14 20:45:55 -07:00
gitweb Merge branch 'jk/maint-gitweb-xss' 2012-11-20 10:37:27 -08:00
mergetools Merge branch 'da/mergetools-p4' into maint 2012-11-18 19:31:40 -08:00
perl git svn: work around SVN 1.7 mishandling of svn:special changes 2012-10-10 20:02:33 +00:00
po Merge branch 'master' of https://github.com/nafmo/git-l10n-sv 2012-10-17 09:38:30 +08:00
ppc
t git-commit: populate the edit buffer with 2 blank lines before s-o-b 2013-02-23 00:03:00 -08:00
templates Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
vcs-svn remote-svn: add incremental import 2012-10-07 14:10:17 -07:00
xdiff Merge branch 'rs/xdiff-fast-hash-fix' 2012-05-25 12:05:02 -07:00
.gitattributes git-gui: set whitespace warnings appropriate to this project 2011-11-30 11:35:28 +00:00
.gitignore Merge branch 'fa/remote-svn' 2012-10-25 06:42:02 -04:00
.mailmap Update mailmap for a handful of folks 2012-09-03 16:24:23 -07:00
abspath.c real_path(): properly handle nonexistent top-level paths 2012-09-06 16:19:58 -07:00
aclocal.m4
advice.c Merge branch 'jk/maint-advise-vaddf' into maint 2012-07-30 13:05:25 -07:00
advice.h push: Provide situational hints for non-fast-forward errors 2012-03-19 21:42:06 -07:00
alias.c
alloc.c unbreak and eliminate NO_C99_FORMAT 2011-03-17 15:30:49 -07:00
archive-tar.c archive: ustar header checksum is computed unsigned 2012-06-13 10:47:21 -07:00
archive-zip.c archive-zip: write extended timestamp 2012-09-24 10:22:03 -07:00
archive.c Reduce translations by using same terminologies 2012-08-22 12:02:28 -07:00
archive.h archive: delegate blob reading to backend 2012-05-03 10:22:56 -07:00
argv-array.c Merge branch 'fa/remote-svn' 2012-10-25 06:42:02 -04:00
argv-array.h Merge branch 'fa/remote-svn' 2012-10-25 06:42:02 -04:00
attr.c Merge branch 'nd/attr-match-optim-more' 2012-11-09 12:42:25 -05:00
attr.h correct a few doubled-word nits in comments and documentation 2012-03-28 11:18:35 -07:00
base85.c
bisect.c Move estimate_bisect_steps to libgit.a 2012-10-29 03:08:30 -04:00
bisect.h Move print_commit_list to libgit.a 2012-10-29 03:08:30 -04:00
blob.c
blob.h
branch.c Remove i18n legos in notifying new branch tracking setup 2012-06-07 11:46:02 -07:00
branch.h checkout: suppress tracking message with "-q" 2012-03-26 21:32:43 -07:00
builtin.h Move setup_diff_pager to libgit.a 2012-10-29 03:08:30 -04:00
bulk-checkin.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bulk-checkin.h bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bundle.c tweak "bundle verify" of a complete history 2012-06-04 16:24:49 -07:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c Merge branch 'jc/maint-commit-ignore-i-t-a' into maint 2012-02-16 14:08:00 -08:00
cache-tree.h cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
cache.h Move setup_diff_pager to libgit.a 2012-10-29 03:08:30 -04:00
check_bindir
check-builtins.sh
check-racy.c
color.c want_color: automatically fallback to color.ui 2011-08-19 15:51:38 -07:00
color.h want_color: automatically fallback to color.ui 2011-08-19 15:51:38 -07:00
column.c column: support piping stdout to external git-column process 2012-04-27 09:26:38 -07:00
column.h column: support piping stdout to external git-column process 2012-04-27 09:26:38 -07:00
combine-diff.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
command-list.txt command-list: mention git-credential-* helpers 2012-08-08 12:11:54 -07:00
commit.c Move print_commit_list to libgit.a 2012-10-29 03:08:30 -04:00
commit.h Merge branch 'jc/prettier-pretty-note' 2012-11-15 10:25:05 -08:00
config.c Merge branch 'jk/config-ignore-duplicates' 2012-11-21 13:16:44 -08:00
config.mak.in build: don't duplicate substitution of make variables 2012-09-11 10:24:39 -07:00
configure.ac Merge branch 'sl/maint-configure-messages' 2012-11-04 08:00:13 -05:00
connect.c Merge branch 'jc/capabilities' into maint 2012-09-11 11:06:45 -07:00
connected.c fetch/receive: remove over-pessimistic connectivity check 2012-03-15 15:23:17 -07:00
connected.h check_everything_connected(): libify 2011-09-09 15:19:02 -07:00
convert.c Merge branch 'jk/maint-avoid-streaming-filtered-contents' into maint 2012-03-04 22:16:40 -08:00
convert.h teach convert_to_git a "dry run" mode 2012-02-24 14:11:27 -08:00
copy.c
COPYING
credential-cache--daemon.c credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
credential-cache.c credential-cache: ignore "connection refused" errors 2012-01-16 22:15:19 -08:00
credential-store.c credentials: add "store" helper 2011-12-12 16:09:38 -08:00
credential.c credential: convert "url" attribute into its parsed subparts 2012-07-18 13:26:58 -07:00
credential.h git credential fill: output the whole 'struct credential' 2012-06-25 11:56:24 -07:00
csum-file.c csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
csum-file.h csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
ctype.c Merge branch 'jc/pickaxe-ignore-case' 2012-03-07 12:12:59 -08:00
daemon.c daemon: --access-hook option 2012-08-15 11:01:55 -07:00
date.c Merge branch 'jc/maint-filter-branch-epoch-date' into maint 2012-07-30 13:04:18 -07:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c diff: do not use null sha1 as a sentinel value 2012-07-29 15:04:32 -07:00
diff-no-index.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
diff.c Merge branch 'rr/submodule-diff-config' 2012-11-25 18:44:50 -08:00
diff.h Move setup_diff_pager to libgit.a 2012-10-29 03:08:30 -04:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c diff_grep: use textconv buffers for add/deleted files 2012-10-28 07:59:44 -04:00
diffcore-rename.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
diffcore.h Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
dir.c Merge branch 'nd/attr-match-optim-more' 2012-11-09 12:42:25 -05:00
dir.h attr: more matching optimizations from .gitignore 2012-10-15 14:57:17 -07:00
editor.c
entry.c streaming: make streaming-write-entry to be more reusable 2012-03-07 09:07:37 -08:00
environment.c git on Mac OS and precomposed unicode 2012-07-08 22:03:46 -07:00
exec_cmd.c run-command: treat inaccessible directories as ENOENT 2012-04-05 16:24:13 -07:00
exec_cmd.h
fast-import.c Merge branch 'jc/merge-bases' 2012-09-11 11:36:05 -07:00
fetch-pack.c fetch-pack: move core code to libgit.a 2012-10-29 03:40:29 -04:00
fetch-pack.h filter_refs(): delete matched refs from sought list 2012-09-12 11:46:31 -07:00
fixup-builtins
fmt-merge-msg.h fmt-merge-msg: use branch.$name.description 2011-10-07 10:11:47 -07:00
fsck.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
fsck.h
generate-cmdlist.sh i18n: help: mark strings for translation 2012-04-24 14:55:48 -07:00
gettext.c fetch: align per-ref summary report in UTF-8 locales 2012-09-14 12:45:50 -07:00
gettext.h Merge branch 'nd/fetch-status-alignment' 2012-09-18 14:35:55 -07:00
git-add--interactive.perl git-add--interactive.perl: Remove two unused variables 2012-06-25 10:06:09 -07:00
git-am.sh Merge branch 'nd/am-i18n-fix' 2012-09-07 11:09:04 -07: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 'js/format-2047' into maint 2012-11-20 09:57:44 -08:00
git-cvsexportcommit.perl git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS 2012-01-11 18:04:08 -08:00
git-cvsimport.perl cvsimport: work around perl tzset issue 2012-11-04 08:02:41 -05:00
git-cvsserver.perl cvsserver status: provide real sticky info 2012-10-16 16:16:27 -07:00
git-difftool--helper.sh difftool: teach difftool to handle directory diffs 2012-04-23 11:59:34 -07:00
git-difftool.perl difftool: silence warning 2012-08-21 15:27:15 -07:00
git-filter-branch.sh filter-branch: use git-sh-setup's ident parsing functions 2012-10-18 15:43:49 -07:00
git-instaweb.sh git-instaweb: Check that correct config file exists for (re)start 2011-06-27 09:11:41 +00:00
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 Merge branch 'da/mergetool-custom' 2012-10-01 12:58:57 -07:00
git-mergetool.sh mergetool: style fixes 2012-08-23 21:30:51 -07:00
git-p4.py Merge branch 'pw/maint-p4-rcs-expansion-newline' 2012-11-20 10:34:15 -08:00
git-parse-remote.sh push/pull: adjust missing upstream help text to changed interface 2012-11-08 11:32:38 -05:00
git-pull.sh git-pull: Avoid merge-base on detached head 2012-10-25 05:32:11 -04:00
git-quiltimport.sh
git-rebase--am.sh rebase: don't source git-sh-setup twice 2012-06-26 13:17:50 -07:00
git-rebase--interactive.sh Merge branch 'aw/rebase-i-edit-todo' 2012-09-29 22:28:12 -07:00
git-rebase--merge.sh rebase: don't source git-sh-setup twice 2012-06-26 13:17:50 -07:00
git-rebase.sh rebase -i: Teach "--edit-todo" action 2012-09-17 20:59:14 -07:00
git-relink.perl Consistently use perl from /usr/bin/ for scripts 2012-05-01 13:32:17 -07:00
git-remote-testgit.py git-remote-testgit: fix race when spawning fast-import 2012-04-24 14:54:24 -07:00
git-repack.sh gc: do not explode objects which will be immediately pruned 2012-04-11 11:09:49 -07:00
git-request-pull.sh request-pull: really favor a matching tag 2012-06-01 12:38:19 -07:00
git-send-email.perl git-send-email: add rfc2047 quoting for "=?" 2012-10-25 06:06:00 -04:00
git-sh-i18n.sh i18n: fix auto detection of gettext scheme for shell scripts 2012-03-12 14:41:15 -07:00
git-sh-setup.sh git-sh-setup: refactor ident-parsing functions 2012-10-18 15:40:13 -07:00
git-stash.sh Merge branch 'ph/stash-rerere' into maint-1.7.11 2012-09-11 11:10:12 -07:00
git-submodule.sh Merge branch 'wtk/submodule-doc-fixup' 2012-11-21 13:25:42 -08:00
git-svn.perl git-svn: use path accessor for Git::SVN objects 2012-10-05 22:48:12 +00:00
GIT-VERSION-GEN Git 1.8.0.1 2012-11-25 18:40:34 -08:00
git-web--browse.sh git-web--browse: avoid the use of eval 2011-10-03 10:47:07 -07:00
git.c Move setup_diff_pager to libgit.a 2012-10-29 03:08:30 -04:00
git.spec.in spec: add missing build dependency 2012-04-06 10:15:11 -07:00
gpg-interface.c ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT 2012-05-24 17:16:41 -07:00
gpg-interface.h Split GPG interface into its own helper library 2011-11-04 21:40:25 -07:00
graph.c graph.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
graph.h graph.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
grep.c Merge branch 'nd/grep-true-path' into maint 2012-11-18 19:32:30 -08:00
grep.h Merge branch 'nd/grep-true-path' into maint 2012-11-18 19:32:30 -08:00
hash.c for_each_hash: allow passing a 'void *data' pointer to callback 2011-02-18 22:25:51 -08:00
hash.h for_each_hash: allow passing a 'void *data' pointer to callback 2011-02-18 22:25:51 -08:00
help.c help.c::exclude_cmds(): plug a leak 2012-07-25 11:08:59 -07:00
help.h Merge branch 'nd/columns' 2012-05-03 15:13:31 -07:00
hex.c get_sha1_hex(): do not read past a NUL character 2011-10-05 13:45:16 -07:00
http-backend.c http-backend: respect existing GIT_COMMITTER_* variables 2012-03-30 09:13:02 -07:00
http-fetch.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-push.c Merge branch 'jc/merge-bases' 2012-09-11 11:36:05 -07:00
http-walker.c Rename static function fetch_pack() to http_fetch_pack() 2012-09-12 11:46:31 -07:00
http.c Merge branch 'sz/maint-curl-multi-timeout' 2012-11-09 12:50:56 -05:00
http.h http: do not set up curl auth after a 401 2012-10-12 09:45:15 -07:00
ident.c ident.c: mark private file-scope symbols as static 2012-09-15 22:58:21 -07:00
imap-send.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
INSTALL INSTALL: update asciidoc recommendation 2012-05-30 09:07:04 -07:00
kwset.c sparse: Fix an "Using plain integer as NULL pointer" warning 2011-09-11 14:43:14 -07:00
kwset.h Adapt the kwset code to Git 2011-08-20 22:33:57 -07:00
levenshtein.c
levenshtein.h
LGPL-2.1 provide a copy of the LGPLv2.1 2011-05-19 18:23:17 -07:00
list-objects.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
list-objects.h list-objects: pass callback data to show_objects() 2011-09-01 15:46:12 -07:00
ll-merge.c Merge branch 'jc/ll-merge-binary-ours' into maint 2012-10-17 10:26:51 -07:00
ll-merge.h
lockfile.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
log-tree.c Unify appending signoff in format-patch, commit and sequencer 2013-02-12 11:30:21 -08:00
log-tree.h format-patch: refactor get_patch_filename 2012-05-22 09:08:50 -07:00
mailmap.c mailmap: avoid out-of-bounds memory access 2012-10-28 07:50:18 -04:00
mailmap.h
Makefile Merge branch 'ml/cygwin-mingw-headers' 2012-11-20 10:44:29 -08:00
match-trees.c
merge-file.c sparse: Fix an "symbol 'merge_file' not decared" warning 2011-04-11 10:35:25 -07:00
merge-file.h sparse: Fix an "symbol 'merge_file' not decared" warning 2011-04-11 10:35:25 -07:00
merge-recursive.c Merge branch 'rj/path-cleanup' 2012-09-14 11:53:53 -07:00
merge-recursive.h Move try_merge_command and checkout_fast_forward to libgit.a 2012-10-29 03:08:30 -04:00
merge.c Move try_merge_command and checkout_fast_forward to libgit.a 2012-10-29 03:08:30 -04:00
mergesort.c mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
mergesort.h mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
name-hash.c name-hash.c: always initialize dir_next pointer 2011-11-01 15:29:18 -07:00
notes-cache.c Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
notes-cache.h
notes-merge.c Sync with 1.7.11.6 2012-09-11 11:23:54 -07:00
notes-merge.h Convert commit_tree() to take strbuf as message 2011-12-15 10:46:42 -08:00
notes.c Merge branch 'jc/prettier-pretty-note' 2012-11-15 10:25:05 -08:00
notes.h format_note(): simplify API 2012-10-17 22:42:40 -07:00
object.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
object.h Teach revision walking machinery to walk multiple times sequencially 2012-03-30 08:57:49 -07:00
pack-check.c fsck: print progress 2011-11-06 20:31:28 -08:00
pack-refs.c pack_refs(): remove redundant check 2012-01-17 11:41:41 -08:00
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c Appease Sun Studio by renaming "tmpfile" 2011-12-21 10:21:04 -08:00
pack.h Merge branch 'jc/stream-to-pack' 2011-12-16 22:33:40 -08:00
pager.c Move setup_diff_pager to libgit.a 2012-10-29 03:08:30 -04:00
parse-options-cb.c parseopt: add OPT_NOOP_NOARG 2011-09-28 12:46:21 -07:00
parse-options.c git on Mac OS and precomposed unicode 2012-07-08 22:03:46 -07:00
parse-options.h i18n: mark "style" in OPT_COLUMN() for translation 2012-08-20 12:23:14 -07:00
patch-delta.c
patch-ids.c diff_setup_done(): return void 2012-08-03 12:11:07 -07:00
patch-ids.h
path.c path.c: Use vsnpath() in the implementation of git_path() 2012-09-04 13:34:46 -07:00
pkt-line.c remove the impression of unexpectedness when access is denied 2012-06-19 13:37:02 -07:00
pkt-line.h remove the impression of unexpectedness when access is denied 2012-06-19 13:37:02 -07:00
preload-index.c
pretty.c Merge branch 'jc/prettier-pretty-note' 2012-11-15 10:25:05 -08:00
progress.c
progress.h
prompt.c prompt: fall back to terminal if askpass fails 2012-02-03 14:37:04 -08:00
prompt.h prompt: use git_terminal_prompt 2011-12-12 16:09:38 -08:00
quote.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
quote.h quote: provide sq_dequote_to_argv_array 2011-09-14 11:56:49 -07:00
reachable.c reachable: per-object progress 2011-11-07 22:12:19 -08:00
reachable.h prune: show progress while marking reachable objects 2011-11-07 22:12:19 -08:00
read-cache.c read-cache.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
README README: point to Documentation/SubmittingPatches 2012-02-23 11:35:59 -08:00
reflog-walk.c Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint 2012-05-14 11:46:16 -07:00
reflog-walk.h Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint 2012-05-14 11:46:16 -07:00
refs.c Merge branch 'jh/update-ref-d-through-symref' 2012-11-25 18:44:17 -08:00
refs.h refs: store references hierarchically 2012-04-10 15:55:55 -07:00
RelNotes Start preparing for 1.8.0.1 2012-11-18 19:47:19 -08:00
remote-curl.c Merge branch 'jk/maint-http-half-auth-fetch' 2012-11-21 11:59:29 -08:00
remote-testsvn.c remote-svn: add marks-file regeneration 2012-10-07 14:10:17 -07:00
remote.c Merge branch 'jc/maint-fetch-tighten-refname-check' 2012-11-15 10:22:54 -08:00
remote.h add sorting infrastructure for list refs 2012-05-22 13:31:03 -07:00
replace_object.c inline lookup_replace_object() calls 2011-05-15 15:23:33 -07:00
rerere.c rerere.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
rerere.h rerere.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'jc/prettier-pretty-note' 2012-11-15 10:25:05 -08:00
revision.h format-patch: update append_signoff prototype 2013-02-12 11:29:56 -08:00
run-command.c Merge branch 'jk/no-more-pre-exec-callback' 2012-10-25 06:41:15 -04:00
run-command.h pager: drop "wait for output to run less" hack 2012-06-05 09:38:00 -07:00
send-pack.c send-pack: move core code to libgit.a 2012-10-29 03:08:30 -04:00
send-pack.h
sequencer.c git-commit: populate the edit buffer with 2 blank lines before s-o-b 2013-02-23 00:03:00 -08:00
sequencer.h sequencer.c: teach append_signoff how to detect duplicate s-o-b 2013-02-12 11:17:10 -08:00
server-info.c
setup.c Merge branch 'maint-1.7.11' into maint 2012-09-10 15:31:06 -07:00
sh-i18n--envsubst.c Merge branch 'js/i18n-windows' 2011-06-29 17:03:13 -07:00
sha1_file.c link_alt_odb_entries(): take (char *, len) rather than two pointers 2012-11-08 12:06:53 -05:00
sha1_name.c Merge branch 'jc/sha1-name-more' 2012-07-22 12:55:07 -07:00
sha1-array.c sha1-array.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
sha1-array.h sha1-array.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
sha1-lookup.c
sha1-lookup.h
shallow.c
shell.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
shortlog.h
show-index.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c strbuf_split*(): rename "delim" parameter to "terminator" 2012-11-04 06:46:55 -05:00
strbuf.h strbuf_split*(): document functions 2012-11-04 06:46:55 -05:00
streaming.c pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .." 2012-05-18 14:21:19 -07:00
streaming.h streaming: void pointer instead of char pointer 2012-05-03 10:22:56 -07:00
string-list.c string_list: add a function string_list_remove_empty_items() 2012-11-08 11:34:08 -05:00
string-list.h string_list: add a function string_list_remove_empty_items() 2012-11-08 11:34:08 -05:00
submodule.c submodule: display summary header in bold 2012-11-18 19:18:13 -08:00
submodule.h submodule: display summary header in bold 2012-11-18 19:18:13 -08:00
symlinks.c symlinks.c: mark private file-scope symbols as static 2012-09-15 22:58:21 -07:00
tag.c upload-pack: avoid parsing tag destinations 2012-01-06 13:28:57 -08:00
tag.h upload-pack: avoid parsing tag destinations 2012-01-06 13:28:57 -08:00
tar.h tar-tree: Introduce write_entry() 2006-03-25 16:35:43 -08:00
test-chmtime.c
test-ctype.c test-ctype: add test for is_pathspec_magic 2011-10-03 11:44:03 -07:00
test-date.c i18n: mark relative dates for translation 2012-04-24 14:55:48 -07:00
test-delta.c
test-dump-cache-tree.c cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
test-genrandom.c
test-index-version.c
test-line-buffer.c vcs-svn: drop no-op reset methods 2012-07-05 23:26:51 -05:00
test-match-trees.c
test-mergesort.c mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
test-mktemp.c
test-parse-options.c test-parse-options: convert to OPT_BOOL() 2012-02-26 15:18:41 -08:00
test-path-utils.c test-path-utils: Add subcommand "prefix_path" 2011-08-04 15:57:18 -07:00
test-regex.c test-regex: Add a test to check for a bug in the regex routines 2012-09-02 18:57:21 -07:00
test-revision-walking.c Teach revision walking machinery to walk multiple times sequencially 2012-03-30 08:57:49 -07:00
test-run-command.c tests: check error message from run_command 2011-04-20 10:08:54 -07:00
test-scrap-cache-tree.c Add test-scrap-cache-tree 2011-12-06 14:52:18 -08:00
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c test-string-list.c: Fix some sparse warnings 2012-09-15 23:33:58 -07:00
test-subprocess.c test-subprocess: fix segfault without arguments 2012-04-10 12:28:20 -07:00
test-svn-fe.c remote-svn: add incremental import 2012-10-07 14:10:17 -07:00
thread-utils.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
thread-utils.h
trace.c trace.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
transport-helper.c When debug==1, start fast-import with "--stats" instead of "--quiet" 2012-10-07 14:10:17 -07:00
transport.c filter_refs(): delete matched refs from sought list 2012-09-12 11:46:31 -07:00
transport.h send-pack: move core code to libgit.a 2012-10-29 03:08:30 -04:00
tree-diff.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
tree-walk.c Merge branch 'nd/tree-walk-enum-cleanup' 2012-11-09 12:51:03 -05:00
tree-walk.h tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.c Strip namelen out of ce_flags into a ce_namelen field 2012-07-11 09:42:45 -07:00
tree.h Convert read_tree{,_recursive} to support struct pathspec 2011-03-25 09:20:33 -07:00
unimplemented.sh
unix-socket.c unix-socket: do not let close() or chdir() clobber errno during cleanup 2012-01-11 17:37:10 -08:00
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c Merge branch 'tg/ce-namelen-field' 2012-07-23 20:55:21 -07:00
unpack-trees.h unpack-trees.c: use path_excluded() in check_ok_to_remove() 2012-06-05 22:21:42 -07:00
upload-pack.c upload-pack: use peel_ref for ref advertisements 2012-10-04 20:34:29 -07:00
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
url.h url: decode buffers that are not NUL-terminated 2011-07-20 11:38:34 -07:00
usage.c usage.c: detect recursion in die routines and bail out immediately 2012-11-15 18:04:54 -08:00
userdiff.c Add userdiff patterns for Ada 2012-09-16 21:54:47 -07:00
userdiff.h refactor get_textconv to not require diff_filespec 2011-05-23 15:46:02 -07:00
utf8.c Merge branch 'js/format-2047' into maint 2012-11-20 09:57:44 -08:00
utf8.h reencode_string(): introduce and use same_encoding() 2012-11-04 08:10:33 -05:00
varint.c varint: make it available outside the context of pack 2012-04-03 16:24:44 -07:00
varint.h varint: make it available outside the context of pack 2012-04-03 16:24:44 -07:00
version.c include agent identifier in capability string 2012-08-03 13:03:34 -07:00
version.h include agent identifier in capability string 2012-08-03 13:03:34 -07:00
walker.c Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
walker.h
wrap-for-bin.sh i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
wrapper.c warn_on_inaccessible(): a helper to warn on inaccessible paths 2012-08-21 14:52:07 -07:00
write_or_die.c maybe_flush_or_die: move a too-loose Windows specific error 2012-10-17 00:33:42 -07:00
ws.c Rename git_checkattr() to git_check_attr() 2011-08-04 15:53:21 -07:00
wt-status.c wt-status.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
wt-status.h wt-status.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
xdiff-interface.c xdiff: remove emit_func() and xdi_diff_hunks() 2012-05-09 14:08:42 -07:00
xdiff-interface.h xdiff: remove emit_func() and xdi_diff_hunks() 2012-05-09 14:08:42 -07:00
zlib.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00

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

	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 (read
Documentation/SubmittingPatches for instructions on patch submission).
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.