summary refs log tree commit
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-11-01 21:58:53 -0800
committerJunio C Hamano <junkio@cox.net>2005-11-01 21:58:53 -0800
commit235d521da60e4699e5bd59ac658b5b48bd76ddca (patch)
tree25620311ca206d41659b5f3e6f60760dca584c2b
parentd92ddb525d47f11ecb6b11e795a668240d9a1af5 (diff)
parent8e6ae4ad5ff14a6fd958ada867e24f8d248aac58 (diff)
This contains the changes made on the master branch since 0.99.9a.

The workaround for building RPMs has not changed since 0.99.9a,
mainly because I haven't heard back if it was good enough for
kernel.org consumption, or otherwise what changes are needed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/git-am.txt2
-rw-r--r--Documentation/git-cvsimport.txt6
-rw-r--r--Documentation/git-fmt-merge-msg.txt39
-rw-r--r--Documentation/git-merge.txt10
-rw-r--r--Documentation/git-pull.txt3
-rw-r--r--Documentation/git.txt44
-rw-r--r--Documentation/tutorial.txt4
-rw-r--r--Makefile5
-rwxr-xr-xcmd-rename.sh16
-rw-r--r--debian/changelog6
-rwxr-xr-xgit-cvsimport.perl17
-rwxr-xr-xgit-findtags.perl94
-rwxr-xr-xgit-mv.perl2
-rw-r--r--mozilla-sha1/sha1.c4
-rw-r--r--mozilla-sha1/sha1.h2
15 files changed, 98 insertions, 156 deletions
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index 704dc514de..e4df4a46ec 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -82,8 +82,6 @@ Documentation
 --------------
 Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>.
 
-This manual page is a stub. You can help the git documentation by expanding it.
-
 GIT
 ---
 Part of the gitlink:git[7] suite
diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
index f5248c91cb..4b62256a79 100644
--- a/Documentation/git-cvsimport.txt
+++ b/Documentation/git-cvsimport.txt
@@ -10,7 +10,7 @@ SYNOPSIS
 --------
 'git-cvsimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
                         [ -d <CVSROOT> ] [ -p <options-for-cvsps> ]
-                        [ -C <git_repository> ] [ -i ] [ -k ]
+                        [ -C <git_repository> ] [ -i ] [ -P <file> ] [ -k ]
                         [ -s <subst> ] [ -m ] [ -M regex ] [ <CVS_module> ]
 
 
@@ -60,6 +60,10 @@ the old cvs2git tool.
 +
 If you need to pass multiple options, separate them with a comma.
 
+-P:: <cvsps-output-file>
+        Instead of calling cvsps, read the provided cvsps output file. Useful
+        for debugging or when cvsps is being handled outside cvsimport.
+
 -m::    
         Attempt to detect merges based on the commit message. This option
         will enable default regexes that try to capture the name source
diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt
new file mode 100644
index 0000000000..a70eb3994a
--- /dev/null
+++ b/Documentation/git-fmt-merge-msg.txt
@@ -0,0 +1,39 @@
+git-fmt-merge-msg(1)
+====================
+
+NAME
+----
+git-fmt-merge-msg - Produce a merge commit message
+
+
+SYNOPSIS
+--------
+'git-fmt-merge-msg' <$GIT_DIR/FETCH_HEAD
+
+DESCRIPTION
+-----------
+Takes the list of merged objects on stdin and produces a suitable
+commit message to be used for the merge commit, usually to be
+passed as the '<merge-message>' argument of `git-merge`.
+
+This script is intended mostly for internal use by scripts
+automatically invoking `git-merge`.
+
+
+SEE ALSO
+--------
+gitlink:git-merge[1]
+
+
+Author
+------
+Written by Junio C Hamano <junkio@cox.net>
+
+Documentation
+--------------
+Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>.
+
+GIT
+---
+Part of the gitlink:git[7] suite
+
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index a007a8b15a..8c9c4d87e3 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -28,6 +28,11 @@ OPTIONS
         there is no `-s` option, built-in list of strategies is
         used instead.
 
