diff --git a/.gitignore b/.gitignore
index 6bd508e..dbbef06 100644
--- a/.gitignore
+++ b/.gitignore
@@ -119,3 +119,4 @@
 *.exe
 libgit.a
 *.o
+*.py[co]
diff --git a/Documentation/cvs-migration.txt b/Documentation/cvs-migration.txt
index dc9387b..8fd1a33 100644
--- a/Documentation/cvs-migration.txt
+++ b/Documentation/cvs-migration.txt
@@ -138,7 +138,7 @@
 git has a couple of alternatives, though, that you may find sufficient
 or even superior depending on your use.  One is called "git-whatchanged"
 (for obvious reasons) and the other one is called "pickaxe" ("a tool for
-the software archeologist"). 
+the software archaeologist"). 
 
 The "git-whatchanged" script is a truly trivial script that can give you
 a good overview of what has changed in a file or a directory (or an
diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt
index 97756ec..0398b40 100644
--- a/Documentation/diff-format.txt
+++ b/Documentation/diff-format.txt
@@ -117,7 +117,7 @@
 What -p option produces is slightly different from the
 traditional diff format.
 
-1.   It is preceeded with a "git diff" header, that looks like
+1.   It is preceded with a "git diff" header, that looks like
      this:
 
      diff --git a/file1 b/file2
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 9e574a0..5c85167 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -21,7 +21,7 @@
 --abbrev[=<n>]::
 	Instead of showing the full 40-byte hexadecimal object
 	name in diff-raw format output and diff-tree header
-	lines, show only handful dhexigits prefix.  This is
+	lines, show only handful hexdigits prefix.  This is
 	independent of --full-index option above, which controls
 	the diff-patch output format.  Non default number of
 	digits can be specified with --abbrev=<n>.
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 4cae412..89e4614 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -31,7 +31,7 @@
 ----------
 
 The list of <file> given to the command is fed to `git-ls-files`
-command to list files that are not registerd in the index and
+command to list files that are not registered in the index and
 are not ignored/excluded by `$GIT_DIR/info/exclude` file or
 `.gitignore` file in each directory.  This means two things:
 
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index a415fe2..02cabc9 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -8,6 +8,7 @@
 
 SYNOPSIS
 --------
+[verse]
 'git-am' [--signoff] [--dotest=<dir>] [--utf8] [--binary] [--3way] <mbox>...
 'git-am' [--skip | --resolved]
 
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index 626e281..51c7d47 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -8,7 +8,10 @@
 
 SYNOPSIS
 --------
-'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] [<patch>...]
+[verse]
+'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply]
+	  [--no-add] [--index-info] [--allow-binary-replacement] [-z]
+	  [<patch>...]
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-archimport.txt b/Documentation/git-archimport.txt
index a2bd788..023d3ae 100644
--- a/Documentation/git-archimport.txt
+++ b/Documentation/git-archimport.txt
@@ -8,15 +8,15 @@
 
 SYNOPSIS
 --------
-`git-archimport` [ -h ] [ -v ] [ -o ] [ -a ] [ -f ] [ -T ]
-                 [ -D depth ] [ -t tempdir ] 
-                 <archive/branch> [ <archive/branch> ]
+[verse]
+`git-archimport` [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
+               <archive/branch> [ <archive/branch> ]
 
 DESCRIPTION
 -----------
 Imports a project from one or more Arch repositories. It will follow branches
 and repositories within the namespaces defined by the <archive/branch>
-parameters suppplied. If it cannot find the remote branch a merge comes from
+parameters supplied. If it cannot find the remote branch a merge comes from
 it will just import it as a regular commit. If it can find it, it will mark it 
 as a merge whenever possible (see discussion below). 
 
diff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.txt
index 9a7700f..504eb1b 100644
--- a/Documentation/git-cat-file.txt
+++ b/Documentation/git-cat-file.txt
@@ -8,7 +8,7 @@
 
 SYNOPSIS
 --------
-'git-cat-file' (-t | -s | -e | <type>) <object>
+'git-cat-file' [-t | -s | -e | <type>] <object>
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.txt
index 9f32c65..2a1e526 100644
--- a/Documentation/git-checkout-index.txt
+++ b/Documentation/git-checkout-index.txt
@@ -8,8 +8,9 @@
 
 SYNOPSIS
 --------
+[verse]
 'git-checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
-	[--stage=<number>] [--] <file>...
+		   [--stage=<number>] [--] <file>...
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 8410a6d..ffa4fb0 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -8,7 +8,9 @@
 
 SYNOPSIS
 --------
-'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>] <repository> [<directory>]
+[verse]
+'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>]
+	  <repository> [<directory>]
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt
index a794192..41d1a1c 100644
--- a/Documentation/git-commit-tree.txt
+++ b/Documentation/git-commit-tree.txt
@@ -60,7 +60,8 @@
 
 (nb "<", ">" and "\n"s are stripped)
 
-In `.git/config` file, the following items are used:
+In `.git/config` file, the following items are used for GIT_AUTHOR_NAME and
+GIT_AUTHOR_EMAIL:
 
 	[user]
 		name = "Your Name"
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 8b91f22..e0ff74f 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -7,7 +7,9 @@
 
 SYNOPSIS
 --------
-'git-commit' [-a] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>] [-e] [--] <file>...
+[verse]
+'git-commit' [-a] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>]
+	   [-e] [--] <file>...
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.txt
index 91def2b..13cbf3b 100644
--- a/Documentation/git-cvsexportcommit.txt
+++ b/Documentation/git-cvsexportcommit.txt
@@ -8,8 +8,7 @@
 
 SYNOPSIS
 --------
-git-cvsexportcommmit.perl 
-                        [ -h ] [ -v ] [ -c ] [ -p ] [PARENTCOMMIT] COMMITID 
+'git-cvsexportcommmit' [-h] [-v] [-c] [-p] [PARENTCOMMIT] COMMITID
 
 
 DESCRIPTION
diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
index f89b251..01ca7ef 100644
--- a/Documentation/git-cvsimport.txt
+++ b/Documentation/git-cvsimport.txt
@@ -8,10 +8,10 @@
 
 SYNOPSIS
 --------
-'git-cvsimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
-			[ -d <CVSROOT> ] [ -p <options-for-cvsps> ]
-			[ -C <git_repository> ] [ -i ] [ -P <file> ] [ -k ]
-			[ -s <subst> ] [ -m ] [ -M regex ] [ <CVS_module> ]
+[verse]
+'git-cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>] [-s <subst>]
+	      [-p <options-for-cvsps>] [-C <git_repository>] [-i] [-P <file>]
+	      [-m] [-M regex] [<CVS_module>]
 
 
 DESCRIPTION
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index 2a8f371..33f3320 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -7,8 +7,9 @@
 
 SYNOPSIS
 --------
+[verse]
 'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all]
-             [--timeout=n] [--init-timeout=n] [--strict-paths] [directory...]
+           [--timeout=n] [--init-timeout=n] [--strict-paths] [directory...]
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-diff-index.txt b/Documentation/git-diff-index.txt
index dba6d30..5d2096a 100644
--- a/Documentation/git-diff-index.txt
+++ b/Documentation/git-diff-index.txt
@@ -53,7 +53,7 @@
 	contents (the ones I'd write with a "git-write-tree")
 
 For example, let's say that you have worked on your working directory, updated
-some files in the index and are ready to commit. You want to see eactly
+some files in the index and are ready to commit. You want to see exactly
 *what* you are going to commit is without having to write a new tree
 object and compare it that way, and to do that, you just do
 
@@ -110,7 +110,7 @@
 actually look at the contents of the file at all. So maybe
 `kernel/sched.c` hasn't actually changed, and it's just that you
 touched it. In either case, it's a note that you need to
-"git-upate-index" it to make the index be in sync.
+"git-update-index" it to make the index be in sync.
 
 NOTE: You can have a mixture of files show up as "has been updated"
 and "is still dirty in the working directory" together. You can always
diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
index 9a2947e..91fb130 100644
--- a/Documentation/git-diff-tree.txt
+++ b/Documentation/git-diff-tree.txt
@@ -8,7 +8,9 @@
 
 SYNOPSIS
 --------
-'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r] [--root] [<common diff options>] <tree-ish> [<tree-ish>] [<path>...]
+[verse]
+'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r]
+	      [--root] [<common diff options>] <tree-ish> [<tree-ish>] [<path>...]
 
 DESCRIPTION
 -----------
@@ -62,7 +64,7 @@
 -s::
 	By default, "git-diff-tree --stdin" shows differences,
 	either in machine-readable form (without '-p') or in patch
-	form (with '-p').  This output can be supressed.  It is
+	form (with '-p').  This output can be suppressed.  It is
 	only useful with '-v' flag.
 
 -v::
diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt
index b04f393..ca41634 100644
--- a/Documentation/git-diff.txt
+++ b/Documentation/git-diff.txt
@@ -67,7 +67,7 @@
 <1> instead of using the tip of the current branch, compare with the
 tip of "test" branch.
 <2> instead of comparing with the tip of "test" branch, compare with
-the tip of the curren branch, but limit the comparison to the
+the tip of the current branch, but limit the comparison to the
 file "test".
 <3> compare the version before the last commit and the last commit.
 ------------
diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index d7ca2db..47705de 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -8,7 +8,9 @@
 
 SYNOPSIS
 --------
-'git-format-patch' [-n | -k] [-o <dir> | --stdout] [-s] [-c] [--mbox] [--diff-options] <his> [<mine>]
+[verse]
+'git-format-patch' [-n | -k] [-o <dir> | --stdout] [-s] [-c] [--mbox]
+		 [--diff-options] <his> [<mine>]
 
 DESCRIPTION
 -----------
@@ -96,7 +98,7 @@
 
 See Also
 --------
-gitlink:git-am[1], gitlink:git-send-email
+gitlink:git-am[1], gitlink:git-send-email[1]
 
 
 Author
diff --git a/Documentation/git-fsck-objects.txt b/Documentation/git-fsck-objects.txt
index bab1f60..387b435 100644
--- a/Documentation/git-fsck-objects.txt
+++ b/Documentation/git-fsck-objects.txt
@@ -8,7 +8,9 @@
 
 SYNOPSIS
 --------
-'git-fsck-objects' [--tags] [--root] [--unreachable] [--cache] [--standalone | --full] [--strict] [<object>*]
+[verse]
+'git-fsck-objects' [--tags] [--root] [--unreachable] [--cache]
+		 [--standalone | --full] [--strict] [<object>*]
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index 0175793..2bfd8ed 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -8,7 +8,7 @@
 
 SYNOPSIS
 --------
-'git-grep' <option>... <pattern> <path>...
+'git-grep' [<option>...] <pattern> [<path>...]
 
 DESCRIPTION
 -----------
@@ -27,7 +27,6 @@
 	The pattern to look for.
 
 <path>...::
-
 	Optional paths to limit the set of files to be searched;
 	passed to `git-ls-files`.
 
diff --git a/Documentation/git-http-fetch.txt b/Documentation/git-http-fetch.txt
index 1116e85..bc1a132 100644
--- a/Documentation/git-http-fetch.txt
+++ b/Documentation/git-http-fetch.txt
@@ -3,12 +3,12 @@
 
 NAME
 ----
-git-http-fetch - Downloads a remote git repository via HTTP
+git-http-fetch - downloads a remote git repository via HTTP
 
 
 SYNOPSIS
 --------
-'git-http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] commit-id url
+'git-http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] <commit> <url>
 
 DESCRIPTION
 -----------
diff --git a/Documentation/git-init-db.txt b/Documentation/git-init-db.txt
index 6deef92..ea4d849 100644
--- a/Documentation/git-init-db.txt
+++ b/Documentation/git-init-db.txt
@@ -8,7 +8,7 @@
 
 SYNOPSIS
 --------
-'git-init-db' [--template=<template_directory>]
+'git-init-db' [--template=<template_directory>] [--shared]
 
 
 OPTIONS
@@ -16,6 +16,9 @@
 --template=<template_directory>::
 	Provide the directory in from which templates will be used.
 
+--shared::
+	Specify that the git repository is to be shared amongst several users.
+
 
 DESCRIPTION
 -----------
@@ -30,7 +33,16 @@
 environment variable then the sha1 directories are created underneath -
 otherwise the default `$GIT_DIR/objects` directory is used.
 
-`git-init-db` won't hurt an existing repository.
+A shared repository allows users belonging to the same group to push into that
+repository. When specifying `--shared` the config variable "core.sharedRepository" 
+is set to 'true' so that directories under `$GIT_DIR` are made group writable
+(and g+sx, since the git group may be not the primary group of all users).
+
+
+Running `git-init-db` in an existing repository is safe. It will not overwrite
+things that are already there. The primary reason for rerunning `git-init-db`
+is to pick up newly added templates.
+
 
 
 EXAMPLES
diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt
index 186f3bb..e42af5e 100644
--- a/Documentation/git-ls-files.txt
+++ b/Documentation/git-ls-files.txt
@@ -74,7 +74,7 @@
 	H::	cached
 	M::	unmerged
 	R::	removed/deleted
-	C::	modifed/changed
+	C::	modified/changed
 	K::	to be killed
 	?	other
 
diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt
index 009ec5a..2d67d39 100644
--- a/Documentation/git-pack-objects.txt
+++ b/Documentation/git-pack-objects.txt
@@ -46,7 +46,7 @@
 	output of the command.
 
 --stdout::
-	Write the pack contents (what would have been writtin to
+	Write the pack contents (what would have been written to
 	.pack file) out to the standard output.
 
 --window and --depth::
diff --git a/Documentation/git-repo-config.txt b/Documentation/git-repo-config.txt
index 5eefe02..3069464 100644
--- a/Documentation/git-repo-config.txt
+++ b/Documentation/git-repo-config.txt
@@ -21,9 +21,9 @@
 actually the section and the key separated by a dot, and the value will be
 escaped.
 
-If you want to set/unset an option which can occor on multiple lines, you
+If you want to set/unset an option which can occur on multiple lines, you
 should provide a POSIX regex for the value. If you want to handle the lines
-*not* matching the regex, just prepend a single exlamation mark in front
+*not* matching the regex, just prepend a single exclamation mark in front
 (see EXAMPLES).
 
 This command will fail if
diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt
index 064ccb1..f9146f1 100644
--- a/Documentation/git-rev-list.txt
+++ b/Documentation/git-rev-list.txt
@@ -8,18 +8,19 @@
 
 SYNOPSIS
 --------
+[verse]
 'git-rev-list' [ \--max-count=number ]
-	[ \--max-age=timestamp ]
-	[ \--min-age=timestamp ]
-	[ \--sparse ]
-	[ \--no-merges ]
-	[ \--all ]
-	[ [ \--merge-order [ \--show-breaks ] ] | [ \--topo-order ] | ]
-	[ \--parents ]
-	[ \--objects [ \--unpacked ] ]
-	[ \--pretty | \--header | ]
-	[ \--bisect ]
-	<commit>... [ \-- <paths>... ]
+	     [ \--max-age=timestamp ]
+	     [ \--min-age=timestamp ]
+	     [ \--sparse ]
+	     [ \--no-merges ]
+	     [ \--all ]
+	     [ [ \--merge-order [ \--show-breaks ] ] | [ \--topo-order ] ]
+	     [ \--parents ]
+	     [ \--objects [ \--unpacked ] ]
+	     [ \--pretty | \--header ]
+	     [ \--bisect ]
+	     <commit>... [ \-- <paths>... ]
 
 DESCRIPTION
 -----------
@@ -129,7 +130,7 @@
 +
 Commits marked with (^) are not parents of the immediately preceding commit.
 These "breaks" represent necessary discontinuities implied by trying to
-represent an arbtirary DAG in a linear form.
+represent an arbitrary DAG in a linear form.
 +
 `--show-breaks` is only valid if `--merge-order` is also specified.
 
diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt
index ffe64d8..5b76f3b 100644
--- a/Documentation/git-show-branch.txt
+++ b/Documentation/git-show-branch.txt
@@ -85,7 +85,7 @@
 displayed, indented N places.  If a commit is on the I-th
 branch, the I-th indentation character shows a '+' sign;
 otherwise it shows a space.  Each commit shows a short name that
-can be used as an exended SHA1 to name that commit.
+can be used as an extended SHA1 to name that commit.
 
 The following example shows three branches, "master", "fixes"
 and "mhf":
diff --git a/Documentation/git-svnimport.txt b/Documentation/git-svnimport.txt
index f8dbee7..db1ce38 100644
--- a/Documentation/git-svnimport.txt
+++ b/Documentation/git-svnimport.txt
@@ -11,7 +11,7 @@
 --------
 'git-svnimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ] [ -d | -D ]
 			[ -C <GIT_repository> ] [ -i ] [ -u ] [-l limit_rev]
-			[ -b branch_subdir ] [ -t trunk_subdir ] [ -T tag_subdir ]
+			[ -b branch_subdir ] [ -T trunk_subdir ] [ -t tag_subdir ]
 			[ -s start_chg ] [ -m ] [ -M regex ]
 			<SVN_repository_URL> [ <path> ]
 
@@ -40,17 +40,17 @@
 -s <start_rev>::
         Start importing at this SVN change number. The  default is 1.
 +
-When importing incementally, you might need to edit the .git/svn2git file.
+When importing incrementally, you might need to edit the .git/svn2git file.
 
 -i::
 	Import-only: don't perform a checkout after importing.  This option
 	ensures the working directory and index remain untouched and will
 	not create them if they do not exist.
 
--t <trunk_subdir>::
+-T <trunk_subdir>::
 	Name the SVN trunk. Default "trunk".
 
--T <tag_subdir>::
+-t <tag_subdir>::
 	Name the SVN subdirectory for tags. Default "tags".
 
 -b <branch_subdir>::
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 5f068c2..875d4877 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -422,7 +422,7 @@
 gitlink:git-send-email[1]::
 	Send patch e-mails out of "format-patch --mbox" output.
 
-gitlink:git-symbolic-refs[1]::
+gitlink:git-symbolic-ref[1]::
 	Read and modify symbolic refs.
 
 gitlink:git-stripspace[1]::
diff --git a/Documentation/glossary.txt b/Documentation/glossary.txt
index 520f4c5..2331be5 100644
--- a/Documentation/glossary.txt
+++ b/Documentation/glossary.txt
@@ -19,7 +19,7 @@
 	In git's context, synonym to object name.
 
 object database::
-	Stores a set of "objects", and an individial object is identified
+	Stores a set of "objects", and an individual object is identified
 	by its object name. The objects usually live in `$GIT_DIR/objects/`.
 
 blob object::
diff --git a/Documentation/howto/isolate-bugs-with-bisect.txt b/Documentation/howto/isolate-bugs-with-bisect.txt
index 4009495..edbcd4c 100644
--- a/Documentation/howto/isolate-bugs-with-bisect.txt
+++ b/Documentation/howto/isolate-bugs-with-bisect.txt
@@ -24,7 +24,7 @@
 	git bisect bad master		<- mark "master" as the bad state
 	git bisect good ORIG_HEAD	<- mark ORIG_HEAD as good (or
 					   whatever other known-good 
-					   thing you booted laste)
+					   thing you booted last)
 
 and at this point "git bisect" will churn for a while, and tell you what 
 the mid-point between those two commits are, and check that state out as 
diff --git a/Documentation/repository-layout.txt b/Documentation/repository-layout.txt
index 1b5f228..0347cab 100644
--- a/Documentation/repository-layout.txt
+++ b/Documentation/repository-layout.txt
@@ -21,7 +21,7 @@
 . You can be using `objects/info/alternates` mechanism, or
 `$GIT_ALTERNATE_OBJECT_DIRECTORIES` mechanism to 'borrow'
 objects from other object stores.  A repository with this kind
-of incompete object store is not suitable to be published for
+of incomplete object store is not suitable to be published for
 use with dumb transports but otherwise is OK as long as
 `objects/info/alternates` points at the right object stores
 it borrows from.
@@ -106,7 +106,7 @@
 	up-to-date if the repository is published for dumb
 	transports.  The `git-receive-pack` command, which is
 	run on a remote repository when you `git push` into it,
-	runs `hooks/update` hook to help you achive this.
+	runs `hooks/update` hook to help you achieve this.
 
 info/grafts::
 	This file records fake commit ancestry information, to
diff --git a/Makefile b/Makefile
index 4ff85fc..cfb793b 100644
--- a/Makefile
+++ b/Makefile
@@ -55,7 +55,7 @@
 # Define USE_STDEV below if you want git to care about the underlying device
 # change being considered an inode change from the update-cache perspective.
 
-GIT_VERSION = 1.0.6
+GIT_VERSION = 1.0.7
 
 # CFLAGS and LDFLAGS are for the users to override from the command line.
 
diff --git a/apply.c b/apply.c
index d5e7bfd..c471a82 100644
--- a/apply.c
+++ b/apply.c
@@ -1588,7 +1588,7 @@
 
 	if (S_ISLNK(mode))
 		return symlink(buf, path);
-	fd = open(path, O_CREAT | O_EXCL | O_WRONLY | O_TRUNC, (mode & 0100) ? 0777 : 0666);
+	fd = open(path, O_CREAT | O_EXCL | O_WRONLY, (mode & 0100) ? 0777 : 0666);
 	if (fd < 0)
 		return -1;
 	while (size) {
@@ -1635,7 +1635,8 @@
 			}
 			if (errno != EEXIST)
 				break;
-		}			
+			++nr;
+		}
 	}
 	die("unable to write file %s mode %o", path, mode);
 }
