Merge branch 'master' into next
authorJunio C Hamano <junkio@cox.net>
Tue, 18 Apr 2006 20:52:46 +0000 (13:52 -0700)
committerJunio C Hamano <junkio@cox.net>
Tue, 18 Apr 2006 20:52:46 +0000 (13:52 -0700)
* master:
  GIT 1.3.0
  Add git-annotate(1) and git-blame(1)
  diff --stat: make sure to set recursive.
  git-svnimport symlink support

Documentation/git-annotate.txt [new file with mode: 0644]
Documentation/git-blame.txt [new file with mode: 0644]
Documentation/git.txt
GIT-VERSION-GEN
Makefile
git-svnimport.perl

diff --git a/Documentation/git-annotate.txt b/Documentation/git-annotate.txt
new file mode 100644 (file)
index 0000000..7baf731
--- /dev/null
@@ -0,0 +1,44 @@
+git-annotate(1)
+===============
+
+NAME
+----
+git-annotate - Annotate file lines with commit info
+
+SYNOPSIS
+--------
+git-annotate [options] file [revision]
+
+DESCRIPTION
+-----------
+Annotates each line in the given file with information from the commit
+which introduced the line. Optionally annotate from a given revision.
+
+OPTIONS
+-------
+-l, --long::
+       Show long rev (Defaults off).
+
+-t, --time::
+       Show raw timestamp (Defaults off).
+
+-r, --rename::
+       Follow renames (Defaults on).
+
+-S, --rev-file <revs-file>::
+       Use revs from revs-file instead of calling git-rev-list.
+
+-h, --help::
+       Show help message.
+
+SEE ALSO
+--------
+gitlink:git-blame[1]
+
+AUTHOR
+------
+Written by Ryan Anderson <ryan@michonline.com>.
+
+GIT
+---
+Part of the gitlink:git[7] suite
diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt
new file mode 100644 (file)
index 0000000..5189878
--- /dev/null
@@ -0,0 +1,42 @@
+git-blame(1)
+============
+
+NAME
+----
+git-blame - Blame file lines on commits
+
+SYNOPSIS
+--------
+git-blame file [options] file [revision]
+
+DESCRIPTION
+-----------
+Annotates each line in the given file with information from the commit
+which introduced the line. Start annotation from the given revision.
+
+OPTIONS
+-------
+-c, --compability::
+       Use the same output mode as git-annotate (Default: off).
+
+-l, --long::
+       Show long rev (Defaults off).
+
+-S, --rev-file <revs-file>::
+       Use revs from revs-file instead of calling git-rev-list.
+
+-h, --help::
+       Show help message.
+
+
+SEE ALSO
+--------
+gitlink:git-annotate[1]
+
+AUTHOR
+------
+Written by Fredrik Kuivinen <freku045@student.liu.se>.
+
+GIT
+---
+Part of the gitlink:git[7] suite
index 03d860b..24ca55d 100644 (file)
@@ -399,6 +399,12 @@ gitlink:git-update-ref[1]::
 
 Interrogators:
 
+gitlink:git-annotate[1]::
+       Annotate file lines with commit info.
+
+gitlink:git-blame[1]::
+       Blame file lines on commits.
+
 gitlink:git-check-ref-format[1]::
        Make sure ref name is well formed.
 
index e88fe5a..7fcefcd 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v1.3-rc4.GIT
+DEF_VER=v1.3.GIT
 
 # First try git-describe, then see if there is a version file
 # (included in release tarballs), then default
index 84a4b84..f0be83b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -675,7 +675,6 @@ check-docs::
        @for v in $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk; \
        do \
                case "$$v" in \
-               git-annotate | git-blame | \
                git-merge-octopus | git-merge-ours | git-merge-recursive | \
                git-merge-resolve | git-merge-stupid | \
                git-ssh-pull | git-ssh-push ) continue ;; \
index 4d5371c..60ed7ae 100755 (executable)
@@ -98,6 +98,7 @@ package SVNconn;
 use File::Spec;
 use File::Temp qw(tempfile);
 use POSIX qw(strftime dup2);
+use Fcntl qw(SEEK_SET);
 
 sub new {
        my($what,$repo) = @_;
@@ -143,9 +144,22 @@ sub file {
        }
        my $mode;
        if (exists $properties->{'svn:executable'}) {
-               $mode = '0755';
+               $mode = '100755';
+       } elsif (exists $properties->{'svn:special'}) {
+               my ($special_content, $filesize);
+               $filesize = tell $fh;
+               seek $fh, 0, SEEK_SET;
+               read $fh, $special_content, $filesize;
+               if ($special_content =~ s/^link //) {
+                       $mode = '120000';
+                       seek $fh, 0, SEEK_SET;
+                       truncate $fh, 0;
+                       print $fh $special_content;
+               } else {
+                       die "unexpected svn:special file encountered";
+               }
        } else {
-               $mode = '0644';
+               $mode = '100644';
        }
        close ($fh);