+<msg>::
+        The commit message to be used for the merge commit (in case
+        it is created). The `git-fmt-merge-msg` script can be used
+        to give a good default for automated `git-merge` invocations.
+
 <head>::
         our branch head commit.
 
@@ -37,6 +42,11 @@ OPTIONS
         obviously means you are trying an Octopus.
 
 
+SEE ALSO
+--------
+gitlink:git-fmt-merge-msg[1]
+
+
 Author
 ------
 Written by Junio C Hamano <junkio@cox.net>
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index bae05dee99..cef4c0ae38 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -19,6 +19,9 @@ When only one ref is downloaded, runs 'git resolve' to merge it
 into the local HEAD.  Otherwise uses 'git octopus' to merge them
 into the local HEAD.
 
+Note that you can use '.' (current directory) as the
+<repository> to pull from the local repository -- this is useful
+when merging local branches into the current branch.
 
 OPTIONS
 -------
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 59d0dc8760..2f9622f5ac 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -60,7 +60,6 @@ gitlink:git-apply[1]::
 
 gitlink:git-checkout-index[1]::
         Copy files from the cache to the working directory
-        Previously this command was known as git-checkout-cache.
 
 gitlink:git-commit-tree[1]::
         Creates a new commit object
@@ -76,7 +75,6 @@ gitlink:git-init-db[1]::
 
 gitlink:git-merge-index[1]::
         Runs a merge for files needing merging
-        Previously this command was known as git-merge-cache.
 
 gitlink:git-mktag[1]::
         Creates a tag object
@@ -95,7 +93,6 @@ gitlink:git-unpack-objects[1]::
 
 gitlink:git-update-index[1]::
         Modifies the index or directory cache
-        Previously this command was known as git-update-cache.
 
 gitlink:git-write-tree[1]::
         Creates a tree from the current cache
@@ -109,7 +106,6 @@ gitlink:git-cat-file[1]::
 
 gitlink:git-diff-index[1]::
         Compares content and mode of blobs between the cache and repository
-        Previously this command was known as git-diff-cache.
 
 gitlink:git-diff-files[1]::
         Compares files in the working tree and the cache
@@ -122,7 +118,6 @@ gitlink:git-diff-tree[1]::
 
 gitlink:git-fsck-objects[1]::
         Verifies the connectivity and validity of the objects in the database
-        Previously this command was known as git-fsck-cache.
 
 gitlink:git-ls-files[1]::
         Information about files in the cache/working directory
@@ -170,11 +165,9 @@ gitlink:git-fetch-pack[1]::
 
 gitlink:git-http-fetch[1]::
         Downloads a remote git repository via HTTP
-        Previously this command was known as git-http-pull.
 
 gitlink:git-local-fetch[1]::
         Duplicates another git repository on a local system
-        Previously this command was known as git-local-pull.
 
 gitlink:git-peek-remote[1]::
         Lists references on a remote repository using upload-pack protocol.
@@ -190,11 +183,9 @@ gitlink:git-shell[1]::
 
 gitlink:git-ssh-fetch[1]::
         Pulls from a remote repository over ssh connection
-        Previously this command was known as git-ssh-pull.
 
 gitlink:git-ssh-upload[1]::
         Helper "server-side" program used by git-ssh-fetch
-        Previously this command was known as git-ssh-push.
 
 gitlink:git-update-server-info[1]::
         Updates auxiliary information on a dumb server to help
@@ -210,7 +201,6 @@ Porcelain-ish Commands
 
 gitlink:git-add[1]::
         Add paths to the index file.
-        Previously this command was known as git-add-script.
 
 gitlink:git-am[1]::
         Apply patches from a mailbox, but cooler.
@@ -220,50 +210,39 @@ gitlink:git-applymbox[1]::
 
 gitlink:git-bisect[1]::
         Find the change that introduced a bug.
-        Previously this command was known as git-bisect-script.
 
 gitlink:git-branch[1]::
         Create and Show branches.
