diff --git a/Documentation/RelNotes-1.5.1.3.txt b/Documentation/RelNotes-1.5.1.3.txt
index 9a4b069..2ddeabd 100644
--- a/Documentation/RelNotes-1.5.1.3.txt
+++ b/Documentation/RelNotes-1.5.1.3.txt
@@ -1,4 +1,4 @@
-GIT v1.5.1.3 Release Notes (draft)
+GIT v1.5.1.3 Release Notes
 ==========================
 
 Fixes since v1.5.1.2
@@ -19,6 +19,8 @@
   - git-svn inconsistently stripped away username from the URL
     only when svnsync_props was in use.
 
+  - git-svn got confused when handling symlinks on Mac OS.
+
   - git-send-email was not quoting recipient names that have
     period '.' in them.  Also it did not allow overriding
     envelope sender, which made it impossible to send patches to
@@ -31,8 +33,14 @@
     packfiles incorrectly closed the fd that was still being
     used to read the pack.
 
----
-exec >/var/tmp/1
-O=v1.5.1.2-23-gbf7af11
-echo O=`git describe refs/heads/maint`
-git shortlog --no-merges $O..refs/heads/maint
+  - import-tars contributed front-end for fastimport was passing
+    wrong directory modes without checking.
+
+  - git-fastimport trusted its input too much and allowed to
+    create corrupt tree objects with entries without a name.
+
+  - git-fetch needlessly barfed when too long reflog action
+    description was given by the caller.
+
+Also contains various documentation updates.
+
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index 2386f49..6a4da2d 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -1,5 +1,7 @@
 Checklist (and a short version for the impatient):
 
+	Commits:
+
 	- make commits of logical units
 	- check for unnecessary whitespace with "git diff --check"
 	  before committing
@@ -12,8 +14,14 @@
 	  commit message (or just use the option "-s" when
 	  committing) to confirm that you agree to the Developer's
 	  Certificate of Origin
-	- do not PGP sign your patch
+
+	Patch:
+
 	- use "git format-patch -M" to create the patch
+	- send your patch to <git@vger.kernel.org>. If you use
+	  git-send-email(1), please test it first by sending
+	  email to yourself.
+	- do not PGP sign your patch
 	- do not attach your patch, but read in the mail
 	  body, unless you cannot teach your mailer to
 	  leave the formatting of the patch alone.
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 795db87..7ae39fd 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -54,7 +54,7 @@
 
 --in-reply-to::
 	Specify the contents of the first In-Reply-To header.
-	Subsequent emails will refer to the previous email 
+	Subsequent emails will refer to the previous email
 	instead of this if --chain-reply-to is set (the default)
 	Only necessary if --compose is also set.  If --compose
 	is not set, this will be prompted for.
@@ -68,8 +68,9 @@
 	all that is output.
 
 --smtp-server::
-	If set, specifies the outgoing SMTP server to use.  A full
-	pathname of a sendmail-like program can be specified instead;
+	If set, specifies the outgoing SMTP server to use (e.g.
+	`smtp.example.com` or a raw IP address).  Alternatively it can
+	specify a full pathname of a sendmail-like program instead;
 	the program must support the `-i` option.  Default value can
 	be specified by the 'sendemail.smtpserver' configuration
 	option; the built-in default is `/usr/sbin/sendmail` or
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index a35b9de..62d7ef8 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -161,8 +161,9 @@
 --
 'find-rev'::
 	When given an SVN revision number of the form 'rN', returns the
-	corresponding git commit hash.  When given a tree-ish, returns the
-	corresponding SVN revision number.
+	corresponding git commit hash (this can optionally be followed by a
+	tree-ish to specify which branch should be searched).  When given a
+	tree-ish, returns the corresponding SVN revision number.
 
 'set-tree'::
 	You should consider using 'dcommit' instead of this command.
diff --git a/Documentation/git.txt b/Documentation/git.txt
index c5d02da..b0550b8 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -29,6 +29,10 @@
 The COMMAND is either a name of a Git command (see below) or an alias
 as defined in the configuration file (see gitlink:git-config[1]).
 
+Formatted and hyperlinked version of the latest git
+documentation can be viewed at
+`http://www.kernel.org/pub/software/scm/git/docs/`.
+
 ifdef::stalenotes[]
 [NOTE]
 ============
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 41ee8b4..cd9e050 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v1.5.1.2.GIT
+DEF_VER=v1.5.1.3.GIT
 
 LF='
 '
diff --git a/git-svn.perl b/git-svn.perl
index 4be8576..6657e10 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -434,17 +434,16 @@
 	my $revision_or_hash = shift;
 	my $result;
 	if ($revision_or_hash =~ /^r\d+$/) {
-		my $desired_revision = substr($revision_or_hash, 1);
-		my ($fh, $ctx) = command_output_pipe('rev-list', 'HEAD');
-		while (my $hash = <$fh>) {
-			chomp($hash);
-			my (undef, $rev, undef) = cmt_metadata($hash);
-			if ($rev && $rev eq $desired_revision) {
-				$result = $hash;
-				last;
-			}
+		my $head = shift;
+		$head ||= 'HEAD';
+		my @refs;
+		my (undef, undef, undef, $gs) = working_head_info($head, \@refs);
+		unless ($gs) {
+			die "Unable to determine upstream SVN information from ",
+			    "$head history\n";
 		}
-		command_close_pipe($fh, $ctx);
+		my $desired_revision = substr($revision_or_hash, 1);
+		$result = $gs->rev_db_get($desired_revision);
 	} else {
 		my (undef, $rev, undef) = cmt_metadata($revision_or_hash);
 		$result = $rev;
@@ -2470,9 +2469,9 @@
 		my $got = $md5->hexdigest;
 		die "Checksum mismatch: $path\n",
 		    "expected: $exp\n    got: $got\n" if ($got ne $exp);
-		seek($fh, 0, 0) or croak $!;
+		sysseek($fh, 0, 0) or croak $!;
 		if ($fb->{mode_b} == 120000) {
-			read($fh, my $buf, 5) == 5 or croak $!;
+			sysread($fh, my $buf, 5) == 5 or croak $!;
 			$buf eq 'link ' or die "$path has mode 120000",
 			                       "but is not a link\n";
 		}