diff --git a/config.c b/config.c
index 992e988..8355224 100644
--- a/config.c
+++ b/config.c
@@ -409,8 +409,7 @@
 	const char* value_regex, int multi_replace)
 {
 	int i;
-	struct stat st;
-	int fd;
+	int fd, in_fd;
 	char* config_filename = strdup(git_path("config"));
 	char* lock_file = strdup(git_path("config.lock"));
 	const char* last_dot = strrchr(key, '.');
@@ -457,9 +456,17 @@
 	/*
 	 * If .git/config does not exist yet, write a minimal version.
 	 */
-	if (stat(config_filename, &st)) {
+	in_fd = open(config_filename, O_RDONLY);
+	if ( in_fd < 0 ) {
 		free(store.key);
 
+		if ( ENOENT != errno ) {
+			error("opening %s: %s", config_filename,
+			      strerror(errno));
+			close(fd);
+			unlink(lock_file);
+			return 3; /* same as "invalid config file" */
+		}
 		/* if nothing to unset, error out */
 		if (value == NULL) {
 			close(fd);
@@ -471,7 +478,7 @@
 		store_write_section(fd, key);
 		store_write_pair(fd, key, value);
 	} else{
-		int in_fd;
+		struct stat st;
 		char* contents;
 		int i, copy_begin, copy_end, new_line = 0;
 
@@ -528,7 +535,7 @@
 			return 5;
 		}
 
-		in_fd = open(config_filename, O_RDONLY, 0666);
+		fstat(in_fd, &st);
 		contents = mmap(NULL, st.st_size, PROT_READ,
 			MAP_PRIVATE, in_fd, 0);
 		close(in_fd);
diff --git a/date.c b/date.c
index 3e11500..416ea57 100644
--- a/date.c
+++ b/date.c
@@ -326,7 +326,7 @@
 
 	/*
 	 * NOTE! We will give precedence to day-of-month over month or
-	 * year numebers in the 1-12 range. So 05 is always "mday 5",
+	 * year numbers in the 1-12 range. So 05 is always "mday 5",
 	 * unless we already have a mday..
 	 *
 	 * IOW, 01 Apr 05 parses as "April 1st, 2005".
@@ -640,7 +640,7 @@
 	}
 	if (number > 0 && number < 32)
 		tm.tm_mday = number;
-	if (tm.tm_mon > now.tm_mon)
+	if (tm.tm_mon > now.tm_mon && tm.tm_year == now.tm_year)
 		tm.tm_year--;
 	return mktime(&tm);
 }
diff --git a/diff-index.c b/diff-index.c
index 0054883..87e1061 100644
--- a/diff-index.c
+++ b/diff-index.c
@@ -116,7 +116,7 @@
 			/* We come here with ce pointing at stage 1
 			 * (original tree) and ac[1] pointing at stage
 			 * 3 (unmerged).  show-modified with
-			 * report-mising set to false does not say the
+			 * report-missing set to false does not say the
 			 * file is deleted but reports true if work
 			 * tree does not have it, in which case we
 			 * fall through to report the unmerged state.
diff --git a/diff.c b/diff.c
index 66057e5..17d68fa 100644
--- a/diff.c
+++ b/diff.c
@@ -787,7 +787,7 @@
 			 * so it is safe for us to do this here.  Also
 			 * it does not smudge active_cache or active_nr
 			 * when it fails, so we do not have to worry about
-			 * cleaning it up oufselves either.
+			 * cleaning it up ourselves either.
 			 */
 			read_cache();
 	}
diff --git a/entry.c b/entry.c
index 15b34eb..410b758 100644
--- a/entry.c
+++ b/entry.c
@@ -60,7 +60,7 @@
 static int create_file(const char *path, unsigned int mode)
 {
 	mode = (mode & 0100) ? 0777 : 0666;
-	return open(path, O_WRONLY | O_TRUNC | O_CREAT | O_EXCL, mode);
+	return open(path, O_WRONLY | O_CREAT | O_EXCL, mode);
 }
 
 static int write_entry(struct cache_entry *ce, const char *path, struct checkout *state)
diff --git a/epoch.c b/epoch.c
index db44f5c..3a76748 100644
--- a/epoch.c
+++ b/epoch.c
@@ -190,7 +190,7 @@
  * enqueued, enqueuing the commit in a list of pending commits, in latest
  * commit date first order.
  *
- * The algorithm then preceeds to visit each commit in the pending queue.
+ * The algorithm then proceeds to visit each commit in the pending queue.
  * Upon each visit, the pending mass is added to the mass already seen for that
  * commit and then divided into N equal portions, where N is the number of
  * parents of the commit being visited. The divided portions are then injected
diff --git a/fetch-clone.c b/fetch-clone.c
index 2b2aa15..f46fe6e 100644
--- a/fetch-clone.c
+++ b/fetch-clone.c
@@ -47,7 +47,7 @@
 		if (retval < 0) {
 			if (errno == EINTR)
 				continue;
-			error("waitpid failed (%s)", strerror(retval));
+			error("waitpid failed (%s)", strerror(errno));
 			goto error_die;
 		}
 		if (WIFSIGNALED(status)) {
diff --git a/git-commit.sh b/git-commit.sh
index 7e39c10..193feeb 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -148,7 +148,7 @@
 
 if [ -f "$GIT_DIR/MERGE_HEAD" ]; then
 	echo "#"
-	echo "# It looks like your may be committing a MERGE."
+	echo "# It looks like you may be committing a MERGE."
 	echo "# If this is not correct, please remove the file"
 	echo "#	$GIT_DIR/MERGE_HEAD"
 	echo "# and try again"
@@ -165,6 +165,7 @@
 	then
 		pick_author_script='
 		/^author /{
+			s/'\''/'\''\\'\'\''/g
 			h
 			s/^author \([^<]*\) <[^>]*> .*$/\1/
 			s/'\''/'\''\'\'\''/g
diff --git a/git-compat-util.h b/git-compat-util.h
index 0c98c99..c353b27 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -63,6 +63,8 @@
 static inline void *xmalloc(size_t size)
 {
 	void *ret = malloc(size);
+	if (!ret && !size)
+		ret = malloc(1);
 	if (!ret)
 		die("Out of memory, malloc failed");
 	return ret;
@@ -71,6 +73,8 @@
 static inline void *xrealloc(void *ptr, size_t size)
 {
 	void *ret = realloc(ptr, size);
+	if (!ret && !size)
+		ret = realloc(ptr, 1);
 	if (!ret)
 		die("Out of memory, realloc failed");
 	return ret;
@@ -79,6 +83,8 @@
 static inline void *xcalloc(size_t nmemb, size_t size)
 {
 	void *ret = calloc(nmemb, size);
+	if (!ret && (!nmemb || !size))
+		ret = calloc(1, 1);
 	if (!ret)
 		die("Out of memory, calloc failed");
 	return ret;
diff --git a/git-fetch.sh b/git-fetch.sh
index 125bcea..b46b3e5 100755
--- a/git-fetch.sh
+++ b/git-fetch.sh
@@ -188,11 +188,20 @@
 reflist=$(get_remote_refs_for_fetch "$@")
 if test "$tags"
 then
-	taglist=$(git-ls-remote --tags "$remote" |
-		sed -e '
-			/\^/d
-			s/^[^	]*	//
-			s/.*/.&:&/')
+	taglist=$(IFS="	" &&
+		  git-ls-remote --tags "$remote" |
+	          while read sha1 name
+		  do
+			case "$name" in
+			(*^*) continue ;;
+			esac
+		  	if git-check-ref-format "$name"
+			then
+			    echo ".${name}:${name}"
+			else
+			    echo >&2 "warning: tag ${name} ignored"
+			fi
+		  done)
 	if test "$#" -gt 1
 	then
 		# remote URL plus explicit refspecs; we need to merge them.
diff --git a/git-format-patch.sh b/git-format-patch.sh
index daa3cae..818059f 100755
--- a/git-format-patch.sh
+++ b/git-format-patch.sh
@@ -173,6 +173,7 @@
 
 whosepatchScript='
 /^author /{
+	s/'\''/'\''\\'\'\''/g
 	s/author \(.*>\) \(.*\)$/au='\''\1'\'' ad='\''\2'\''/p
 	q
 }'
diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh
index 7dee88a..5349a1c 100755
--- a/git-merge-one-file.sh
+++ b/git-merge-one-file.sh
@@ -82,7 +82,7 @@
 		expr "$sz0" \< "$sz1" \* 2 >/dev/null || : >$orig
 		;;
 	*)
-		echo "Auto-merging $4."
+		echo "Auto-merging $4"
 		orig=`git-unpack-file $1`
 		;;
 	esac
@@ -107,7 +107,7 @@
 	fi
 
 	if [ $ret -ne 0 ]; then
-		echo "ERROR: Merge conflict in $4."
+		echo "ERROR: Merge conflict in $4"
 		exit 1
 	fi
 	exec git-update-index -- "$4"
diff --git a/git-reset.sh b/git-reset.sh
index eb44ee8..6c9e58a 100755
--- a/git-reset.sh
+++ b/git-reset.sh
@@ -3,7 +3,7 @@
 USAGE='[--mixed | --soft | --hard]  [<commit-ish>]'
 . git-sh-setup
 
-tmp=/var/tmp/reset.$$
+tmp=${GIT_DIR}/reset.$$
 trap 'rm -f $tmp-*' 0 1 2 3 15
 
 reset_type=--mixed
diff --git a/git-svnimport.perl b/git-svnimport.perl
index cb241d1..6e3a44a 100755
--- a/git-svnimport.perl
+++ b/git-svnimport.perl
@@ -96,8 +96,10 @@
 sub conn {
 	my $self = shift;
 	my $repo = $self->{'fullrep'};
-	my $s = SVN::Ra->new($repo);
-
+	my $auth = SVN::Core::auth_open ([SVN::Client::get_simple_provider,
+			  SVN::Client::get_ssl_server_trust_file_provider,
+			  SVN::Client::get_username_provider]);
+	my $s = SVN::Ra->new(url => $repo, auth => $auth);
 	die "SVN connection to $repo: $!\n" unless defined $s;
 	$self->{'svn'} = $s;
 	$self->{'repo'} = $repo;
diff --git a/git.c b/git.c
index e795ddb..5e7da74 100644
--- a/git.c
+++ b/git.c
@@ -244,6 +244,11 @@
 	for (i = 1; i < argc; i++) {
 		char *arg = argv[i];
 
+		if (!strcmp(arg, "help")) {
+			show_help = 1;
+			continue;
+		}
+
 		if (strncmp(arg, "--", 2))
 			break;
 
diff --git a/ident.c b/ident.c
index ac1c27f..0461b8b 100644
--- a/ident.c
+++ b/ident.c
@@ -140,7 +140,7 @@
 
 	/*
 	 * Copy the rest to the buffer, but avoid the special
-	 * characters '\n' '<' and '>' that act as delimeters on
+	 * characters '\n' '<' and '>' that act as delimiters on
 	 * a identification line
 	 */
 	for (i = 0; i < len; i++) {
diff --git a/ls-files.c b/ls-files.c
index 5e9ac71..cd87430 100644
--- a/ls-files.c
+++ b/ls-files.c
@@ -169,7 +169,7 @@
 			}
 			else {
 				/* match with FNM_PATHNAME:
-				 * exclude has base (baselen long) inplicitly
+				 * exclude has base (baselen long) implicitly
 				 * in front of it.
 				 */
 				int baselen = x->baselen;
diff --git a/pack-objects.c b/pack-objects.c
index caf3b6b..c3f2531 100644
--- a/pack-objects.c
+++ b/pack-objects.c
@@ -119,7 +119,7 @@
 		return offset;
 	e->offset = offset;
 	offset += write_object(f, e);
-	/* if we are delitified, write out its base object. */
+	/* if we are deltified, write out its base object. */
 	if (e->delta)
 		offset = write_one(f, e->delta, offset);
 	return offset;
diff --git a/repo-config.c b/repo-config.c
index b2569b7..c31e441 100644
--- a/repo-config.c
+++ b/repo-config.c
@@ -6,7 +6,7 @@
 
 static char* key = NULL;
 static char* value = NULL;
-static regex_t* regex = NULL;
+static regex_t* regexp = NULL;
 static int do_all = 0;
 static int do_not_match = 0;
 static int seen = 0;
@@ -14,9 +14,9 @@
 static int show_config(const char* key_, const char* value_)
 {
 	if (!strcmp(key_, key) &&
-			(regex == NULL ||
+			(regexp == NULL ||
 			 (do_not_match ^
-			  !regexec(regex, value_, 0, NULL, 0)))) {
+			  !regexec(regexp, value_, 0, NULL, 0)))) {
 		if (do_all) {
 			printf("%s\n", value_);
 			return 0;
@@ -46,8 +46,8 @@
 			regex_++;
 		}
 
-		regex = (regex_t*)malloc(sizeof(regex_t));
-		if (regcomp(regex, regex_, REG_EXTENDED)) {
+		regexp = (regex_t*)malloc(sizeof(regex_t));
+		if (regcomp(regexp, regex_, REG_EXTENDED)) {
 			fprintf(stderr, "Invalid pattern: %s\n", regex_);
 			return -1;
 		}
@@ -59,9 +59,9 @@
 		free(value);
 	}
 	free(key);
-	if (regex) {
-		regfree(regex);
-		free(regex);
+	if (regexp) {
+		regfree(regexp);
+		free(regexp);
 	}
 
 	if (do_all)
diff --git a/t/t3300-funny-names.sh b/t/t3300-funny-names.sh
index 6a85d67..72a93da 100755
--- a/t/t3300-funny-names.sh
+++ b/t/t3300-funny-names.sh
@@ -9,9 +9,6 @@
 tree, index, and tree objects.
 '
 
-# since FAT/NTFS does not allow tabs in filenames, skip this test
-test "$(uname -o 2>/dev/null)" = Cygwin && exit 0
-
 . ./test-lib.sh
 
 p0='no-funny'
@@ -27,6 +24,12 @@
 cat >"$p1" "$p0"
 echo 'Foo Bar Baz' >"$p2"
 
+test -f "$p1" && cmp "$p0" "$p1" || {
+	# since FAT/NTFS does not allow tabs in filenames, skip this test
+	say 'Your filesystem does not allow tabs in filenames, test skipped.'
+	test_done
+}
+
 echo 'just space
 no-funny' >expected
 test_expect_success 'git-ls-files no-funny' \
diff --git a/t/t4000-diff-format.sh b/t/t4000-diff-format.sh
index beb6d8f..67b9681 100755
--- a/t/t4000-diff-format.sh
+++ b/t/t4000-diff-format.sh
@@ -26,6 +26,14 @@
 test_expect_success \
     'git-diff-files -p after editing work tree.' \
     'git-diff-files -p >current'
+
+# that's as far as it comes
+if [ "$(git repo-config --get core.filemode)" = false ]
+then
+	say 'filemode disabled on the filesystem'
+	test_done
+fi
+
 cat >expected <<\EOF
 diff --git a/path0 b/path0
 old mode 100644
diff --git a/t/t4006-diff-mode.sh b/t/t4006-diff-mode.sh
index e2a67e9..8ad69d1 100755
--- a/t/t4006-diff-mode.sh
+++ b/t/t4006-diff-mode.sh
@@ -15,11 +15,21 @@
      tree=`git-write-tree` &&
      echo $tree'
 
-test_expect_success \
-    'chmod' \
-    'chmod +x rezrov &&
-     git-update-index rezrov &&
-     git-diff-index $tree >current'
+if [ "$(git repo-config --get core.filemode)" = false ]
+then
+	say 'filemode disabled on the filesystem, using update-index --chmod=+x'
+	test_expect_success \
+	    'git-update-index --chmod=+x' \
+	    'git-update-index rezrov &&
+	     git-update-index --chmod=+x rezrov &&
+	     git-diff-index $tree >current'
+else
+	test_expect_success \
+	    'chmod' \
+	    'chmod +x rezrov &&
+	     git-update-index rezrov &&
+	     git-diff-index $tree >current'
+fi
 
 _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
 _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
diff --git a/t/t4102-apply-rename.sh b/t/t4102-apply-rename.sh
index 0401d7b..fbb508d 100755
--- a/t/t4102-apply-rename.sh
+++ b/t/t4102-apply-rename.sh
@@ -31,7 +31,12 @@
 test_expect_success apply \
     'git-apply --index --stat --summary --apply test-patch'
 
-test_expect_success validate \
-    'test -f bar && ls -l bar | grep "^-..x......"'
+if [ "$(git repo-config --get core.filemode)" = false ]
+then
+	say 'filemode disabled on the filesystem'
+else
+	test_expect_success validate \
+	    'test -f bar && ls -l bar | grep "^-..x......"'
+fi
 
 test_done
diff --git a/t/t6001-rev-list-merge-order.sh b/t/t6001-rev-list-merge-order.sh
index 368b8d9..7724e8a 100755
--- a/t/t6001-rev-list-merge-order.sh
+++ b/t/t6001-rev-list-merge-order.sh
@@ -8,13 +8,6 @@
 . ./test-lib.sh
 . ../t6000lib.sh # t6xxx specific functions
 
-if git-rev-list --merge-order 2>&1 | grep 'OpenSSL not linked' >/dev/null
-then
-    test_expect_success 'skipping merge-order test' :
-    test_done
-    exit
-fi    
-
 # test-case specific test function
 check_adjacency()
 {
@@ -114,6 +107,13 @@
 19
 EOF
 
+if git-rev-list --merge-order HEAD 2>&1 | grep 'OpenSSL not linked' >/dev/null
+then
+    test_expect_success 'skipping merge-order test' :
+    test_done
+    exit
+fi
+
 normal_adjacency_count=$(git-rev-list HEAD | check_adjacency | grep -c "\^" | tr -d ' ')
 merge_order_adjacency_count=$(git-rev-list --merge-order HEAD | check_adjacency | grep -c "\^" | tr -d ' ')
 test_expect_success '--merge-order produces as many or fewer discontinuities' '[ $merge_order_adjacency_count -le $normal_adjacency_count ]'
diff --git a/t/test-lib.sh b/t/test-lib.sh
index a97d259..7534a76 100755
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -195,7 +195,7 @@
 test=trash
 rm -fr "$test"
 mkdir "$test"
-cd "$test"
+cd "$test" || error "Cannot setup test environment"
 "$GIT_EXEC_PATH/git" init-db --template=../../templates/blt/ 2>/dev/null ||
 error "cannot run git init-db -- have you built things yet?"
 