-        Previously this command was known as git-branch-script.
 
 gitlink:git-checkout[1]::
         Checkout and switch to a branch.
-        Previously this command was known as git-checkout-script.
 
 gitlink:git-cherry-pick[1]::
         Cherry-pick the effect of an existing commit.
-        Previously this command was known as git-cherry-pick-script.
 
 gitlink:git-clone[1]::
         Clones a repository into a new directory.
-        Previously this command was known as git-clone-script.
 
 gitlink:git-commit[1]::
         Record changes to the repository.
-        Previously this command was known as git-commit-script.
 
 gitlink:git-diff[1]::
         Show changes between commits, commit and working tree, etc.
-        Previously this command was known as git-diff-script.
 
 gitlink:git-fetch[1]::
         Download from a remote repository via various protocols.
-        Previously this command was known as git-fetch-script.
 
 gitlink:git-format-patch[1]::
         Prepare patches for e-mail submission.
-        Previously this command was known as git-format-patch-script.
 
 gitlink:git-grep[1]::
         Print lines matching a pattern
 
 gitlink:git-log[1]::
         Shows commit logs.
-        Previously this command was known as git-log-script.
 
 gitlink:git-ls-remote[1]::
         Shows references in a remote or local repository.
-        Previously this command was known as git-ls-remote-script.
 
 gitlink:git-merge[1]::
         Grand unified merge driver.
@@ -273,39 +252,30 @@ gitlink:git-mv[1]::
 
 gitlink:git-octopus[1]::
         Merge more than two commits.
-        Previously this command was known as git-octopus-script.
 
 gitlink:git-pull[1]::
         Fetch from and merge with a remote repository.
-        Previously this command was known as git-pull-script.
 
 gitlink:git-push[1]::
         Update remote refs along with associated objects.
-        Previously this command was known as git-push-script.
 
 gitlink:git-rebase[1]::
         Rebase local commits to new upstream head.
-        Previously this command was known as git-rebase-script.
 
 gitlink:git-rename[1]::
         Rename files and directories.
-        Previously this command was known as git-rename-script.
 
 gitlink:git-repack[1]::
         Pack unpacked objects in a repository.
-        Previously this command was known as git-repack-script.
 
 gitlink:git-reset[1]::
         Reset current HEAD to the specified state.
-        Previously this command was known as git-reset-script.
 
 gitlink:git-resolve[1]::
         Merge two commits.
-        Previously this command was known as git-resolve-script.
 
 gitlink:git-revert[1]::
         Revert an existing commit.
-        Previously this command was known as git-revert-script.
 
 gitlink:git-shortlog[1]::
         Summarizes 'git log' output.
@@ -315,11 +285,9 @@ gitlink:git-show-branch[1]::
 
 gitlink:git-status[1]::
         Shows the working tree status.
-        Previously this command was known as git-status-script.
 
 gitlink:git-verify-tag[1]::
         Check the GPG signature of tag.
-        Previously this command was known as git-verify-tag-script.
 
 gitlink:git-whatchanged[1]::
         Shows commit logs and differences they introduce.
@@ -334,41 +302,33 @@ gitlink:git-applypatch[1]::
 
 gitlink:git-archimport[1]::
         Import an arch repository into git.
-        Previously this command was known as git-archimport-script.
 
 gitlink:git-convert-objects[1]::
         Converts old-style git repository
-        Previously this command was known as git-convert-cache.
 
 gitlink:git-cvsimport[1]::
         Salvage your data out of another SCM people love to hate.
-        Previously this command was known as git-cvsimport-script.
 
 gitlink:git-merge-one-file[1]::
         The standard helper program to use with "git-merge-index"
-        Previously this command was known as git-merge-one-file-script.
 
 gitlink:git-prune[1]::
         Prunes all unreachable objects from the object database
-        Previously this command was known as git-prune-script.
 
 gitlink:git-relink[1]::
         Hardlink common objects in local repositories.
