diff --git a/.gitignore b/.gitignore index 916fabc6c5..bac60ce31a 100644 --- a/.gitignore +++ b/.gitignore @@ -110,7 +110,6 @@ git-rev-list git-rev-parse git-revert git-rm -git-runstatus git-send-email git-send-pack git-sh-setup diff --git a/.mailmap b/.mailmap index 3b2ce578a1..1f729c223c 100644 --- a/.mailmap +++ b/.mailmap @@ -6,6 +6,7 @@ # Aneesh Kumar K.V +Brian M. Carlson Chris Shoemaker Dana L. How Dana L. How diff --git a/Documentation/Makefile b/Documentation/Makefile index f0df0b0d28..9f0f9d70f6 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -46,6 +46,9 @@ infodir?=$(prefix)/share/info MAKEINFO=makeinfo INSTALL_INFO=install-info DOCBOOK2X_TEXI=docbook2x-texi +ifndef PERL_PATH + PERL_PATH = /usr/bin/perl +endif -include ../config.mak.autogen -include ../config.mak @@ -80,16 +83,16 @@ man7: $(DOC_MAN7) info: git.info install: man - $(INSTALL) -d -m755 $(DESTDIR)$(man1dir) - $(INSTALL) -d -m755 $(DESTDIR)$(man5dir) - $(INSTALL) -d -m755 $(DESTDIR)$(man7dir) - $(INSTALL) -m644 $(DOC_MAN1) $(DESTDIR)$(man1dir) - $(INSTALL) -m644 $(DOC_MAN5) $(DESTDIR)$(man5dir) - $(INSTALL) -m644 $(DOC_MAN7) $(DESTDIR)$(man7dir) + $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir) + $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir) + $(INSTALL) -d -m 755 $(DESTDIR)$(man7dir) + $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir) + $(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir) + $(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir) install-info: info - $(INSTALL) -d -m755 $(DESTDIR)$(infodir) - $(INSTALL) -m644 git.info $(DESTDIR)$(infodir) + $(INSTALL) -d -m 755 $(DESTDIR)$(infodir) + $(INSTALL) -m 644 git.info $(DESTDIR)$(infodir) if test -r $(DESTDIR)$(infodir)/dir; then \ $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) git.info ;\ else \ @@ -109,7 +112,7 @@ install-html: html # doc.dep : $(wildcard *.txt) build-docdep.perl $(RM) $@+ $@ - perl ./build-docdep.perl >$@+ + $(PERL_PATH) ./build-docdep.perl >$@+ mv $@+ $@ -include doc.dep @@ -128,7 +131,7 @@ $(cmds_txt): cmd-list.made cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT) $(RM) $@ - perl ./cmd-list.perl ../command-list.txt + $(PERL_PATH) ./cmd-list.perl ../command-list.txt date >$@ git.7 git.html: git.txt @@ -165,7 +168,7 @@ user-manual.html: user-manual.xml git.info: user-manual.xml $(RM) $@ $*.texi $*.texi+ $(DOCBOOK2X_TEXI) user-manual.xml --to-stdout >$*.texi+ - perl fix-texi.perl <$*.texi+ >$*.texi + $(PERL_PATH) fix-texi.perl <$*.texi+ >$*.texi $(MAKEINFO) --no-split $*.texi $(RM) $*.texi $*.texi+ diff --git a/Documentation/RelNotes-1.5.4.txt b/Documentation/RelNotes-1.5.4.txt index 44f5043ce7..7386e66dc9 100644 --- a/Documentation/RelNotes-1.5.4.txt +++ b/Documentation/RelNotes-1.5.4.txt @@ -4,7 +4,8 @@ GIT v1.5.4 Release Notes Removal ------- - * "git svnimport" was removed in favor of "git svn". + * "git svnimport" was removed in favor of "git svn". It is still there + in the source tree (contrib/examples) but unsupported. Deprecation notices @@ -48,7 +49,10 @@ Updates since v1.5.3 * Comes with much improved gitk. - * Comes with "git gui" 0.9.0 with i18n. + * Comes with "git gui" 0.9.1 with i18n. + + * gitk is now merged as a subdirectory of git.git project, in + preparation for its i18n. * progress display from many commands are a lot nicer to the eye. Transfer commands show throughput data. @@ -66,6 +70,21 @@ Updates since v1.5.3 pairing. Earlier if more than one identical rename sources were found in the preimage, they were picked pretty much at random. + * Value "true" for color.diff and color.status configuration used to + mean "always" (even when the output is not going to a terminal). + This has been corrected to mean the same thing as "auto". + + * HTTP proxy can be specified per remote repository using + remote.*.httpproxy configuration, or global http.proxy configuration + variable. + + * Various Perforce importer updates. + + * Example update and post-receive hooks have been improved. + + * Any command that wants to take a commit object name can now use + ":/string" syntax to name a commit. + * "git reset" is now built-in and its output can be squelched with -q. * "git send-email" can optionally talk over ssmtp and use SMTP-AUTH. @@ -77,6 +96,15 @@ Updates since v1.5.3 --skip" without first running "git reset --hard", as the command now runs it for you. + * "git rebase --interactive" mode can now work on detached HEAD. + + * "git rebase" now detaches head during its operation, so after a + successful "git rebase" operation, the reflog entry branch@{1} for + the current branch points at the commit before the rebase was + started. + + * "git rebase -i" also triggers rerere to help your repeated merges. + * "git merge" can call the "post-merge" hook. * "git pack-objects" can optionally run deltification with multiple @@ -97,12 +125,16 @@ Updates since v1.5.3 than the usual one) after the user accumulates too many loose objects. + * "git clean" has been rewritten in C. + * You need to explicitly set clean.requireForce to "false" to allow "git clean" without -f to do any damage (lack of the configuration variable used to mean "do not require -f option to lose untracked files", but we now use the safer default). - * "git clean" has been rewritten in C. + * The kinds of whitespace errors "git diff" and "git apply" notice (and + fix) can be controlled via 'core.whitespace' configuration variable + and 'whitespace' attribute in .gitattributes file. * "git push" learned --dry-run option to show what would happen if a push is run. @@ -114,6 +146,9 @@ Updates since v1.5.3 one-to-one to the remote, and deletes refs from the remote that do not exist anymore in the repository on the pushing side. + * "git push" can remove a corrupt ref at the remote site with the usual + ":ref" refspec. + * "git remote" knows --mirror mode. This is to set up configuration to push into a remote repository to store local branch heads to the same branch on the remote side, and remove branch heads locally removed @@ -122,22 +157,59 @@ Updates since v1.5.3 * "git remote" learned "rm" subcommand. - * "git rebase --interactive" mode can now work on detached HEAD. - * "git cvsserver" can be run via "git shell". + * "git cvsserver" acts more like receive-pack by running post-receive + and post-update hooks. + * "git am" and "git rebase" are far less verbose. * "git pull" learned to pass --[no-]ff option to underlying "git merge". - * Various Perforce importer updates. + * "git pull --rebase" is a different way to integrate what you fetched + into your current branch. + + * "git fast-export" produces datastream that can be fed to fast-import + to reproduce the history recorded in a git repository. + + * "git add -i" takes pathspecs to limit the set of files to work on. + + * "git add -p" is a short-hand to go directly to the selective patch + subcommand in the interactive command loop and to exit when done. + + * "git add -i" UI has been colorized. + + * "git commit --allow-empty" allows you to create a single-parent + commit that records the same tree as its parent, overriding the usual + safety valve. + + * "git commit --amend" can amend a merge that does not change the tree + from its first parent. + + * "git commit" has been rewritten in C. + + * "git stash random-text" does not create a new stash anymore. It was + a UI mistake. Use "git stash save random-text", or "git stash" + (without extra args) for that. + + * "git prune --expire