1
0
mirror of https://github.com/git/git.git synced 2024-10-03 10:31:23 +02:00
Git Source Code Mirror. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
Go to file
Junio C Hamano a9fd1383a7 mailinfo: fix MIME multi-part message boundary handling
After finding a MIME multi-part message boundary line, the handle_body()
function is supposed to first flush any accumulated contents from the
previous part to the output stream.  However, the code mistakenly output
the boundary line it found.

The old code that used one global, fixed-length buffer line[] used an
alternate static buffer newline[] for keeping track of this accumulated
contents and flushed newline[] upon seeing the boundary; when 3b6121f
(git-mailinfo: use strbuf's instead of fixed buffers, 2008-07-13)
converted a fixed-length buffer in this program to use strbuf,these two
buffers were converted to "line" and "prev" (the latter of which now has a
much more sensible name) strbufs, but the code mistakenly flushed "line"
(which contains the boundary we have just found), instead of "prev".

This resulted in the first boundary to be output in front of the first
line of the message.

The rewritten implementation of handle_boundary() lost the terminating
newline; this would then result in the second line of the message to be
stuck with the first line.

The is_multipart_boundary() was designed to catch both the internal
boundary and the terminating one (the one with trailing "--"); this also
was broken with the rewrite, and the code in the handle_boundary() to
handle the terminating boundary was never triggered.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-08-09 01:26:35 -07:00
arm
compat Modify mingw_main() workaround to avoid link errors 2008-08-03 14:18:23 -07:00
contrib bash: remove redundant check for 'git stash apply' options 2008-08-08 16:10:39 -07:00
Documentation builtin-rm: Add a --force flag 2008-08-08 18:27:19 -07:00
git-gui Merge git://repo.or.cz/git-gui 2008-08-06 13:32:18 -07:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2008-08-06 13:32:12 -07:00
gitweb gitweb: More about how gitweb gets 'owner' of repository 2008-07-27 14:14:01 -07:00
mozilla-sha1
perl perl/Makefile: handle paths with spaces in the NO_PERL_MAKEMAKER section 2008-08-06 14:00:36 -07:00
ppc
t mailinfo: fix MIME multi-part message boundary handling 2008-08-09 01:26:35 -07:00
templates
xdiff
.gitattributes
.gitignore
.mailmap
abspath.c Allow add_path() to add non-existent directories to the path 2008-07-25 17:41:13 -07:00
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c archive: allow --exec and --remote without equal sign 2008-07-30 00:15:14 -07:00
archive.h archive: declare struct archiver where it's needed 2008-07-25 17:21:04 -07:00
attr.c
attr.h
base85.c
blob.c
blob.h
branch.c
branch.h
builtin-add.c
builtin-annotate.c
builtin-apply.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
builtin-archive.c archive: allow --exec and --remote without equal sign 2008-07-25 17:28:40 -07:00
builtin-blame.c Teach --find-copies-harder to "git blame" 2008-07-31 11:22:12 -07:00
builtin-branch.c builtin-branch: fix -v for --[no-]merged 2008-07-27 14:14:01 -07:00
builtin-bundle.c
builtin-cat-file.c
builtin-check-attr.c
builtin-check-ref-format.c
builtin-checkout-index.c
builtin-checkout.c git-checkout: improve error messages, detect ambiguities. 2008-07-24 23:24:00 -07:00
builtin-clean.c
builtin-clone.c clone --mirror: avoid storing repeated tags 2008-08-07 21:25:27 -07:00
builtin-commit-tree.c
builtin-commit.c Sync with 1.5.6.5 2008-08-06 13:50:48 -07:00
builtin-config.c Make non-static functions, that may be static, static 2008-07-23 18:38:14 -07:00
builtin-count-objects.c
builtin-describe.c
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c Allow pager of diff command be enabled/disabled 2008-07-23 11:14:47 -07:00
builtin-fast-export.c Support copy and rename detection in fast-export. 2008-07-29 23:57:51 -07:00
builtin-fetch--tool.c
builtin-fetch-pack.c
builtin-fetch.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
builtin-fmt-merge-msg.c
builtin-for-each-ref.c Make non-static functions, that may be static, static 2008-07-23 18:38:14 -07:00
builtin-fsck.c Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long 2008-08-05 21:21:20 -07:00
builtin-gc.c
builtin-grep.c
builtin-http-fetch.c
builtin-init-db.c init: handle empty "template" parameter 2008-08-01 22:41:07 -07:00
builtin-log.c
builtin-ls-files.c
builtin-ls-remote.c
builtin-ls-tree.c Add output flushing before fork() 2008-08-04 21:46:42 -07:00
builtin-mailinfo.c mailinfo: fix MIME multi-part message boundary handling 2008-08-09 01:26:35 -07:00
builtin-mailsplit.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
builtin-merge-base.c merge-base: die with an error message if not passed a commit ref 2008-07-28 23:02:12 -07:00
builtin-merge-file.c
builtin-merge-ours.c
builtin-merge-recursive.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
builtin-merge.c Fix merge name generation in "merge in C" 2008-07-30 01:13:26 -07:00
builtin-mv.c git-mv: Keep moved index entries inact 2008-07-27 15:05:19 -07:00
builtin-name-rev.c Merge branch 'maint' 2008-08-03 14:14:10 -07:00
builtin-pack-objects.c
builtin-pack-refs.c
builtin-prune-packed.c
builtin-prune.c Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long 2008-08-05 21:21:20 -07:00
builtin-push.c
builtin-read-tree.c
builtin-reflog.c
builtin-remote.c clone: Add an option to set up a mirror 2008-08-02 15:21:59 -07:00
builtin-rerere.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
builtin-reset.c git-reset: Let -q hush "locally modified" messages 2008-07-25 17:57:22 -07:00
builtin-rev-list.c
builtin-rev-parse.c rev-parse: Add support for the ^! and ^@ syntax 2008-07-27 14:14:01 -07:00
builtin-revert.c Merge branch 'maint' 2008-08-01 23:55:51 -07:00
builtin-rm.c builtin-rm: Add a --force flag 2008-08-08 18:27:19 -07:00
builtin-send-pack.c
builtin-shortlog.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
builtin-show-branch.c
builtin-show-ref.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tag.c Sync with 1.5.6.5 2008-08-06 13:50:48 -07:00
builtin-tar-tree.c
builtin-unpack-objects.c
builtin-update-index.c
builtin-update-ref.c
builtin-upload-archive.c archive: define MAX_ARGS where it's needed 2008-07-25 17:20:55 -07:00
builtin-verify-pack.c
builtin-verify-tag.c builtin-verify-tag: fix -v option parsing 2008-07-28 23:02:11 -07:00
builtin-write-tree.c
builtin.h Allow pager of diff command be enabled/disabled 2008-07-23 11:14:47 -07:00
bundle.c
bundle.h
cache-tree.c
cache-tree.h
cache.h Make use of stat.ctime configurable 2008-07-28 23:26:25 -07:00
check_bindir
check-builtins.sh
check-racy.c
color.c
color.h
combine-diff.c
command-list.txt
commit.c sort_in_topological_order(): avoid setting a commit flag 2008-08-01 23:14:22 -07:00
commit.h
config.c Make use of stat.ctime configurable 2008-07-28 23:26:25 -07:00
config.mak.in
configure.ac
connect.c
convert.c
copy.c
COPYING
csum-file.c
csum-file.h
ctype.c
daemon.c git daemon: avoid waking up too often 2008-07-23 16:57:14 -07:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
diff.c Merge branch 'maint' 2008-08-05 21:21:08 -07:00
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir.c
dir.h
dump-cache-tree.c
editor.c editor.c: Libify launch_editor() 2008-07-25 17:09:38 -07:00
entry.c
environment.c Make use of stat.ctime configurable 2008-07-28 23:26:25 -07:00
exec_cmd.c Refactor, adding prepare_git_cmd(const char **argv) 2008-07-28 23:02:11 -07:00
exec_cmd.h Refactor, adding prepare_git_cmd(const char **argv) 2008-07-28 23:02:11 -07:00
fast-import.c
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
git-add--interactive.perl Make git-add -i accept ranges like 7- 2008-08-01 23:26:40 -07:00
git-am.sh Replace uses of "git-var" with "git var" 2008-07-30 11:42:01 -07:00
git-archimport.perl
git-bisect.sh
git-compat-util.h
git-cvsexportcommit.perl
git-cvsimport.perl Merge branch 'maint' 2008-08-05 21:21:08 -07:00
git-cvsserver.perl
git-filter-branch.sh filter-branch: be more helpful when an annotated tag changes 2008-08-08 16:19:51 -07:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool.sh
git-parse-remote.sh
git-pull.sh Ignore dirty submodule states in "git pull --rebase" 2008-07-23 11:36:56 -07:00
git-quiltimport.sh
git-rebase--interactive.sh rebase -i: When an 'edit' stops, mention the commit 2008-07-23 12:02:57 -07:00
git-rebase.sh
git-relink.perl
git-repack.sh
git-request-pull.sh
git-send-email.perl Merge branch 'maint' 2008-07-25 13:56:36 -07:00
git-sh-setup.sh
git-stash.sh bash completion: More completions for 'git stash' 2008-08-05 21:21:19 -07:00
git-submodule.sh git-submodule: move ill placed shift. 2008-08-01 23:16:38 -07:00
git-svn.perl git-svn: wrap long lines in a few places 2008-08-08 16:30:12 -07:00
GIT-VERSION-GEN GIT-VERSION-GEN: mark the version 'dirty' only if there are modified files 2008-08-08 13:31:27 -07:00
git-web--browse.sh
git.c Record the command invocation path early 2008-07-25 17:41:13 -07:00
git.spec.in
graph.c
graph.h
grep.c
grep.h
hash-object.c
hash.c
hash.h
help.c Avoid chdir() in list_commands_in_dir() 2008-07-27 14:14:38 -07:00
http-push.c
http-walker.c
http.c
http.h
ident.c Replace uses of "git-var" with "git var" 2008-07-30 11:42:01 -07:00
imap-send.c
index-pack.c Merge branch 'maint' 2008-07-25 13:56:36 -07:00
INSTALL Fix typos in INSTALL 2008-08-04 21:52:08 -07:00
interpolate.c
interpolate.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c format-patch: Produce better output with --inline or --attach 2008-07-29 23:18:15 -07:00
log-tree.h
mailmap.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
mailmap.h Rename path_list to string_list 2008-07-21 19:11:50 -07:00
Makefile Makefile: add a target which will abort compilation with ancient shells 2008-08-08 16:15:17 -07:00
match-trees.c
merge-file.c
merge-index.c
merge-recursive.h
merge-tree.c
mktag.c
mktree.c
name-hash.c
object.c
object.h
pack-check.c
pack-redundant.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options.c Sync with 1.5.6.5 2008-08-06 13:50:48 -07:00
parse-options.h Sync with 1.5.6.5 2008-08-06 13:50:48 -07:00
patch-delta.c
patch-id.c
patch-ids.c
patch-ids.h
path.c Allow add_path() to add non-existent directories to the path 2008-07-25 17:41:13 -07:00
pkt-line.c
pkt-line.h
pretty.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Teach gitlinks to ie_modified() and ce_modified_check_fs() 2008-07-30 00:09:22 -07:00
README
receive-pack.c Record the command invocation path early 2008-07-25 17:41:13 -07:00
reflog-walk.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
reflog-walk.h
refs.c
refs.h
RelNotes Start 1.5.6.5 RelNotes to describe accumulated fixes 2008-08-01 23:54:01 -07:00
remote.c make sure parsed wildcard refspec ends with slash 2008-08-01 22:41:15 -07:00
remote.h
rerere.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
rerere.h Rename path_list to string_list 2008-07-21 19:11:50 -07:00
revision.c Allow "non-option" revision options in parse_option-enabled commands 2008-07-31 11:35:17 -07:00
revision.h sort_in_topological_order(): avoid setting a commit flag 2008-08-01 23:14:22 -07:00
run-command.c Add output flushing before fork() 2008-08-04 21:46:42 -07:00
run-command.h
send-pack.h
server-info.c
setup.c
sha1_file.c Optimize sha1_object_info for loose objects, not concurrent repacks 2008-08-05 21:21:20 -07:00
sha1_name.c ignore non-existent refs in dwim_log() 2008-07-23 18:11:04 -07:00
sha1-lookup.c
sha1-lookup.h
shallow.c
shell.c Record the command invocation path early 2008-07-25 17:41:13 -07:00
shortlog.h Rename path_list to string_list 2008-07-21 19:11:50 -07:00
show-index.c
sideband.c
sideband.h
strbuf.c
strbuf.h editor.c: Libify launch_editor() 2008-07-25 17:09:38 -07:00
string-list.c Rename path_list to string_list 2008-07-21 19:11:50 -07:00
string-list.h Rename path_list to string_list 2008-07-21 19:11:50 -07:00
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-date.c
test-delta.c
test-genrandom.c
test-match-trees.c
test-parse-options.c Fix test-parse-options "integer" test 2008-07-30 12:53:45 -07:00
test-path-utils.c
test-sha1.c
test-sha1.sh
thread-utils.c
thread-utils.h
trace.c
transport.c
transport.h
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unpack-file.c
unpack-trees.c
unpack-trees.h
update-server-info.c
upload-pack.c Record the command invocation path early 2008-07-25 17:41:13 -07:00
usage.c
utf8.c
utf8.h
var.c Replace uses of "git-var" with "git var" 2008-07-30 11:42:01 -07:00
walker.c
walker.h
wrapper.c
write_or_die.c
ws.c
wt-status.c
wt-status.h
xdiff-interface.c
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.