-        Previously this command was known as git-relink-script.
 
 gitlink:git-svnimport[1]::
         Import a SVN repository into git.
 
 gitlink:git-sh-setup[1]::
         Common git shell script setup code.
-        Previously this command was known as git-sh-setup-script.
 
 gitlink:git-symbolic-ref[1]::
         Read and modify symbolic refs
 
 gitlink:git-tag[1]::
         An example script to create a tag object signed with GPG
-        Previously this command was known as git-tag-script.
 
 gitlink:git-update-ref[1]::
         Update the object name stored in a ref safely.
@@ -384,7 +344,6 @@ gitlink:git-cherry[1]::
 
 gitlink:git-count-objects[1]::
         Count unpacked number of objects and their disk consumption.
-        Previously this command was known as git-count-objects-script.
 
 gitlink:git-daemon[1]::
         A really simple server for git repositories.
@@ -403,18 +362,15 @@ gitlink:git-patch-id[1]::
 
 gitlink:git-parse-remote[1]::
         Routines to help parsing $GIT_DIR/remotes/
-        Previously this command was known as git-parse-remote-script.
 
 gitlink:git-request-pull[1]::
         git-request-pull.
-        Previously this command was known as git-request-pull-script.
 
 gitlink:git-rev-parse[1]::
         Pick out and massage parameters.
 
 gitlink:git-send-email[1]::
         Send patch e-mails out of "format-patch --mbox" output.
-        Previously this command was known as git-send-email-script.
 
 gitlink:git-symbolic-refs[1]::
         Read and modify symbolic refs.
diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt
index b9f737e964..20a4cb1df4 100644
--- a/Documentation/tutorial.txt
+++ b/Documentation/tutorial.txt
@@ -1028,7 +1028,9 @@ multiple working trees, but disk space is cheap these days.
 
 [NOTE]
 You could even pull from your own repository by
-giving '.' as <remote-repository> parameter to `git pull`.
+giving '.' as <remote-repository> parameter to `git pull`.  This
+is useful when you want to merge a local branch (or more, if you
+are making an Octopus) into the current branch.
 
 It is likely that you will be pulling from the same remote
 repository from time to time. As a short hand, you can store
diff --git a/Makefile b/Makefile
index 5bb51085e1..5606c83160 100644
--- a/Makefile
+++ b/Makefile
@@ -52,7 +52,7 @@
 
 # DEFINES += -DUSE_STDEV
 
-GIT_VERSION = 0.99.9a
+GIT_VERSION = 0.99.9b
 
 CFLAGS = -g -O2 -Wall
 ALL_CFLAGS = $(CFLAGS) $(PLATFORM_DEFINES) $(DEFINES)
@@ -94,7 +94,7 @@ SCRIPT_SH = \
 SCRIPT_PERL = \
         git-archimport.perl git-cvsimport.perl git-relink.perl \
         git-rename.perl git-shortlog.perl git-fmt-merge-msg.perl \
-        git-findtags.perl git-svnimport.perl git-mv.perl
+        git-svnimport.perl git-mv.perl
 
 SCRIPT_PYTHON = \
         git-merge-recursive.py
@@ -413,7 +413,6 @@ check:
 install: $(PROGRAMS) $(SCRIPTS)
         $(INSTALL) -d -m755 $(call shellquote,$(DESTDIR)$(bindir))
         $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(call shellquote,$(DESTDIR)$(bindir))
-        sh ./cmd-rename.sh $(call shellquote,$(DESTDIR)$(bindir))
         $(MAKE) -C templates install
         $(INSTALL) -d -m755 $(call shellquote,$(DESTDIR)$(GIT_PYTHON_DIR))
         $(INSTALL) $(PYMODULES) $(call shellquote,$(DESTDIR)$(GIT_PYTHON_DIR))
diff --git a/cmd-rename.sh b/cmd-rename.sh
index 34e7f494ed..992493de22 100755
--- a/cmd-rename.sh
+++ b/cmd-rename.sh
@@ -1,13 +1,21 @@
 #!/bin/sh
