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 . -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 ] [ -h ] [ -v ] [ -d ] [ -p ] - [ -C ] [ -i ] [ -k ] + [ -C ] [ -i ] [ -P ] [ -k ] [ -s ] [ -m ] [ -M regex ] [ ] @@ -60,6 +60,10 @@ the old cvs2git tool. + If you need to pass multiple options, separate them with a comma. +-P:: + 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 '' 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 + +Documentation +-------------- +Documentation by Petr Baudis, Junio C Hamano and the git-list . + +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. +:: + 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. + :: 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 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 + 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 parameter to `git pull`. +giving '.' as 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 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 < \&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 = ; - close FILE; - return $content; -} - -sub usage { - print STDERR < -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);