aboutsummaryrefslogtreecommitdiffstats
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)
downloadgit-235d521da60e4699e5bd59ac658b5b48bd76ddca.tar.gz
GIT 0.99.9bv0.99.9b
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);