+#
+# If you installed git by hand previously, you may find this
+# script useful to remove the symbolic links that we shipped
+# for backward compatibility.
+#
+# Running this script with the previous installation directory
+# like this:
+#
+# $ cmd-rename.sh /usr/local/bin/
+#
+# would clean them.
+
 d="$1"
 test -d "$d" || exit
 while read old new
 do
         rm -f "$d/$old"
-        if test -f "$d/$new"
-        then
-                ln -s "$new" "$d/$old" || exit
-        fi
 done <<\EOF
 git-add-script        git-add
 git-archimport-script        git-archimport
diff --git a/debian/changelog b/debian/changelog
index 7d18483428..ee68af5020 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+git-core (0.99.9b-0) unstable; urgency=low
+
+  * GIT 0.99.9b
+
+ -- Junio C Hamano <junkio@cox.net>  Tue,  1 Nov 2005 21:39:39 -0800
+
 git-core (0.99.9a-0) unstable; urgency=low
 
   * GIT 0.99.9a
diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index bbb83fb71c..7bd9136205 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -29,7 +29,7 @@ use IPC::Open2;
 $SIG{'PIPE'}="IGNORE";
 $ENV{'TZ'}="UTC";
 
-our($opt_h,$opt_o,$opt_v,$opt_k,$opt_u,$opt_d,$opt_p,$opt_C,$opt_z,$opt_i,$opt_s,$opt_m,$opt_M);
+our($opt_h,$opt_o,$opt_v,$opt_k,$opt_u,$opt_d,$opt_p,$opt_C,$opt_z,$opt_i,$opt_P, $opt_s,$opt_m,$opt_M);
 
 sub usage() {
         print STDERR <<END;
@@ -41,7 +41,7 @@ END
         exit(1);
 }
 
-getopts("hivmkuo:d:p:C:z:s:M:") or usage();
+getopts("hivmkuo:d:p:C:z:s:M:P:") or usage();
 usage if $opt_h;
 
 @ARGV <= 1 or usage();
@@ -337,6 +337,10 @@ sub file {
         }
         close ($fh);
 
+        if ($res eq '') {
+            die "Looks like the server has gone away while fetching $fn $rev -- exiting!";
+        }
+
         return ($name, $res);
 }
 
@@ -487,11 +491,16 @@ unless($pid) {
         my @opt;
         @opt = split(/,/,$opt_p) if defined $opt_p;
         unshift @opt, '-z', $opt_z if defined $opt_z;
+        unshift @opt, '-q'         unless defined $opt_v;
         unless (defined($opt_p) && $opt_p =~ m/--no-cvs-direct/) {
                 push @opt, '--cvs-direct';
         }
-        exec("cvsps",@opt,"-u","-A",'--root',$opt_d,$cvs_tree);
-        die "Could not start cvsps: $!\n";
+        if ($opt_P) {
+            exec("cat", $opt_P);
+        } else {
+            exec("cvsps",@opt,"-u","-A",'--root',$opt_d,$cvs_tree);
+            die "Could not start cvsps: $!\n";
+        }
 }
 
 
diff --git a/git-findtags.perl b/git-findtags.perl
deleted file mode 100755
index 745affe3a6..0000000000
--- a/git-findtags.perl
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Copyright (c) 2005 Martin Langhoff
-#
-# Walk the tags and find if they match a commit
-# expects a SHA1 of a commit. Option -t enables
-# searching trees too.
-#
-
-use strict;
-use File::Basename;
-use File::Find;
-use Getopt::Std;
-
-my $git_dir = $ENV{GIT_DIR} || '.git';
-$git_dir =~ s|/$||; # chomp trailing slash
-
-# options
-our $opt_t;
-getopts("t") || usage();
-
-my @tagfiles   = `find $git_dir/refs/tags -follow -type f`; # haystack
-my $target = shift @ARGV;                     # needle
-unless ($target) {
-    usage();
-}
-
-# drive the processing from the find hook
-# slower, safer (?) than the find utility
-find( { wanted   => \&process,
-        no_chdir => 1,
-        follow   => 1,
-      }, "$git_dir/refs/tags");
-
-
-sub process {
-    my ($dev,$ino,$mode,$nlink,$uid,$gid);
-
-    # process only regular files
-    unless ((($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) && -f _) {
-        return 1; # ignored anyway
-    }
-
-    my $tagfile = $_;
-    chomp $tagfile;
-    my $tagname = substr($tagfile, length($git_dir.'/refs/tags/'));
-
-    my $tagid = quickread($tagfile);
-    chomp $tagid;
-
-    # is it just a soft tag?
-    if ($tagid eq $target) {
-        print "$tagname\n";
-        return 1; # done with this tag
-    }
-
-    # grab the first 2 lines (the whole tag could be large)
-    my $tagobj = `git-cat-file tag $tagid | head -n2 `;
-    if ($tagobj =~  m/^type commit$/m) { # only deal with commits
-
-        if ($tagobj =~ m/^object $target$/m) { # match on the commit
-            print "$tagname\n";
-
-        } elsif ( $opt_t &&                      # follow the commit
-                 $tagobj =~ m/^object (\S+)$/m) { # and try to match trees
-            my $commitid = $1;
-            my $commitobj = `git-cat-file commit $commitid | head -n1`;
-            chomp $commitobj;
-            $commitobj =~ m/^tree (\S+)$/;
-            my $treeid = $1;
-            if ($target eq $treeid) {
-                print "$tagname\n";
-            }
-        }
-    }
-}
-
-sub quickread {
-    my $file = shift;
-    local $/; # undef: slurp mode
-    open FILE, "<$file"
-        or die "Cannot open $file : $!";
-    my $content = <FILE>;
-    close FILE;
-    return $content;
-}
-
-sub usage {
-        print STDERR <<END;
-Usage: ${\basename $0}     # find tags for a commit or tree
-       [ -t ] <commit-or-tree-sha1>
-END
-        exit(1);
-}
diff --git a/git-mv.perl b/git-mv.perl
index 17e35b0ac0..a21d87eea8 100755
--- a/git-mv.perl
+++ b/git-mv.perl
@@ -54,6 +54,8 @@ my ($src, $dst, $base, $dstDir);
 my $argCount = scalar @ARGV;
 if (-d $ARGV[$argCount-1]) {
         $dstDir = $ARGV[$argCount-1];
+        # remove any trailing slash
+        $dstDir =~ s/\/$//;
         @srcArgs = @ARGV[0..$argCount-2];
         
         foreach $src (@srcArgs) {
diff --git a/mozilla-sha1/sha1.c b/mozilla-sha1/sha1.c
index 7f6fc05e06..847531d19f 100644
--- a/mozilla-sha1/sha1.c
+++ b/mozilla-sha1/sha1.c
@@ -56,8 +56,8 @@ void SHA1_Init(SHA_CTX *ctx) {
 }
 
 
-void SHA1_Update(SHA_CTX *ctx, void *_dataIn, int len) {
-  unsigned char *dataIn = _dataIn;
+void SHA1_Update(SHA_CTX *ctx, const void *_dataIn, int len) {
+  const unsigned char *dataIn = _dataIn;
   int i;
 
   /* Read the data into W and process blocks as they get full
diff --git a/mozilla-sha1/sha1.h b/mozilla-sha1/sha1.h
index f5decbf43b..5d82afa3bd 100644
--- a/mozilla-sha1/sha1.h
+++ b/mozilla-sha1/sha1.h
@@ -41,5 +41,5 @@ typedef struct {
 } SHA_CTX;
 
 void SHA1_Init(SHA_CTX *ctx);
-void SHA1_Update(SHA_CTX *ctx, void *dataIn, int len);
+void SHA1_Update(SHA_CTX *ctx, const void *dataIn, int len);
 void SHA1_Final(unsigned char hashout[20], SHA_CTX *ctx);