From: Junio C Hamano Date: Sat, 18 Sep 2010 21:46:44 +0000 (-0700) Subject: Merge branch 'js/ls-files-x-doc' X-Git-Tag: v1.7.3~1 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=1125297ca1744be09f9e392aab0dd2c70d838583;hp=4c608520ed58301de99024e47a0579b058db0a65;p=git.git Merge branch 'js/ls-files-x-doc' * js/ls-files-x-doc: ls-files documentation: reword for consistency git-ls-files.txt: clarify -x/--exclude option Conflicts: Documentation/git-ls-files.txt --- diff --git a/.gitattributes b/.gitattributes index 6b9c715d2..5e98806c6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ * whitespace=!indent,trail,space -*.[ch] whitespace +*.[ch] whitespace=indent,trail,space +*.sh whitespace=indent,trail,space diff --git a/.gitignore b/.gitignore index 41c0b20a7..20560b810 100644 --- a/.gitignore +++ b/.gitignore @@ -1,179 +1,217 @@ -GIT-BUILD-OPTIONS -GIT-CFLAGS -GIT-GUI-VARS -GIT-VERSION-FILE -git -git-add -git-add--interactive -git-am -git-annotate -git-apply -git-archimport -git-archive -git-bisect -git-bisect--helper -git-blame -git-branch -git-bundle -git-cat-file -git-check-attr -git-check-ref-format -git-checkout -git-checkout-index -git-cherry -git-cherry-pick -git-clean -git-clone -git-commit -git-commit-tree -git-config -git-count-objects -git-cvsexportcommit -git-cvsimport -git-cvsserver -git-daemon -git-diff -git-diff-files -git-diff-index -git-diff-tree -git-difftool -git-difftool--helper -git-describe -git-fast-export -git-fast-import -git-fetch -git-fetch--tool -git-fetch-pack -git-filter-branch -git-fmt-merge-msg -git-for-each-ref -git-format-patch -git-fsck -git-fsck-objects -git-gc -git-get-tar-commit-id -git-grep -git-hash-object -git-help -git-http-fetch -git-http-push -git-imap-send -git-index-pack -git-init -git-init-db -git-instaweb -git-log -git-lost-found -git-ls-files -git-ls-remote -git-ls-tree -git-mailinfo -git-mailsplit -git-merge -git-merge-base -git-merge-index -git-merge-file -git-merge-tree -git-merge-octopus -git-merge-one-file -git-merge-ours -git-merge-recursive -git-merge-resolve -git-merge-subtree -git-mergetool -git-mergetool--lib -git-mktag -git-mktree -git-name-rev -git-mv -git-pack-redundant -git-pack-objects -git-pack-refs -git-parse-remote -git-patch-id -git-peek-remote -git-prune -git-prune-packed -git-pull -git-push -git-quiltimport -git-read-tree -git-rebase -git-rebase--interactive -git-receive-pack -git-reflog -git-relink -git-remote -git-repack -git-repo-config -git-request-pull -git-rerere -git-reset -git-rev-list -git-rev-parse -git-revert -git-rm -git-send-email -git-send-pack -git-sh-setup -git-shell -git-shortlog -git-show -git-show-branch -git-show-index -git-show-ref -git-stage -git-stash -git-status -git-stripspace -git-submodule -git-svn -git-symbolic-ref -git-tag -git-tar-tree -git-unpack-file -git-unpack-objects -git-update-index -git-update-ref -git-update-server-info -git-upload-archive -git-upload-pack -git-var -git-verify-pack -git-verify-tag -git-web--browse -git-whatchanged -git-write-tree -git-core-*/?* -gitk-wish -gitweb/gitweb.cgi -test-chmtime -test-ctype -test-date -test-delta -test-dump-cache-tree -test-genrandom -test-match-trees -test-parse-options -test-path-utils -test-sha1 -test-sigchain -common-cmds.h +/GIT-BUILD-OPTIONS +/GIT-CFLAGS +/GIT-GUI-VARS +/GIT-VERSION-FILE +/bin-wrappers/ +/git +/git-add +/git-add--interactive +/git-am +/git-annotate +/git-apply +/git-archimport +/git-archive +/git-bisect +/git-bisect--helper +/git-blame +/git-branch +/git-bundle +/git-cat-file +/git-check-attr +/git-check-ref-format +/git-checkout +/git-checkout-index +/git-cherry +/git-cherry-pick +/git-clean +/git-clone +/git-commit +/git-commit-tree +/git-config +/git-count-objects +/git-cvsexportcommit +/git-cvsimport +/git-cvsserver +/git-daemon +/git-diff +/git-diff-files +/git-diff-index +/git-diff-tree +/git-difftool +/git-difftool--helper +/git-describe +/git-fast-export +/git-fast-import +/git-fetch +/git-fetch--tool +/git-fetch-pack +/git-filter-branch +/git-fmt-merge-msg +/git-for-each-ref +/git-format-patch +/git-fsck +/git-fsck-objects +/git-gc +/git-get-tar-commit-id +/git-grep +/git-hash-object +/git-help +/git-http-backend +/git-http-fetch +/git-http-push +/git-imap-send +/git-index-pack +/git-init +/git-init-db +/git-instaweb +/git-log +/git-lost-found +/git-ls-files +/git-ls-remote +/git-ls-tree +/git-mailinfo +/git-mailsplit +/git-merge +/git-merge-base +/git-merge-index +/git-merge-file +/git-merge-tree +/git-merge-octopus +/git-merge-one-file +/git-merge-ours +/git-merge-recursive +/git-merge-resolve +/git-merge-subtree +/git-mergetool +/git-mergetool--lib +/git-mktag +/git-mktree +/git-name-rev +/git-mv +/git-notes +/git-pack-redundant +/git-pack-objects +/git-pack-refs +/git-parse-remote +/git-patch-id +/git-peek-remote +/git-prune +/git-prune-packed +/git-pull +/git-push +/git-quiltimport +/git-read-tree +/git-rebase +/git-rebase--interactive +/git-receive-pack +/git-reflog +/git-relink +/git-remote +/git-remote-curl +/git-remote-http +/git-remote-https +/git-remote-ftp +/git-remote-ftps +/git-remote-testgit +/git-repack +/git-replace +/git-repo-config +/git-request-pull +/git-rerere +/git-reset +/git-rev-list +/git-rev-parse +/git-revert +/git-rm +/git-send-email +/git-send-pack +/git-sh-setup +/git-shell +/git-shortlog +/git-show +/git-show-branch +/git-show-index +/git-show-ref +/git-stage +/git-stash +/git-status +/git-stripspace +/git-submodule +/git-svn +/git-symbolic-ref +/git-tag +/git-tar-tree +/git-unpack-file +/git-unpack-objects +/git-update-index +/git-update-ref +/git-update-server-info +/git-upload-archive +/git-upload-pack +/git-var +/git-verify-pack +/git-verify-tag +/git-web--browse +/git-whatchanged +/git-write-tree +/git-core-*/?* +/gitk-git/gitk-wish +/gitweb/GITWEB-BUILD-OPTIONS +/gitweb/gitweb.cgi +/gitweb/static/gitweb.min.* +/test-chmtime +/test-ctype +/test-date +/test-delta +/test-dump-cache-tree +/test-genrandom +/test-index-version +/test-line-buffer +/test-match-trees +/test-obj-pool +/test-parse-options +/test-path-utils +/test-run-command +/test-sha1 +/test-sigchain +/test-string-pool +/test-svn-fe +/test-treap +/common-cmds.h *.tar.gz *.dsc *.deb -git.spec +/git.spec *.exe *.[aos] *.py[co] -config.mak -autom4te.cache -config.cache -config.log -config.status -config.mak.autogen -config.mak.append -configure -tags -TAGS -cscope* +.depend/ +*.gcda +*.gcno +*.gcov +/coverage-untested-functions +/cover_db/ +/cover_db_html/ +*+ +/config.mak +/autom4te.cache +/config.cache +/config.log +/config.status +/config.mak.autogen +/config.mak.append +/configure +/tags +/TAGS +/cscope* +*.obj +*.lib +*.sln +*.suo +*.ncb +*.vcproj +*.user +*.idb +*.pdb +/Debug/ +/Release/ diff --git a/.mailmap b/.mailmap index 373476bdc..a8091eb5d 100644 --- a/.mailmap +++ b/.mailmap @@ -5,6 +5,7 @@ # same person appearing not to be so. # +Alex Bennée Alexander Gavrilov Aneesh Kumar K.V Brian M. Carlson @@ -15,6 +16,7 @@ Daniel Barkalow David D. Kilzer David Kågedal David S. Miller +Deskin Miller Dirk Süsserott Fredrik Kuivinen H. Peter Anvin @@ -36,11 +38,13 @@ Li Hong Lukas Sandström Martin Langhoff Michael Coleman +Michael J Gruber Michael W. Olson Michele Ballabio Nanako Shiraishi Nanako Shiraishi Nguyễn Thái Ngọc Duy + Philippe Bruhat Ramsay Allan Jones René Scharfe @@ -58,6 +62,7 @@ Uwe Kleine-König Uwe Kleine-König Uwe Kleine-König Ville Skyttä +Vitaly "_Vi" Shukela William Pursell YOSHIFUJI Hideaki anonymous diff --git a/COPYING b/COPYING index 6ff87c466..536e55524 100644 --- a/COPYING +++ b/COPYING @@ -22,8 +22,8 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -36,7 +36,7 @@ software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to +the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not @@ -76,7 +76,7 @@ patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. - + GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION @@ -131,7 +131,7 @@ above, provided that you also meet all of these conditions: License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - + These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in @@ -189,7 +189,7 @@ access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - + 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is @@ -246,7 +246,7 @@ impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - + 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License @@ -299,7 +299,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest @@ -324,10 +324,9 @@ the "copyright" line and a pointer to where the full notice is found. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. @@ -357,5 +356,5 @@ necessary. Here is a sample; alter the names: This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General +library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. diff --git a/Documentation/.gitignore b/Documentation/.gitignore index d8edd9040..1c3a9fead 100644 --- a/Documentation/.gitignore +++ b/Documentation/.gitignore @@ -8,3 +8,4 @@ gitman.info howto-index.txt doc.dep cmds-*.txt +manpage-base-url.xsl diff --git a/Documentation/Makefile b/Documentation/Makefile index 7a8037f58..e117bc431 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -6,7 +6,7 @@ MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt githooks.txt \ gitrepository-layout.txt MAN7_TXT=gitcli.txt gittutorial.txt gittutorial-2.txt \ gitcvs-migration.txt gitcore-tutorial.txt gitglossary.txt \ - gitdiffcore.txt gitworkflows.txt + gitdiffcore.txt gitrevisions.txt gitworkflows.txt MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT) MAN_XML=$(patsubst %.txt,%.xml,$(MAN_TXT)) @@ -17,6 +17,7 @@ DOC_HTML=$(MAN_HTML) ARTICLES = howto-index ARTICLES += everyday ARTICLES += git-tools +ARTICLES += git-bisect-lk2009 # with their own formatting rules. SP_ARTICLES = howto/revert-branch-rebase howto/using-merge-subtree user-manual API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt))) @@ -84,7 +85,7 @@ endif # ifdef ASCIIDOC8 -ASCIIDOC_EXTRA += -a asciidoc7compatible +ASCIIDOC_EXTRA += -a asciidoc7compatible -a no-inline-literal endif ifdef DOCBOOK_XSL_172 ASCIIDOC_EXTRA += -a git-asciidoc-no-roff @@ -103,6 +104,25 @@ ifdef DOCBOOK_SUPPRESS_SP XMLTO_EXTRA += -m manpage-suppress-sp.xsl endif +# Newer DocBook stylesheet emits warning cruft in the output when +# this is not set, and if set it shows an absolute link. Older +# stylesheets simply ignore this parameter. +# +# Distros may want to use MAN_BASE_URL=file:///path/to/git/docs/ +# or similar. +ifndef MAN_BASE_URL +MAN_BASE_URL = file://$(htmldir)/ +endif +XMLTO_EXTRA += -m manpage-base-url.xsl + +# If your target system uses GNU groff, it may try to render +# apostrophes as a "pretty" apostrophe using unicode. This breaks +# cut&paste, so you should set GNU_ROFF to force them to be ASCII +# apostrophes. Unfortunately does not work with non-GNU roff. +ifdef GNU_ROFF +XMLTO_EXTRA += -m manpage-quote-apos.xsl +endif + SHELL_PATH ?= $(SHELL) # Shell quote; SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) @@ -184,7 +204,7 @@ install-pdf: pdf install-html: html '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir) -../GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE +../GIT-VERSION-FILE: FORCE $(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) GIT-VERSION-FILE -include ../GIT-VERSION-FILE @@ -222,6 +242,7 @@ clean: $(RM) howto-index.txt howto/*.html doc.dep $(RM) technical/api-*.html technical/api-index.txt $(RM) $(cmds_txt) *.made + $(RM) manpage-base-url.xsl $(MAN_HTML): %.html : %.txt $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ @@ -229,7 +250,10 @@ $(MAN_HTML): %.html : %.txt $(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \ mv $@+ $@ -%.1 %.5 %.7 : %.xml +manpage-base-url.xsl: manpage-base-url.xsl.in + sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@ + +%.1 %.5 %.7 : %.xml manpage-base-url.xsl $(QUIET_XMLTO)$(RM) $@ && \ xmlto -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< @@ -240,7 +264,9 @@ $(MAN_HTML): %.html : %.txt mv $@+ $@ user-manual.xml: user-manual.txt user-manual.conf - $(QUIET_ASCIIDOC)$(ASCIIDOC) $(ASCIIDOC_EXTRA) -b docbook -d book $< + $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ + $(ASCIIDOC) $(ASCIIDOC_EXTRA) -b docbook -d book -o $@+ $< && \ + mv $@+ $@ technical/api-index.txt: technical/api-index-skel.txt \ technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS)) @@ -253,8 +279,10 @@ $(patsubst %,%.html,$(API_DOCS) technical/api-index): %.html : %.txt XSLT = docbook.xsl XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css -user-manual.html: user-manual.xml - $(QUIET_XSLTPROC)xsltproc $(XSLTOPTS) -o $@ $(XSLT) $< +user-manual.html: user-manual.xml $(XSLT) + $(QUIET_XSLTPROC)$(RM) $@+ $@ && \ + xsltproc $(XSLTOPTS) -o $@+ $(XSLT) $< && \ + mv $@+ $@ git.info: user-manual.texi $(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi @@ -313,4 +341,4 @@ quick-install-man: quick-install-html: '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir) -.PHONY: .FORCE-GIT-VERSION-FILE +.PHONY: FORCE diff --git a/Documentation/RelNotes-1.5.0.1.txt b/Documentation/RelNotes-1.5.0.1.txt deleted file mode 100644 index fea3f9935..000000000 --- a/Documentation/RelNotes-1.5.0.1.txt +++ /dev/null @@ -1,42 +0,0 @@ -GIT v1.5.0.1 Release Notes -========================== - -Fixes since v1.5.0 ------------------- - -* Documentation updates - - - Clarifications and corrections to 1.5.0 release notes. - - - The main documentation did not link to git-remote documentation. - - - Clarified introductory text of git-rebase documentation. - - - Converted remaining mentions of update-index on Porcelain - documents to git-add/git-rm. - - - Some i18n.* configuration variables were incorrectly - described as core.*; fixed. - -* Bugfixes - - - git-add and git-update-index on a filesystem on which - executable bits are unreliable incorrectly reused st_mode - bits even when the path changed between symlink and regular - file. - - - git-daemon marks the listening sockets with FD_CLOEXEC so - that it won't be leaked into the children. - - - segfault from git-blame when the mandatory pathname - parameter was missing was fixed; usage() message is given - instead. - - - git-rev-list did not read $GIT_DIR/config file, which means - that did not honor i18n.logoutputencoding correctly. - -* Tweaks - - - sliding mmap() inefficiently mmaped the same region of a - packfile with an access pattern that used objects in the - reverse order. This has been made more efficient. diff --git a/Documentation/RelNotes-1.5.0.2.txt b/Documentation/RelNotes-1.5.0.2.txt deleted file mode 100644 index b061e50ff..000000000 --- a/Documentation/RelNotes-1.5.0.2.txt +++ /dev/null @@ -1,65 +0,0 @@ -GIT v1.5.0.2 Release Notes -========================== - -Fixes since v1.5.0.1 --------------------- - -* Bugfixes - - - Automated merge conflict handling when changes to symbolic - links conflicted were completely broken. The merge-resolve - strategy created a regular file with conflict markers in it - in place of the symbolic link. The default strategy, - merge-recursive was even more broken. It removed the path - that was pointed at by the symbolic link. Both of these - problems have been fixed. - - - 'git diff maint master next' did not correctly give combined - diff across three trees. - - - 'git fast-import' portability fix for Solaris. - - - 'git show-ref --verify' without arguments did not error out - but segfaulted. - - - 'git diff :tracked-file `pwd`/an-untracked-file' gave an extra - slashes after a/ and b/. - - - 'git format-patch' produced too long filenames if the commit - message had too long line at the beginning. - - - Running 'make all' and then without changing anything - running 'make install' still rebuilt some files. This - was inconvenient when building as yourself and then - installing as root (especially problematic when the source - directory is on NFS and root is mapped to nobody). - - - 'git-rerere' failed to deal with two unconflicted paths that - sorted next to each other. - - - 'git-rerere' attempted to open(2) a symlink and failed if - there was a conflict. Since a conflicting change to a - symlink would not benefit from rerere anyway, the command - now ignores conflicting changes to symlinks. - - - 'git-repack' did not like to pass more than 64 arguments - internally to underlying 'rev-list' logic, which made it - impossible to repack after accumulating many (small) packs - in the repository. - - - 'git-diff' to review the combined diff during a conflicted - merge were not reading the working tree version correctly - when changes to a symbolic link conflicted. It should have - read the data using readlink(2) but read from the regular - file the symbolic link pointed at. - - - 'git-remote' did not like period in a remote's name. - -* Documentation updates - - - added and clarified core.bare, core.legacyheaders configurations. - - - updated "git-clone --depth" documentation. - - -* Assorted git-gui fixes. diff --git a/Documentation/RelNotes-1.5.0.3.txt b/Documentation/RelNotes-1.5.0.3.txt deleted file mode 100644 index cd500f96b..000000000 --- a/Documentation/RelNotes-1.5.0.3.txt +++ /dev/null @@ -1,58 +0,0 @@ -GIT v1.5.0.3 Release Notes -========================== - -Fixes since v1.5.0.2 --------------------- - -* Bugfixes - - - 'git.el' honors the commit coding system from the configuration. - - - 'blameview' in contrib/ correctly digs deeper when a line is - clicked. - - - 'http-push' correctly makes sure the remote side has leading - path. Earlier it started in the middle of the path, and - incorrectly. - - - 'git-merge' did not exit with non-zero status when the - working tree was dirty and cannot fast forward. It does - now. - - - 'cvsexportcommit' does not lose yet-to-be-used message file. - - - int-vs-size_t typefix when running combined diff on files - over 2GB long. - - - 'git apply --whitespace=strip' should not touch unmodified - lines. - - - 'git-mailinfo' choke when a logical header line was too long. - - - 'git show A..B' did not error out. Negative ref ("not A" in - this example) does not make sense for the purpose of the - command, so now it errors out. - - - 'git fmt-merge-msg --file' without file parameter did not - correctly error out. - - - 'git archimport' barfed upon encountering a commit without - summary. - - - 'git index-pack' did not protect itself from getting a short - read out of pread(2). - - - 'git http-push' had a few buffer overruns. - - - Build dependency fixes to rebuild fetch.o when other headers - change. - -* Documentation updates - - - user-manual updates. - - - Options to 'git remote add' were described insufficiently. - - - Configuration format.suffix was not documented. - - - Other formatting and spelling fixes. diff --git a/Documentation/RelNotes-1.5.0.4.txt b/Documentation/RelNotes-1.5.0.4.txt deleted file mode 100644 index feefa5dfd..000000000 --- a/Documentation/RelNotes-1.5.0.4.txt +++ /dev/null @@ -1,22 +0,0 @@ -GIT v1.5.0.4 Release Notes -========================== - -Fixes since v1.5.0.3 --------------------- - -* Bugfixes - - - git.el does not add duplicate sign-off lines. - - - git-commit shows the full stat of the resulting commit, not - just about the files in the current directory, when run from - a subdirectory. - - - "git-checkout -m '@{8 hours ago}'" had a funny failure from - eval; fixed. - - - git-gui updates. - -* Documentation updates - -* User manual updates diff --git a/Documentation/RelNotes-1.5.0.5.txt b/Documentation/RelNotes-1.5.0.5.txt deleted file mode 100644 index eeec3d73d..000000000 --- a/Documentation/RelNotes-1.5.0.5.txt +++ /dev/null @@ -1,26 +0,0 @@ -GIT v1.5.0.5 Release Notes -========================== - -Fixes since v1.5.0.3 --------------------- - -* Bugfixes - - - git-merge (hence git-pull) did not refuse fast-forwarding - when the working tree had local changes that would have - conflicted with it. - - - git.el does not add duplicate sign-off lines. - - - git-commit shows the full stat of the resulting commit, not - just about the files in the current directory, when run from - a subdirectory. - - - "git-checkout -m '@{8 hours ago}'" had a funny failure from - eval; fixed. - - - git-gui updates. - -* Documentation updates - -* User manual updates diff --git a/Documentation/RelNotes-1.5.0.6.txt b/Documentation/RelNotes-1.5.0.6.txt deleted file mode 100644 index c02015ad5..000000000 --- a/Documentation/RelNotes-1.5.0.6.txt +++ /dev/null @@ -1,21 +0,0 @@ -GIT v1.5.0.6 Release Notes -========================== - -Fixes since v1.5.0.5 --------------------- - -* Bugfixes - - - a handful small fixes to gitweb. - - - build procedure for user-manual is fixed not to require locally - installed stylesheets. - - - "git commit $paths" on paths whose earlier contents were - already updated in the index were failing out. - -* Documentation - - - user-manual has better cross references. - - - gitweb installation/deployment procedure is now documented. diff --git a/Documentation/RelNotes-1.5.0.7.txt b/Documentation/RelNotes-1.5.0.7.txt deleted file mode 100644 index 670ad32b8..000000000 --- a/Documentation/RelNotes-1.5.0.7.txt +++ /dev/null @@ -1,18 +0,0 @@ -GIT v1.5.0.7 Release Notes -========================== - -Fixes since v1.5.0.6 --------------------- - -* Bugfixes - - - git-upload-pack failed to close unused pipe ends, resulting - in many zombies to hang around. - - - git-rerere was recording the contents of earlier hunks - duplicated in later hunks. This prevented resolving the same - conflict when performing the same merge the other way around. - -* Documentation - - - a few documentation fixes from Debian package maintainer. diff --git a/Documentation/RelNotes-1.5.0.txt b/Documentation/RelNotes-1.5.0.txt deleted file mode 100644 index daf4bdb0d..000000000 --- a/Documentation/RelNotes-1.5.0.txt +++ /dev/null @@ -1,469 +0,0 @@ -GIT v1.5.0 Release Notes -======================== - -Old news --------- - -This section is for people who are upgrading from ancient -versions of git. Although all of the changes in this section -happened before the current v1.4.4 release, they are summarized -here in the v1.5.0 release notes for people who skipped earlier -versions. - -As of git v1.5.0 there are some optional features that changes -the repository to allow data to be stored and transferred more -efficiently. These features are not enabled by default, as they -will make the repository unusable with older versions of git. -Specifically, the available options are: - - - There is a configuration variable core.legacyheaders that - changes the format of loose objects so that they are more - efficient to pack and to send out of the repository over git - native protocol, since v1.4.2. However, loose objects - written in the new format cannot be read by git older than - that version; people fetching from your repository using - older clients over dumb transports (e.g. http) using older - versions of git will also be affected. - - To let git use the new loose object format, you have to - set core.legacyheaders to false. - - - Since v1.4.3, configuration repack.usedeltabaseoffset allows - packfile to be created in more space efficient format, which - cannot be read by git older than that version. - - To let git use the new format for packfiles, you have to - set repack.usedeltabaseoffset to true. - -The above two new features are not enabled by default and you -have to explicitly ask for them, because they make repositories -unreadable by older versions of git, and in v1.5.0 we still do -not enable them by default for the same reason. We will change -this default probably 1 year after 1.4.2's release, when it is -reasonable to expect everybody to have new enough version of -git. - - - 'git pack-refs' appeared in v1.4.4; this command allows tags - to be accessed much more efficiently than the traditional - 'one-file-per-tag' format. Older git-native clients can - still fetch from a repository that packed and pruned refs - (the server side needs to run the up-to-date version of git), - but older dumb transports cannot. Packing of refs is done by - an explicit user action, either by use of "git pack-refs - --prune" command or by use of "git gc" command. - - - 'git -p' to paginate anything -- many commands do pagination - by default on a tty. Introduced between v1.4.1 and v1.4.2; - this may surprise old timers. - - - 'git archive' superseded 'git tar-tree' in v1.4.3; - - - 'git cvsserver' was new invention in v1.3.0; - - - 'git repo-config', 'git grep', 'git rebase' and 'gitk' were - seriously enhanced during v1.4.0 timeperiod. - - - 'gitweb' became part of git.git during v1.4.0 timeperiod and - seriously modified since then. - - - reflog is an v1.4.0 invention. This allows you to name a - revision that a branch used to be at (e.g. "git diff - master@{yesterday} master" allows you to see changes since - yesterday's tip of the branch). - - -Updates in v1.5.0 since v1.4.4 series -------------------------------------- - -* Index manipulation - - - git-add is to add contents to the index (aka "staging area" - for the next commit), whether the file the contents happen to - be is an existing one or a newly created one. - - - git-add without any argument does not add everything - anymore. Use 'git-add .' instead. Also you can add - otherwise ignored files with an -f option. - - - git-add tries to be more friendly to users by offering an - interactive mode ("git-add -i"). - - - git-commit used to refuse to commit if was - different between HEAD and the index (i.e. update-index was - used on it earlier). This check was removed. - - - git-rm is much saner and safer. It is used to remove paths - from both the index file and the working tree, and makes sure - you are not losing any local modification before doing so. - - - git-reset ... can be used to revert index - entries for selected paths. - - - git-update-index is much less visible. Many suggestions to - use the command in git output and documentation have now been - replaced by simpler commands such as "git add" or "git rm". - - -* Repository layout and objects transfer - - - The data for origin repository is stored in the configuration - file $GIT_DIR/config, not in $GIT_DIR/remotes/, for newly - created clones. The latter is still supported and there is - no need to convert your existing repository if you are - already comfortable with your workflow with the layout. - - - git-clone always uses what is known as "separate remote" - layout for a newly created repository with a working tree. - - A repository with the separate remote layout starts with only - one default branch, 'master', to be used for your own - development. Unlike the traditional layout that copied all - the upstream branches into your branch namespace (while - renaming their 'master' to your 'origin'), the new layout - puts upstream branches into local "remote-tracking branches" - with their own namespace. These can be referenced with names - such as "origin/$upstream_branch_name" and are stored in - .git/refs/remotes rather than .git/refs/heads where normal - branches are stored. - - This layout keeps your own branch namespace less cluttered, - avoids name collision with your upstream, makes it possible - to automatically track new branches created at the remote - after you clone from it, and makes it easier to interact with - more than one remote repository (you can use "git remote" to - add other repositories to track). There might be some - surprises: - - * 'git branch' does not show the remote tracking branches. - It only lists your own branches. Use '-r' option to view - the tracking branches. - - * If you are forking off of a branch obtained from the - upstream, you would have done something like 'git branch - my-next next', because traditional layout dropped the - tracking branch 'next' into your own branch namespace. - With the separate remote layout, you say 'git branch next - origin/next', which allows you to use the matching name - 'next' for your own branch. It also allows you to track a - remote other than 'origin' (i.e. where you initially cloned - from) and fork off of a branch from there the same way - (e.g. "git branch mingw j6t/master"). - - Repositories initialized with the traditional layout continue - to work. - - - New branches that appear on the origin side after a clone is - made are also tracked automatically. This is done with an - wildcard refspec "refs/heads/*:refs/remotes/origin/*", which - older git does not understand, so if you clone with 1.5.0, - you would need to downgrade remote.*.fetch in the - configuration file to specify each branch you are interested - in individually if you plan to fetch into the repository with - older versions of git (but why would you?). - - - Similarly, wildcard refspec "refs/heads/*:refs/remotes/me/*" - can be given to "git-push" command to update the tracking - branches that is used to track the repository you are pushing - from on the remote side. - - - git-branch and git-show-branch know remote tracking branches - (use the command line switch "-r" to list only tracked branches). - - - git-push can now be used to delete a remote branch or a tag. - This requires the updated git on the remote side (use "git - push :refs/heads/" to delete "branch"). - - - git-push more aggressively keeps the transferred objects - packed. Earlier we recommended to monitor amount of loose - objects and repack regularly, but you should repack when you - accumulated too many small packs this way as well. Updated - git-count-objects helps you with this. - - - git-fetch also more aggressively keeps the transferred objects - packed. This behavior of git-push and git-fetch can be - tweaked with a single configuration transfer.unpacklimit (but - usually there should not be any need for a user to tweak it). - - - A new command, git-remote, can help you manage your remote - tracking branch definitions. - - - You may need to specify explicit paths for upload-pack and/or - receive-pack due to your ssh daemon configuration on the - other end. This can now be done via remote.*.uploadpack and - remote.*.receivepack configuration. - - -* Bare repositories - - - Certain commands change their behavior in a bare repository - (i.e. a repository without associated working tree). We use - a fairly conservative heuristic (if $GIT_DIR is ".git", or - ends with "/.git", the repository is not bare) to decide if a - repository is bare, but "core.bare" configuration variable - can be used to override the heuristic when it misidentifies - your repository. - - - git-fetch used to complain updating the current branch but - this is now allowed for a bare repository. So is the use of - 'git-branch -f' to update the current branch. - - - Porcelain-ish commands that require a working tree refuses to - work in a bare repository. - - -* Reflog - - - Reflog records the history from the view point of the local - repository. In other words, regardless of the real history, - the reflog shows the history as seen by one particular - repository (this enables you to ask "what was the current - revision in _this_ repository, yesterday at 1pm?"). This - facility is enabled by default for repositories with working - trees, and can be accessed with the "branch@{time}" and - "branch@{Nth}" notation. - - - "git show-branch" learned showing the reflog data with the - new -g option. "git log" has -g option to view reflog - entries in a more verbose manner. - - - git-branch knows how to rename branches and moves existing - reflog data from the old branch to the new one. - - - In addition to the reflog support in v1.4.4 series, HEAD - reference maintains its own log. "HEAD@{5.minutes.ago}" - means the commit you were at 5 minutes ago, which takes - branch switching into account. If you want to know where the - tip of your current branch was at 5 minutes ago, you need to - explicitly say its name (e.g. "master@{5.minutes.ago}") or - omit the refname altogether i.e. "@{5.minutes.ago}". - - - The commits referred to by reflog entries are now protected - against pruning. The new command "git reflog expire" can be - used to truncate older reflog entries and entries that refer - to commits that have been pruned away previously with older - versions of git. - - Existing repositories that have been using reflog may get - complaints from fsck-objects and may not be able to run - git-repack, if you had run git-prune from older git; please - run "git reflog expire --stale-fix --all" first to remove - reflog entries that refer to commits that are no longer in - the repository when that happens. - - -* Crufts removal - - - We used to say "old commits are retrievable using reflog and - 'master@{yesterday}' syntax as long as you haven't run - git-prune". We no longer have to say the latter half of the - above sentence, as git-prune does not remove things reachable - from reflog entries. - - - There is a toplevel garbage collector script, 'git-gc', that - runs periodic cleanup functions, including 'git-repack -a -d', - 'git-reflog expire', 'git-pack-refs --prune', and 'git-rerere - gc'. - - - The output from fsck ("fsck-objects" is called just "fsck" - now, but the old name continues to work) was needlessly - alarming in that it warned missing objects that are reachable - only from dangling objects. This has been corrected and the - output is much more useful. - - -* Detached HEAD - - - You can use 'git-checkout' to check out an arbitrary revision - or a tag as well, instead of named branches. This will - dissociate your HEAD from the branch you are currently on. - - A typical use of this feature is to "look around". E.g. - - $ git checkout v2.6.16 - ... compile, test, etc. - $ git checkout v2.6.17 - ... compile, test, etc. - - - After detaching your HEAD, you can go back to an existing - branch with usual "git checkout $branch". Also you can - start a new branch using "git checkout -b $newbranch" to - start a new branch at that commit. - - - You can even pull from other repositories, make merges and - commits while your HEAD is detached. Also you can use "git - reset" to jump to arbitrary commit, while still keeping your - HEAD detached. - - Remember that a detached state is volatile, i.e. it will be forgotten - as soon as you move away from it with the checkout or reset command, - unless a branch is created from it as mentioned above. It is also - possible to rescue a lost detached state from the HEAD reflog. - - -* Packed refs - - - Repositories with hundreds of tags have been paying large - overhead, both in storage and in runtime, due to the - traditional one-ref-per-file format. A new command, - git-pack-refs, can be used to "pack" them in more efficient - representation (you can let git-gc do this for you). - - - Clones and fetches over dumb transports are now aware of - packed refs and can download from repositories that use - them. - - -* Configuration - - - configuration related to color setting are consolidated under - color.* namespace (older diff.color.*, status.color.* are - still supported). - - - 'git-repo-config' command is accessible as 'git-config' now. - - -* Updated features - - - git-describe uses better criteria to pick a base ref. It - used to pick the one with the newest timestamp, but now it - picks the one that is topologically the closest (that is, - among ancestors of commit C, the ref T that has the shortest - output from "git-rev-list T..C" is chosen). - - - git-describe gives the number of commits since the base ref - between the refname and the hash suffix. E.g. the commit one - before v2.6.20-rc6 in the kernel repository is: - - v2.6.20-rc5-306-ga21b069 - - which tells you that its object name begins with a21b069, - v2.6.20-rc5 is an ancestor of it (meaning, the commit - contains everything -rc5 has), and there are 306 commits - since v2.6.20-rc5. - - - git-describe with --abbrev=0 can be used to show only the - name of the base ref. - - - git-blame learned a new option, --incremental, that tells it - to output the blames as they are assigned. A sample script - to use it is also included as contrib/blameview. - - - git-blame starts annotating from the working tree by default. - - -* Less external dependency - - - We no longer require the "merge" program from the RCS suite. - All 3-way file-level merges are now done internally. - - - The original implementation of git-merge-recursive which was - in Python has been removed; we have a C implementation of it - now. - - - git-shortlog is no longer a Perl script. It no longer - requires output piped from git-log; it can accept revision - parameters directly on the command line. - - -* I18n - - - We have always encouraged the commit message to be encoded in - UTF-8, but the users are allowed to use legacy encoding as - appropriate for their projects. This will continue to be the - case. However, a non UTF-8 commit encoding _must_ be - explicitly set with i18n.commitencoding in the repository - where a commit is made; otherwise git-commit-tree will - complain if the log message does not look like a valid UTF-8 - string. - - - The value of i18n.commitencoding in the originating - repository is recorded in the commit object on the "encoding" - header, if it is not UTF-8. git-log and friends notice this, - and reencodes the message to the log output encoding when - displaying, if they are different. The log output encoding - is determined by "git log --encoding=", - i18n.logoutputencoding configuration, or i18n.commitencoding - configuration, in the decreasing order of preference, and - defaults to UTF-8. - - - Tools for e-mailed patch application now default to -u - behavior; i.e. it always re-codes from the e-mailed encoding - to the encoding specified with i18n.commitencoding. This - unfortunately forces projects that have happily been using a - legacy encoding without setting i18n.commitencoding to set - the configuration, but taken with other improvement, please - excuse us for this very minor one-time inconvenience. - - -* e-mailed patches - - - See the above I18n section. - - - git-format-patch now enables --binary without being asked. - git-am does _not_ default to it, as sending binary patch via - e-mail is unusual and is harder to review than textual - patches and it is prudent to require the person who is - applying the patch to explicitly ask for it. - - - The default suffix for git-format-patch output is now ".patch", - not ".txt". This can be changed with --suffix=.txt option, - or setting the config variable "format.suffix" to ".txt". - - -* Foreign SCM interfaces - - - git-svn now requires the Perl SVN:: libraries, the - command-line backend was too slow and limited. - - - the 'commit' subcommand of git-svn has been renamed to - 'set-tree', and 'dcommit' is the recommended replacement for - day-to-day work. - - - git fast-import backend. - - -* User support - - - Quite a lot of documentation updates. - - - Bash completion scripts have been updated heavily. - - - Better error messages for often used Porcelainish commands. - - - Git GUI. This is a simple Tk based graphical interface for - common Git operations. - - -* Sliding mmap - - - We used to assume that we can mmap the whole packfile while - in use, but with a large project this consumes huge virtual - memory space and truly huge ones would not fit in the - userland address space on 32-bit platforms. We now mmap huge - packfile in pieces to avoid this problem. - - -* Shallow clones - - - There is a partial support for 'shallow' repositories that - keeps only recent history. A 'shallow clone' is created by - specifying how deep that truncated history should be - (e.g. "git clone --depth 5 git://some.where/repo.git"). - - Currently a shallow repository has number of limitations: - - - Cloning and fetching _from_ a shallow clone are not - supported (nor tested -- so they might work by accident but - they are not expected to). - - - Pushing from nor into a shallow clone are not expected to - work. - - - Merging inside a shallow repository would work as long as a - merge base is found in the recent history, but otherwise it - will be like merging unrelated histories and may result in - huge conflicts. - - but this would be more than adequate for people who want to - look at near the tip of a big project with a deep history and - send patches in e-mail format. diff --git a/Documentation/RelNotes-1.5.1.1.txt b/Documentation/RelNotes-1.5.1.1.txt deleted file mode 100644 index 91471213b..000000000 --- a/Documentation/RelNotes-1.5.1.1.txt +++ /dev/null @@ -1,65 +0,0 @@ -GIT v1.5.1.1 Release Notes -========================== - -Fixes since v1.5.1 ------------------- - -* Documentation updates - - - The --left-right option of rev-list and friends is documented. - - - The documentation for cvsimport has been majorly improved. - - - "git-show-ref --exclude-existing" was documented. - -* Bugfixes - - - The implementation of -p option in "git cvsexportcommit" had - the meaning of -C (context reduction) option wrong, and - loosened the context requirements when it was told to be - strict. - - - "git cvsserver" did not behave like the real cvsserver when - client side removed a file from the working tree without - doing anything else on the path. In such a case, it should - restore it from the checked out revision. - - - "git fsck" issued an alarming error message on detached - HEAD. It is not an error since at least 1.5.0. - - - "git send-email" produced of References header of unbounded length; - fixed this with line-folding. - - - "git archive" to download from remote site should not - require you to be in a git repository, but it incorrectly - did. - - - "git apply" ignored -p for "diff --git" formatted - patches. - - - "git rerere" recorded a conflict that had one side empty - (the other side adds) incorrectly; this made merging in the - other direction fail to use previously recorded resolution. - - - t4200 test was broken where "wc -l" pads its output with - spaces. - - - "git branch -m old new" to rename branch did not work - without a configuration file in ".git/config". - - - The sample hook for notification e-mail was misnamed. - - - gitweb did not show type-changing patch correctly in the - blobdiff view. - - - git-svn did not error out with incorrect command line options. - - - git-svn fell into an infinite loop when insanely long commit - message was found. - - - git-svn dcommit and rebase was confused by patches that were - merged from another branch that is managed by git-svn. - - - git-svn used to get confused when globbing remote branch/tag - spec (e.g. "branches = proj/branches/*:refs/remotes/origin/*") - is used and there was a plain file that matched the glob. diff --git a/Documentation/RelNotes-1.5.1.2.txt b/Documentation/RelNotes-1.5.1.2.txt deleted file mode 100644 index d88456306..000000000 --- a/Documentation/RelNotes-1.5.1.2.txt +++ /dev/null @@ -1,50 +0,0 @@ -GIT v1.5.1.2 Release Notes -========================== - -Fixes since v1.5.1.1 --------------------- - -* Bugfixes - - - "git clone" over http from a repository that has lost the - loose refs by running "git pack-refs" were broken (a code to - deal with this was added to "git fetch" in v1.5.0, but it - was missing from "git clone"). - - - "git diff a/ b/" incorrectly fell in "diff between two - filesystem objects" codepath, when the user most likely - wanted to limit the extent of output to two tracked - directories. - - - git-quiltimport had the same bug as we fixed for - git-applymbox in v1.5.1.1 -- it gave an alarming "did not - have any patch" message (but did not actually fail and was - harmless). - - - various git-svn fixes. - - - Sample update hook incorrectly always refused requests to - delete branches through push. - - - git-blame on a very long working tree path had buffer - overrun problem. - - - git-apply did not like to be fed two patches in a row that created - and then modified the same file. - - - git-svn was confused when a non-project was stored directly under - trunk/, branches/ and tags/. - - - git-svn wants the Error.pm module that was at least as new - as what we ship as part of git; install ours in our private - installation location if the one on the system is older. - - - An earlier update to command line integer parameter parser was - botched and made 'update-index --cacheinfo' completely useless. - - -* Documentation updates - - - Various documentation updates from J. Bruce Fields, Frank - Lichtenheld, Alex Riesen and others. Andrew Ruder started a - war on undocumented options. diff --git a/Documentation/RelNotes-1.5.1.3.txt b/Documentation/RelNotes-1.5.1.3.txt deleted file mode 100644 index 876408b65..000000000 --- a/Documentation/RelNotes-1.5.1.3.txt +++ /dev/null @@ -1,45 +0,0 @@ -GIT v1.5.1.3 Release Notes -========================== - -Fixes since v1.5.1.2 --------------------- - -* Bugfixes - - - git-add tried to optimize by finding common leading - directories across its arguments but botched, causing very - confused behaviour. - - - unofficial rpm.spec file shipped with git was letting - ETC_GITCONFIG set to /usr/etc/gitconfig. Tweak the official - Makefile to make it harder for distro people to make the - same mistake, by setting the variable to /etc/gitconfig if - prefix is set to /usr. - - - git-svn inconsistently stripped away username from the URL - only when svnsync_props was in use. - - - git-svn got confused when handling symlinks on Mac OS. - - - git-send-email was not quoting recipient names that have - period '.' in them. Also it did not allow overriding - envelope sender, which made it impossible to send patches to - certain subscriber-only lists. - - - built-in write_tree() routine had a sequence that renamed a - file that is still open, which some systems did not like. - - - when memory is very tight, sliding mmap code to read - packfiles incorrectly closed the fd that was still being - used to read the pack. - - - import-tars contributed front-end for fastimport was passing - wrong directory modes without checking. - - - git-fastimport trusted its input too much and allowed to - create corrupt tree objects with entries without a name. - - - git-fetch needlessly barfed when too long reflog action - description was given by the caller. - -Also contains various documentation updates. diff --git a/Documentation/RelNotes-1.5.1.4.txt b/Documentation/RelNotes-1.5.1.4.txt deleted file mode 100644 index df2f66ccb..000000000 --- a/Documentation/RelNotes-1.5.1.4.txt +++ /dev/null @@ -1,30 +0,0 @@ -GIT v1.5.1.4 Release Notes -========================== - -Fixes since v1.5.1.3 --------------------- - -* Bugfixes - - - "git-http-fetch" did not work around a bug in libcurl - earlier than 7.16 (curl_multi_remove_handle() was broken). - - - "git cvsserver" handles a file that was once removed and - then added again correctly. - - - import-tars script (in contrib/) handles GNU tar archives - that contain pathnames longer than 100 bytes (long-link - extension) correctly. - - - xdelta test program did not build correctly. - - - gitweb sometimes tried incorrectly to apply function to - decode utf8 twice, resulting in corrupt output. - - - "git blame -C" mishandled text at the end of a group of - lines. - - - "git log/rev-list --boundary" did not produce output - correctly without --left-right option. - - - Many documentation updates. diff --git a/Documentation/RelNotes-1.5.1.5.txt b/Documentation/RelNotes-1.5.1.5.txt deleted file mode 100644 index b0ab8eb37..000000000 --- a/Documentation/RelNotes-1.5.1.5.txt +++ /dev/null @@ -1,42 +0,0 @@ -GIT v1.5.1.5 Release Notes -========================== - -Fixes since v1.5.1.4 --------------------- - -* Bugfixes - - - git-send-email did not understand aliases file for mutt, which - allows leading whitespaces. - - - git-format-patch emitted Content-Type and Content-Transfer-Encoding - headers for non ASCII contents, but failed to add MIME-Version. - - - git-name-rev had a buffer overrun with a deep history. - - - contributed script import-tars did not get the directory in - tar archives interpreted correctly. - - - git-svn was reported to segfault for many people on list and - #git; hopefully this has been fixed. - - - "git-svn clone" does not try to minimize the URL - (i.e. connect to higher level hierarchy) by default, as this - can prevent clone to fail if only part of the repository - (e.g. 'trunk') is open to public. - - - "git checkout branch^0" did not detach the head when you are - already on 'branch'; backported the fix from the 'master'. - - - "git-config section.var" did not correctly work when - existing configuration file had both [section] and [section "name"] - next to each other. - - - "git clone ../other-directory" was fooled if the current - directory $PWD points at is a symbolic link. - - - (build) tree_entry_extract() function was both static inline - and extern, which caused trouble compiling with Forte12 - compilers on Sun. - - - Many many documentation fixes and updates. diff --git a/Documentation/RelNotes-1.5.1.6.txt b/Documentation/RelNotes-1.5.1.6.txt deleted file mode 100644 index 55f3ac13e..000000000 --- a/Documentation/RelNotes-1.5.1.6.txt +++ /dev/null @@ -1,45 +0,0 @@ -GIT v1.5.1.6 Release Notes -========================== - -Fixes since v1.5.1.4 --------------------- - -* Bugfixes - - - git-send-email did not understand aliases file for mutt, which - allows leading whitespaces. - - - git-format-patch emitted Content-Type and Content-Transfer-Encoding - headers for non ASCII contents, but failed to add MIME-Version. - - - git-name-rev had a buffer overrun with a deep history. - - - contributed script import-tars did not get the directory in - tar archives interpreted correctly. - - - git-svn was reported to segfault for many people on list and - #git; hopefully this has been fixed. - - - git-svn also had a bug to crash svnserve by sending a bad - sequence of requests. - - - "git-svn clone" does not try to minimize the URL - (i.e. connect to higher level hierarchy) by default, as this - can prevent clone to fail if only part of the repository - (e.g. 'trunk') is open to public. - - - "git checkout branch^0" did not detach the head when you are - already on 'branch'; backported the fix from the 'master'. - - - "git-config section.var" did not correctly work when - existing configuration file had both [section] and [section "name"] - next to each other. - - - "git clone ../other-directory" was fooled if the current - directory $PWD points at is a symbolic link. - - - (build) tree_entry_extract() function was both static inline - and extern, which caused trouble compiling with Forte12 - compilers on Sun. - - - Many many documentation fixes and updates. diff --git a/Documentation/RelNotes-1.5.1.txt b/Documentation/RelNotes-1.5.1.txt deleted file mode 100644 index daed36727..000000000 --- a/Documentation/RelNotes-1.5.1.txt +++ /dev/null @@ -1,371 +0,0 @@ -GIT v1.5.1 Release Notes -======================== - -Updates since v1.5.0 --------------------- - -* Deprecated commands and options. - - - git-diff-stages and git-resolve have been removed. - -* New commands and options. - - - "git log" and friends take --reverse, which instructs them - to give their output in the order opposite from their usual. - They typically output from new to old, but with this option - their output would read from old to new. "git shortlog" - usually lists older commits first, but with this option, - they are shown from new to old. - - - "git log --pretty=format:" to allow more flexible - custom log output. - - - "git diff" learned --ignore-space-at-eol. This is a weaker - form of --ignore-space-change. - - - "git diff --no-index pathA pathB" can be used as diff - replacement with git specific enhancements. - - - "git diff --no-index" can read from '-' (standard input). - - - "git diff" also learned --exit-code to exit with non-zero - status when it found differences. In the future we might - want to make this the default but that would be a rather big - backward incompatible change; it will stay as an option for - now. - - - "git diff --quiet" is --exit-code with output turned off, - meant for scripted use to quickly determine if there is any - tree-level difference. - - - Textual patch generation with "git diff" without -w/-b - option has been significantly optimized. "git blame" got - faster because of the same change. - - - "git log" and "git rev-list" has been optimized - significantly when they are used with pathspecs. - - - "git branch --track" can be used to set up configuration - variables to help it easier to base your work on branches - you track from a remote site. - - - "git format-patch --attach" now emits attachments. Use - --inline to get an inlined multipart/mixed. - - - "git name-rev" learned --refs=, to limit the tags - used for naming the given revisions only to the ones - matching the given pattern. - - - "git remote update" is to run "git fetch" for defined remotes - to update tracking branches. - - - "git cvsimport" can now take '-d' to talk with a CVS - repository different from what are recorded in CVS/Root - (overriding it with environment CVSROOT does not work). - - - "git bundle" can help sneaker-netting your changes between - repositories. - - - "git mergetool" can help 3-way file-level conflict - resolution with your favorite graphical merge tools. - - - A new configuration "core.symlinks" can be used to disable - symlinks on filesystems that do not support them; they are - checked out as regular files instead. - - - You can name a commit object with its first line of the - message. The syntax to use is ':/message text'. E.g. - - $ git show ":/object name: introduce ':/' notation" - - means the same thing as: - - $ git show 28a4d940443806412effa246ecc7768a21553ec7 - - - "git bisect" learned a new command "run" that takes a script - to run after each revision is checked out to determine if it - is good or bad, to automate the bisection process. - - - "git log" family learned a new traversal option --first-parent, - which does what the name suggests. - - -* Updated behavior of existing commands. - - - "git-merge-recursive" used to barf when there are more than - one common ancestors for the merge, and merging them had a - rename/rename conflict. This has been fixed. - - - "git fsck" does not barf on corrupt loose objects. - - - "git rm" does not remove newly added files without -f. - - - "git archimport" allows remapping when coming up with git - branch names from arch names. - - - git-svn got almost a rewrite. - - - core.autocrlf configuration, when set to 'true', makes git - to convert CRLF at the end of lines in text files to LF when - reading from the filesystem, and convert in reverse when - writing to the filesystem. The variable can be set to - 'input', in which case the conversion happens only while - reading from the filesystem but files are written out with - LF at the end of lines. Currently, which paths to consider - 'text' (i.e. be subjected to the autocrlf mechanism) is - decided purely based on the contents, but the plan is to - allow users to explicitly override this heuristic based on - paths. - - - The behavior of 'git-apply', when run in a subdirectory, - without --index nor --cached were inconsistent with that of - the command with these options. This was fixed to match the - behavior with --index. A patch that is meant to be applied - with -p1 from the toplevel of the project tree can be - applied with any custom -p option. A patch that is not - relative to the toplevel needs to be applied with -p - option with or without --index (or --cached). - - - "git diff" outputs a trailing HT when pathnames have embedded - SP on +++/--- header lines, in order to help "GNU patch" to - parse its output. "git apply" was already updated to accept - this modified output format since ce74618d (Sep 22, 2006). - - - "git cvsserver" runs hooks/update and honors its exit status. - - - "git cvsserver" can be told to send everything with -kb. - - - "git diff --check" also honors the --color output option. - - - "git name-rev" used to stress the fact that a ref is a tag too - much, by saying something like "v1.2.3^0~22". It now says - "v1.2.3~22" in such a case (it still says "v1.2.3^0" if it does - not talk about an ancestor of the commit that is tagged, which - makes sense). - - - "git rev-list --boundary" now shows boundary markers for the - commits omitted by --max-age and --max-count condition. - - - The configuration mechanism now reads $(prefix)/etc/gitconfig. - - - "git apply --verbose" shows what preimage lines were wanted - when it couldn't find them. - - - "git status" in a read-only repository got a bit saner. - - - "git fetch" (hence "git clone" and "git pull") are less - noisy when the output does not go to tty. - - - "git fetch" between repositories with many refs were slow - even when there are not many changes that needed - transferring. This has been sped up by partially rewriting - the heaviest parts in C. - - - "git mailinfo" which splits an e-mail into a patch and the - meta-information was rewritten, thanks to Don Zickus. It - handles nested multipart better. The command was broken for - a brief period on 'master' branch since 1.5.0 but the - breakage is fixed now. - - - send-email learned configurable bcc and chain-reply-to. - - - "git remote show $remote" also talks about branches that - would be pushed if you run "git push remote". - - - Using objects from packs is now seriously optimized by clever - use of a cache. This should be most noticeable in git-log - family of commands that involve reading many tree objects. - In addition, traversing revisions while filtering changes - with pathspecs is made faster by terminating the comparison - between the trees as early as possible. - - -* Hooks - - - The part to send out notification e-mails was removed from - the sample update hook, as it was not an appropriate place - to do so. The proper place to do this is the new post-receive - hook. An example hook has been added to contrib/hooks/. - - -* Others - - - git-revert, git-gc and git-cherry-pick are now built-ins. - -Fixes since v1.5.0 ------------------- - -These are all in v1.5.0.x series. - -* Documentation updates - - - Clarifications and corrections to 1.5.0 release notes. - - - The main documentation did not link to git-remote documentation. - - - Clarified introductory text of git-rebase documentation. - - - Converted remaining mentions of update-index on Porcelain - documents to git-add/git-rm. - - - Some i18n.* configuration variables were incorrectly - described as core.*; fixed. - - - added and clarified core.bare, core.legacyheaders configurations. - - - updated "git-clone --depth" documentation. - - - user-manual updates. - - - Options to 'git remote add' were described insufficiently. - - - Configuration format.suffix was not documented. - - - Other formatting and spelling fixes. - - - user-manual has better cross references. - - - gitweb installation/deployment procedure is now documented. - - -* Bugfixes - - - git-upload-pack closes unused pipe ends; earlier this caused - many zombies to hang around. - - - git-rerere was recording the contents of earlier hunks - duplicated in later hunks. This prevented resolving the same - conflict when performing the same merge the other way around. - - - git-add and git-update-index on a filesystem on which - executable bits are unreliable incorrectly reused st_mode - bits even when the path changed between symlink and regular - file. - - - git-daemon marks the listening sockets with FD_CLOEXEC so - that it won't be leaked into the children. - - - segfault from git-blame when the mandatory pathname - parameter was missing was fixed; usage() message is given - instead. - - - git-rev-list did not read $GIT_DIR/config file, which means - that did not honor i18n.logoutputencoding correctly. - - - Automated merge conflict handling when changes to symbolic - links conflicted were completely broken. The merge-resolve - strategy created a regular file with conflict markers in it - in place of the symbolic link. The default strategy, - merge-recursive was even more broken. It removed the path - that was pointed at by the symbolic link. Both of these - problems have been fixed. - - - 'git diff maint master next' did not correctly give combined - diff across three trees. - - - 'git fast-import' portability fix for Solaris. - - - 'git show-ref --verify' without arguments did not error out - but segfaulted. - - - 'git diff :tracked-file `pwd`/an-untracked-file' gave an extra - slashes after a/ and b/. - - - 'git format-patch' produced too long filenames if the commit - message had too long line at the beginning. - - - Running 'make all' and then without changing anything - running 'make install' still rebuilt some files. This - was inconvenient when building as yourself and then - installing as root (especially problematic when the source - directory is on NFS and root is mapped to nobody). - - - 'git-rerere' failed to deal with two unconflicted paths that - sorted next to each other. - - - 'git-rerere' attempted to open(2) a symlink and failed if - there was a conflict. Since a conflicting change to a - symlink would not benefit from rerere anyway, the command - now ignores conflicting changes to symlinks. - - - 'git-repack' did not like to pass more than 64 arguments - internally to underlying 'rev-list' logic, which made it - impossible to repack after accumulating many (small) packs - in the repository. - - - 'git-diff' to review the combined diff during a conflicted - merge were not reading the working tree version correctly - when changes to a symbolic link conflicted. It should have - read the data using readlink(2) but read from the regular - file the symbolic link pointed at. - - - 'git-remote' did not like period in a remote's name. - - - 'git.el' honors the commit coding system from the configuration. - - - 'blameview' in contrib/ correctly digs deeper when a line is - clicked. - - - 'http-push' correctly makes sure the remote side has leading - path. Earlier it started in the middle of the path, and - incorrectly. - - - 'git-merge' did not exit with non-zero status when the - working tree was dirty and cannot fast forward. It does - now. - - - 'cvsexportcommit' does not lose yet-to-be-used message file. - - - int-vs-size_t typefix when running combined diff on files - over 2GB long. - - - 'git apply --whitespace=strip' should not touch unmodified - lines. - - - 'git-mailinfo' choke when a logical header line was too long. - - - 'git show A..B' did not error out. Negative ref ("not A" in - this example) does not make sense for the purpose of the - command, so now it errors out. - - - 'git fmt-merge-msg --file' without file parameter did not - correctly error out. - - - 'git archimport' barfed upon encountering a commit without - summary. - - - 'git index-pack' did not protect itself from getting a short - read out of pread(2). - - - 'git http-push' had a few buffer overruns. - - - Build dependency fixes to rebuild fetch.o when other headers - change. - - - git.el does not add duplicate sign-off lines. - - - git-commit shows the full stat of the resulting commit, not - just about the files in the current directory, when run from - a subdirectory. - - - "git-checkout -m '@{8 hours ago}'" had a funny failure from - eval; fixed. - - - git-merge (hence git-pull) did not refuse fast-forwarding - when the working tree had local changes that would have - conflicted with it. - - - a handful small fixes to gitweb. - - - build procedure for user-manual is fixed not to require locally - installed stylesheets. - - - "git commit $paths" on paths whose earlier contents were - already updated in the index were failing out. - - -* Tweaks - - - sliding mmap() inefficiently mmaped the same region of a - packfile with an access pattern that used objects in the - reverse order. This has been made more efficient. diff --git a/Documentation/RelNotes-1.5.2.1.txt b/Documentation/RelNotes-1.5.2.1.txt deleted file mode 100644 index ebf20e22a..000000000 --- a/Documentation/RelNotes-1.5.2.1.txt +++ /dev/null @@ -1,53 +0,0 @@ -GIT v1.5.2.1 Release Notes -========================== - -Fixes since v1.5.2 ------------------- - -* Bugfixes - - - Temporary files that are used when invoking external diff - programs did not tolerate a long TMPDIR. - - - git-daemon did not notice when it could not write into its - pid file. - - - git-status did not honor core.excludesFile configuration like - git-add did. - - - git-annotate did not work from a subdirectory while - git-blame did. - - - git-cvsserver should have disabled access to a repository - with "gitcvs.pserver.enabled = false" set even when - "gitcvs.enabled = true" was set at the same time. It - didn't. - - - git-cvsimport did not work correctly in a repository with - its branch heads were packed with pack-refs. - - - ident unexpansion to squash "$Id: xxx $" that is in the - repository copy removed incorrect number of bytes. - - - git-svn misbehaved when the subversion repository did not - provide MD5 checksums for files. - - - git rebase (and git am) misbehaved on commits that have '\n' - (literally backslash and en, not a linefeed) in the title. - - - code to decode base85 used in binary patches had one error - return codepath wrong. - - - RFC2047 Q encoding output by git-format-patch used '_' for a - space, which is not understood by some programs. It uses =20 - which is safer. - - - git-fastimport --import-marks was broken; fixed. - - - A lot of documentation updates, clarifications and fixes. - --- -exec >/var/tmp/1 -O=v1.5.2-65-g996e2d6 -echo O=`git describe refs/heads/maint` -git shortlog --no-merges $O..refs/heads/maint diff --git a/Documentation/RelNotes-1.5.2.2.txt b/Documentation/RelNotes-1.5.2.2.txt deleted file mode 100644 index 7bfa34175..000000000 --- a/Documentation/RelNotes-1.5.2.2.txt +++ /dev/null @@ -1,61 +0,0 @@ -GIT v1.5.2.2 Release Notes -========================== - -Fixes since v1.5.2.1 --------------------- - -* Usability fix - - - git-gui is shipped with its updated blame interface. It is - rumored that the older one was not just unusable but was - active health hazard, but this one is actually pretty. - Please see for yourself. - -* Bugfixes - - - "git checkout fubar" was utterly confused when there is a - branch fubar and a tag fubar at the same time. It correctly - checks out the branch fubar now. - - - "git clone /path/foo" to clone a local /path/foo.git - repository left an incorrect configuration. - - - "git send-email" correctly unquotes RFC 2047 quoted names in - the patch-email before using their values. - - - We did not accept number of seconds since epoch older than - year 2000 as a valid timestamp. We now interpret positive - integers more than 8 digits as such, which allows us to - express timestamps more recent than March 1973. - - - git-cvsimport did not work when you have GIT_DIR to point - your repository at a nonstandard location. - - - Some systems (notably, Solaris) lack hstrerror() to make - h_errno human readable; prepare a replacement - implementation. - - - .gitignore file listed git-core.spec but what we generate is - git.spec, and nobody noticed for a long time. - - - "git-merge-recursive" does not try to run file level merge - on binary files. - - - "git-branch --track" did not create tracking configuration - correctly when the branch name had slash in it. - - - The email address of the user specified with user.email - configuration was overridden by EMAIL environment variable. - - - The tree parser did not warn about tree entries with - nonsense file modes, and assumed they must be blobs. - - - "git log -z" without any other request to generate diff still - invoked the diff machinery, wasting cycles. - -* Documentation - - - Many updates to fix stale or missing documentation. - - - Although our documentation was primarily meant to be formatted - with AsciiDoc7, formatting with AsciiDoc8 is supported better. diff --git a/Documentation/RelNotes-1.5.2.3.txt b/Documentation/RelNotes-1.5.2.3.txt deleted file mode 100644 index addb22955..000000000 --- a/Documentation/RelNotes-1.5.2.3.txt +++ /dev/null @@ -1,27 +0,0 @@ -GIT v1.5.2.3 Release Notes -========================== - -Fixes since v1.5.2.2 --------------------- - - * Bugfixes - - - Version 2 pack index format was introduced in version 1.5.2 - to support pack files that has offset that cannot be - represented in 32-bit. The runtime code to validate such - an index mishandled such an index for an empty pack. - - - Commit walkers (most notably, fetch over http protocol) - tried to traverse commit objects contained in trees (aka - subproject); they shouldn't. - - - A build option NO_R_TO_GCC_LINKER was not explained in Makefile - comment correctly. - - * Documentation Fixes and Updates - - - git-config --regexp was not documented properly. - - - git-repack -a was not documented properly. - - - git-remote -n was not documented properly. diff --git a/Documentation/RelNotes-1.5.2.4.txt b/Documentation/RelNotes-1.5.2.4.txt deleted file mode 100644 index 75cff475f..000000000 --- a/Documentation/RelNotes-1.5.2.4.txt +++ /dev/null @@ -1,28 +0,0 @@ -GIT v1.5.2.4 Release Notes -========================== - -Fixes since v1.5.2.3 --------------------- - - * Bugfixes - - - "git-gui" bugfixes, including a handful fixes to run it - better on Cygwin/MSYS. - - - "git checkout" failed to switch back and forth between - branches, one of which has "frotz -> xyzzy" symlink and - file "xyzzy/filfre", while the other one has a file - "frotz/filfre". - - - "git prune" used to segfault upon seeing a commit that is - referred to by a tree object (aka "subproject"). - - - "git diff --name-status --no-index" mishandled an added file. - - - "git apply --reverse --whitespace=warn" still complained - about whitespaces that a forward application would have - introduced. - - * Documentation Fixes and Updates - - - A handful documentation updates. diff --git a/Documentation/RelNotes-1.5.2.5.txt b/Documentation/RelNotes-1.5.2.5.txt deleted file mode 100644 index e8281c72a..000000000 --- a/Documentation/RelNotes-1.5.2.5.txt +++ /dev/null @@ -1,30 +0,0 @@ -GIT v1.5.2.5 Release Notes -========================== - -Fixes since v1.5.2.4 --------------------- - - * Bugfixes - - - "git add -u" had a serious data corruption problem in one - special case (when the changes to a subdirectory's files - consist only deletion of files). - - - "git add -u " did not work from a subdirectory. - - - "git apply" left an empty directory after all its files are - renamed away. - - - "git $anycmd foo/bar", when there is a file 'foo' in the - working tree, complained that "git $anycmd foo/bar --" form - should be used to disambiguate between revs and files, - which was completely bogus. - - - "git checkout-index" and other commands that checks out - files to the work tree tried unlink(2) on directories, - which is a sane thing to do on sane systems, but not on - Solaris when you are root. - - * Documentation Fixes and Updates - - - A handful documentation fixes. diff --git a/Documentation/RelNotes-1.5.2.txt b/Documentation/RelNotes-1.5.2.txt deleted file mode 100644 index e8328d090..000000000 --- a/Documentation/RelNotes-1.5.2.txt +++ /dev/null @@ -1,197 +0,0 @@ -GIT v1.5.2 Release Notes -======================== - -Updates since v1.5.1 --------------------- - -* Plumbing level superproject support. - - You can include a subdirectory that has an independent git - repository in your index and tree objects of your project - ("superproject"). This plumbing (i.e. "core") level - superproject support explicitly excludes recursive behaviour. - - The "subproject" entries in the index and trees of a superproject - are incompatible with older versions of git. Experimenting with - the plumbing level support is encouraged, but be warned that - unless everybody in your project updates to this release or - later, using this feature would make your project - inaccessible by people with older versions of git. - -* Plumbing level gitattributes support. - - The gitattributes mechanism allows you to add 'attributes' to - paths in your project, and affect the way certain git - operations work. Currently you can influence if a path is - considered a binary or text (the former would be treated by - 'git diff' not to produce textual output; the latter can go - through the line endings conversion process in repositories - with core.autocrlf set), expand and unexpand '$Id$' keyword - with blob object name, specify a custom 3-way merge driver, - and specify a custom diff driver. You can also apply - arbitrary filter to contents on check-in/check-out codepath - but this feature is an extremely sharp-edged razor and needs - to be handled with caution (do not use it unless you - understand the earlier mailing list discussion on keyword - expansion). These conversions apply when checking files in - or out, and exporting via git-archive. - -* The packfile format now optionally supports 64-bit index. - - This release supports the "version 2" format of the .idx - file. This is automatically enabled when a huge packfile - needs more than 32-bit to express offsets of objects in the - pack. - -* Comes with an updated git-gui 0.7.1 - -* Updated gitweb: - - - can show combined diff for merges; - - uses font size of user's preference, not hardcoded in pixels; - - can now 'grep'; - -* New commands and options. - - - "git bisect start" can optionally take a single bad commit and - zero or more good commits on the command line. - - - "git shortlog" can optionally be told to wrap its output. - - - "subtree" merge strategy allows another project to be merged in as - your subdirectory. - - - "git format-patch" learned a new --subject-prefix= - option, to override the built-in "[PATCH]". - - - "git add -u" is a quick way to do the first stage of "git - commit -a" (i.e. update the index to match the working - tree); it obviously does not make a commit. - - - "git clean" honors a new configuration, "clean.requireforce". When - set to true, this makes "git clean" a no-op, preventing you - from losing files by typing "git clean" when you meant to - say "make clean". You can still say "git clean -f" to - override this. - - - "git log" family of commands learned --date={local,relative,default} - option. --date=relative is synonym to the --relative-date. - --date=local gives the timestamp in local timezone. - -* Updated behavior of existing commands. - - - When $GIT_COMMITTER_EMAIL or $GIT_AUTHOR_EMAIL is not set - but $EMAIL is set, the latter is used as a substitute. - - - "git diff --stat" shows size of preimage and postimage blobs - for binary contents. Earlier it only said "Bin". - - - "git lost-found" shows stuff that are unreachable except - from reflogs. - - - "git checkout branch^0" now detaches HEAD at the tip commit - on the named branch, instead of just switching to the - branch (use "git checkout branch" to switch to the branch, - as before). - - - "git bisect next" can be used after giving only a bad commit - without giving a good one (this starts bisection half-way to - the root commit). We used to refuse to operate without a - good and a bad commit. - - - "git push", when pushing into more than one repository, does - not stop at the first error. - - - "git archive" does not insist you to give --format parameter - anymore; it defaults to "tar". - - - "git cvsserver" can use backends other than sqlite. - - - "gitview" (in contrib/ section) learned to better support - "git-annotate". - - - "git diff $commit1:$path2 $commit2:$path2" can now report - mode changes between the two blobs. - - - Local "git fetch" from a repository whose object store is - one of the alternates (e.g. fetching from the origin in a - repository created with "git clone -l -s") avoids - downloading objects unnecessarily. - - - "git blame" uses .mailmap to canonicalize the author name - just like "git shortlog" does. - - - "git pack-objects" pays attention to pack.depth - configuration variable. - - - "git cherry-pick" and "git revert" does not use .msg file in - the working tree to prepare commit message; instead it uses - $GIT_DIR/MERGE_MSG as other commands do. - -* Builds - - - git-p4import has never been installed; now there is an - installation option to do so. - - - gitk and git-gui can be configured out. - - - Generated documentation pages automatically get version - information from GIT_VERSION. - - - Parallel build with "make -j" descending into subdirectory - was fixed. - -* Performance Tweaks - - - Optimized "git-rev-list --bisect" (hence "git-bisect"). - - - Optimized "git-add $path" in a large directory, most of - whose contents are ignored. - - - Optimized "git-diff-tree" for reduced memory footprint. - - - The recursive merge strategy updated a worktree file that - was changed identically in two branches, when one of them - renamed it. We do not do that when there is no rename, so - match that behaviour. This avoids excessive rebuilds. - - - The default pack depth has been increased to 50, as the - recent addition of delta_base_cache makes deeper delta chains - much less expensive to access. Depending on the project, it was - reported that this reduces the resulting pack file by 10% - or so. - - -Fixes since v1.5.1 ------------------- - -All of the fixes in v1.5.1 maintenance series are included in -this release, unless otherwise noted. - -* Bugfixes - - - Switching branches with "git checkout" refused to work when - a path changes from a file to a directory between the - current branch and the new branch, in order not to lose - possible local changes in the directory that is being turned - into a file with the switch. We now allow such a branch - switch after making sure that there is no locally modified - file nor un-ignored file in the directory. This has not - been backported to 1.5.1.x series, as it is rather an - intrusive change. - - - Merging branches that have a file in one and a directory in - another at the same path used to get quite confused. We - handle such a case a bit more carefully, even though that is - still left as a conflict for the user to sort out. This - will not be backported to 1.5.1.x series, as it is rather an - intrusive change. - - - git-fetch had trouble with a remote with insanely large number - of refs. - - - "git clean -d -X" now does not remove non-excluded directories. - - - rebasing (without -m) a series that changes a symlink to a directory - in the middle of a path confused git-apply greatly and refused to - operate. diff --git a/Documentation/RelNotes-1.5.3.1.txt b/Documentation/RelNotes-1.5.3.1.txt deleted file mode 100644 index 7ff546c74..000000000 --- a/Documentation/RelNotes-1.5.3.1.txt +++ /dev/null @@ -1,10 +0,0 @@ -GIT v1.5.3.1 Release Notes -========================== - -Fixes since v1.5.3 ------------------- - -This is solely to fix the generated RPM's dependencies. We used -to have git-p4 package but we do not anymore. As suggested on -the mailing list, this release makes git-core "Obsolete" git-p4, -so that yum update would not complain. diff --git a/Documentation/RelNotes-1.5.3.2.txt b/Documentation/RelNotes-1.5.3.2.txt deleted file mode 100644 index 4bbde3cab..000000000 --- a/Documentation/RelNotes-1.5.3.2.txt +++ /dev/null @@ -1,58 +0,0 @@ -GIT v1.5.3.2 Release Notes -========================== - -Fixes since v1.5.3.1 --------------------- - - * git-push sent thin packs by default, which was not good for - the public distribution server (no point in saving transfer - while pushing; no point in making the resulting pack less - optimum). - - * git-svn sometimes terminated with "Malformed network data" when - talking over svn:// protocol. - - * git-send-email re-issued the same message-id about 10% of the - time if you fired off 30 messages within a single second. - - * git-stash was not terminating the log message of commits it - internally creates with LF. - - * git-apply failed to check the size of the patch hunk when its - beginning part matched the remainder of the preimage exactly, - even though the preimage recorded in the hunk was much larger - (therefore the patch should not have applied), leading to a - segfault. - - * "git rm foo && git commit foo" complained that 'foo' needs to - be added first, instead of committing the removal, which was a - nonsense. - - * git grep -c said "/dev/null: 0". - - * git-add -u failed to recognize a blob whose type changed - between the index and the work tree. - - * The limit to rename detection has been tightened a lot to - reduce performance problems with a huge change. - - * cvsimport and svnimport barfed when the input tried to move - a tag. - - * "git apply -pN" did not chop the right number of directories. - - * "git svnimport" did not like SVN tags with funny characters in them. - - * git-gui 0.8.3, with assorted fixes, including: - - - font-chooser on X11 was unusable with large number of fonts; - - a diff that contained a deleted symlink made it barf; - - an untracked symbolic link to a directory made it fart; - - a file with % in its name made it vomit; - - -Documentation updates ---------------------- - -User manual has been somewhat restructured. I think the new -organization is much easier to read. diff --git a/Documentation/RelNotes-1.5.3.3.txt b/Documentation/RelNotes-1.5.3.3.txt deleted file mode 100644 index d21384695..000000000 --- a/Documentation/RelNotes-1.5.3.3.txt +++ /dev/null @@ -1,31 +0,0 @@ -GIT v1.5.3.3 Release Notes -========================== - -Fixes since v1.5.3.2 --------------------- - - * git-quiltimport did not like it when a patch described in the - series file does not exist. - - * p4 importer missed executable bit in some cases. - - * The default shell on some FreeBSD did not execute the - argument parsing code correctly and made git unusable. - - * git-svn incorrectly spawned pager even when the user - explicitly asked not to. - - * sample post-receive hook overquoted the envelope sender - value. - - * git-am got confused when the patch contained a change that is - only about type and not contents. - - * git-mergetool did not show our and their version of the - conflicted file when started from a subdirectory of the - project. - - * git-mergetool did not pass correct options when invoking diff3. - - * git-log sometimes invoked underlying "diff" machinery - unnecessarily. diff --git a/Documentation/RelNotes-1.5.3.4.txt b/Documentation/RelNotes-1.5.3.4.txt deleted file mode 100644 index b04b3a45a..000000000 --- a/Documentation/RelNotes-1.5.3.4.txt +++ /dev/null @@ -1,35 +0,0 @@ -GIT v1.5.3.4 Release Notes -========================== - -Fixes since v1.5.3.3 --------------------- - - * Change to "git-ls-files" in v1.5.3.3 that was introduced to support - partial commit of removal better had a segfaulting bug, which was - diagnosed and fixed by Keith and Carl. - - * Performance improvements for rename detection has been backported - from the 'master' branch. - - * "git-for-each-ref --format='%(numparent)'" was not working - correctly at all, and --format='%(parent)' was not working for - merge commits. - - * Sample "post-receive-hook" incorrectly sent out push - notification e-mails marked as "From: " the committer of the - commit that happened to be at the tip of the branch that was - pushed, not from the person who pushed. - - * "git-remote" did not exit non-zero status upon error. - - * "git-add -i" did not respond very well to EOF from tty nor - bogus input. - - * "git-rebase -i" squash subcommand incorrectly made the - author of later commit the author of resulting commit, - instead of taking from the first one in the squashed series. - - * "git-stash apply --index" was not documented. - - * autoconfiguration learned that "ar" command is found as "gas" on - some systems. diff --git a/Documentation/RelNotes-1.5.3.5.txt b/Documentation/RelNotes-1.5.3.5.txt deleted file mode 100644 index 7ff1d5d0d..000000000 --- a/Documentation/RelNotes-1.5.3.5.txt +++ /dev/null @@ -1,94 +0,0 @@ -GIT v1.5.3.5 Release Notes -========================== - -Fixes since v1.5.3.4 --------------------- - - * Comes with git-gui 0.8.4. - - * "git-config" silently ignored options after --list; now it will - error out with a usage message. - - * "git-config --file" failed if the argument used a relative path - as it changed directories before opening the file. - - * "git-config --file" now displays a proper error message if it - cannot read the file specified on the command line. - - * "git-config", "git-diff", "git-apply" failed if run from a - subdirectory with relative GIT_DIR and GIT_WORK_TREE set. - - * "git-blame" crashed if run during a merge conflict. - - * "git-add -i" did not handle single line hunks correctly. - - * "git-rebase -i" and "git-stash apply" failed if external diff - drivers were used for one or more files in a commit. They now - avoid calling the external diff drivers. - - * "git-log --follow" did not work unless diff generation (e.g. -p) - was also requested. - - * "git-log --follow -B" did not work at all. Fixed. - - * "git-log -M -B" did not correctly handle cases of very large files - being renamed and replaced by very small files in the same commit. - - * "git-log" printed extra newlines between commits when a diff - was generated internally (e.g. -S or --follow) but not displayed. - - * "git-push" error message is more helpful when pushing to a - repository with no matching refs and none specified. - - * "git-push" now respects + (force push) on wildcard refspecs, - matching the behavior of git-fetch. - - * "git-filter-branch" now updates the working directory when it - has finished filtering the current branch. - - * "git-instaweb" no longer fails on Mac OS X. - - * "git-cvsexportcommit" didn't always create new parent directories - before trying to create new child directories. Fixed. - - * "git-fetch" printed a scary (but bogus) error message while - fetching a tag that pointed to a tree or blob. The error did - not impact correctness, only user perception. The bogus error - is no longer printed. - - * "git-ls-files --ignored" did not properly descend into non-ignored - directories that themselves contained ignored files if d_type - was not supported by the filesystem. This bug impacted systems - such as AFS. Fixed. - - * Git segfaulted when reading an invalid .gitattributes file. Fixed. - - * post-receive-email example hook was fixed for non-fast-forward - updates. - - * Documentation updates for supported (but previously undocumented) - options of "git-archive" and "git-reflog". - - * "make clean" no longer deletes the configure script that ships - with the git tarball, making multiple architecture builds easier. - - * "git-remote show origin" spewed a warning message from Perl - when no remote is defined for the current branch via - branch..remote configuration settings. - - * Building with NO_PERL_MAKEMAKER excessively rebuilt contents - of perl/ subdirectory by rewriting perl.mak. - - * http.sslVerify configuration settings were not used in scripted - Porcelains. - - * "git-add" leaked a bit of memory while scanning for files to add. - - * A few workarounds to squelch false warnings from recent gcc have - been added. - - * "git-send-pack $remote frotz" segfaulted when there is nothing - named 'frotz' on the local end. - - * "git-rebase --interactive" did not handle its "--strategy" option - properly. diff --git a/Documentation/RelNotes-1.5.3.6.txt b/Documentation/RelNotes-1.5.3.6.txt deleted file mode 100644 index 069a2b2cf..000000000 --- a/Documentation/RelNotes-1.5.3.6.txt +++ /dev/null @@ -1,48 +0,0 @@ -GIT v1.5.3.6 Release Notes -========================== - -Fixes since v1.5.3.5 --------------------- - - * git-cvsexportcommit handles root commits better. - - * git-svn dcommit used to clobber when sending a series of - patches. - - * git-svn dcommit failed after attempting to rebase when - started with a dirty index; now it stops upfront. - - * git-grep sometimes refused to work when your index was - unmerged. - - * "git-grep -A1 -B2" acted as if it was told to run "git -A1 -B21". - - * git-hash-object did not honor configuration variables, such as - core.compression. - - * git-index-pack choked on a huge pack on 32-bit machines, even when - large file offsets are supported. - - * atom feeds from git-web said "10" for the month of November. - - * a memory leak in commit walker was plugged. - - * When git-send-email inserted the original author's From: - address in body, it did not mark the message with - Content-type: as needed. - - * git-revert and git-cherry-pick incorrectly refused to start - when the work tree was dirty. - - * git-clean did not honor core.excludesfile configuration. - - * git-add mishandled ".gitignore" files when applying them to - subdirectories. - - * While importing a too branchy history, git-fastimport did not - honor delta depth limit properly. - - * Support for zlib implementations that lack ZLIB_VERNUM and definition - of deflateBound() has been added. - - * Quite a lot of documentation clarifications. diff --git a/Documentation/RelNotes-1.5.3.7.txt b/Documentation/RelNotes-1.5.3.7.txt deleted file mode 100644 index 2f690616c..000000000 --- a/Documentation/RelNotes-1.5.3.7.txt +++ /dev/null @@ -1,45 +0,0 @@ -GIT v1.5.3.7 Release Notes -========================== - -Fixes since v1.5.3.6 --------------------- - - * git-send-email added 8-bit contents to the payload without - marking it as 8-bit in a CTE header. - - * "git-bundle create a.bndl HEAD" dereferenced the symref and - did not record the ref as 'HEAD'; this prevented a bundle - from being used as a normal source of git-clone. - - * The code to reject nonsense command line of the form - "git-commit -a paths..." and "git-commit --interactive - paths..." were broken. - - * Adding a signature that is not ASCII-only to an original - commit that is ASCII-only would make the result non-ASCII. - "git-format-patch -s" did not mark such a message correctly - with MIME encoding header. - - * git-add sometimes did not mark the resulting index entry - stat-clean. This affected only cases when adding the - contents with the same length as the previously staged - contents, and the previous staging made the index entry - "racily clean". - - * git-commit did not honor GIT_INDEX_FILE the user had in the - environment. - - * When checking out a revision, git-checkout did not report where the - updated HEAD is if you happened to have a file called HEAD in the - work tree. - - * "git-rev-list --objects" mishandled a tree that points at a - submodule. - - * "git cvsimport" was not ready for packed refs that "git gc" can - produce and gave incorrect results. - - * Many scripted Porcelains were confused when you happened to have a - file called "HEAD" in your work tree. - -Also it contains updates to the user manual and documentation. diff --git a/Documentation/RelNotes-1.5.3.8.txt b/Documentation/RelNotes-1.5.3.8.txt deleted file mode 100644 index 0e3ff58a4..000000000 --- a/Documentation/RelNotes-1.5.3.8.txt +++ /dev/null @@ -1,25 +0,0 @@ -GIT v1.5.3.8 Release Notes -========================== - -Fixes since v1.5.3.7 --------------------- - - * Some documentation used "email.com" as an example domain. - - * git-svn fix to handle funky branch and project names going over - http/https correctly. - - * git-svn fix to tone down a needlessly alarming warning message. - - * git-clone did not correctly report errors while fetching over http. - - * git-send-email added redundant Message-Id: header to the outgoing - e-mail when the patch text already had one. - - * a read-beyond-end-of-buffer bug in configuration file updater was fixed. - - * git-grep used to show the same hit repeatedly for unmerged paths. - - * After amending the patch title in "git-am -i", the command did not - report the patch it applied with the updated title. - diff --git a/Documentation/RelNotes-1.5.3.txt b/Documentation/RelNotes-1.5.3.txt deleted file mode 100644 index 0668d3c0c..000000000 --- a/Documentation/RelNotes-1.5.3.txt +++ /dev/null @@ -1,366 +0,0 @@ -GIT v1.5.3 Release Notes -======================== - -Updates since v1.5.2 --------------------- - -* The commit walkers other than http are officially deprecated, - but still supported for now. - -* The submodule support has Porcelain layer. - - Note that the current submodule support is minimal and this is - deliberately so. A design decision we made is that operations - at the supermodule level do not recurse into submodules by - default. The expectation is that later we would add a - mechanism to tell git which submodules the user is interested - in, and this information might be used to determine the - recursive behaviour of certain commands (e.g. "git checkout" - and "git diff"), but currently we haven't agreed on what that - mechanism should look like. Therefore, if you use submodules, - you would probably need "git submodule update" on the - submodules you care about after running a "git checkout" at - the supermodule level. - -* There are a handful pack-objects changes to help you cope better - with repositories with pathologically large blobs in them. - -* For people who need to import from Perforce, a front-end for - fast-import is in contrib/fast-import/. - -* Comes with git-gui 0.8.2. - -* Comes with updated gitk. - -* New commands and options. - - - "git log --date=" can use more formats: iso8601, rfc2822. - - - The hunk header output from "git diff" family can be customized - with the attributes mechanism. See gitattributes(5) for details. - - - "git stash" allows you to quickly save away your work in - progress and replay it later on an updated state. - - - "git rebase" learned an "interactive" mode that let you - pick and reorder which commits to rebuild. - - - "git fsck" can save its findings in $GIT_DIR/lost-found, without a - separate invocation of "git lost-found" command. The blobs stored by - lost-found are stored in plain format to allow you to grep in them. - - - $GIT_WORK_TREE environment variable can be used together with - $GIT_DIR to work in a subdirectory of a working tree that is - not located at "$GIT_DIR/..". - - - Giving "--file=" option to "git config" is the same as - running the command with GIT_CONFIG= environment. - - - "git log" learned a new option "--follow", to follow - renaming history of a single file. - - - "git filter-branch" lets you rewrite the revision history of - specified branches. You can specify a number of filters to - modify the commits, files and trees. - - - "git cvsserver" learned new options (--base-path, --export-all, - --strict-paths) inspired by "git daemon". - - - "git daemon --base-path-relaxed" can help migrating a repository URL - that did not use to use --base-path to use --base-path. - - - "git commit" can use "-t templatefile" option and commit.template - configuration variable to prime the commit message given to you in the - editor. - - - "git submodule" command helps you manage the projects from - the superproject that contain them. - - - In addition to core.compression configuration option, - core.loosecompression and pack.compression options can - independently tweak zlib compression levels used for loose - and packed objects. - - - "git ls-tree -l" shows size of blobs pointed at by the - tree entries, similar to "/bin/ls -l". - - - "git rev-list" learned --regexp-ignore-case and - --extended-regexp options to tweak its matching logic used - for --grep filtering. - - - "git describe --contains" is a handier way to call more - obscure command "git name-rev --tags". - - - "git gc --aggressive" tells the command to spend more cycles - to optimize the repository harder. - - - "git repack" learned a "window-memory" limit which - dynamically reduces the window size to stay within the - specified memory usage. - - - "git repack" can be told to split resulting packs to avoid - exceeding limit specified with "--max-pack-size". - - - "git fsck" gained --verbose option. This is really really - verbose but it might help you identify exact commit that is - corrupt in your repository. - - - "git format-patch" learned --numbered-files option. This - may be useful for MH users. - - - "git format-patch" learned format.subjectprefix configuration - variable, which serves the same purpose as "--subject-prefix" - option. - - - "git tag -n -l" shows tag annotations while listing tags. - - - "git cvsimport" can optionally use the separate-remote layout. - - - "git blame" can be told to see through commits that change - whitespaces and indentation levels with "-w" option. - - - "git send-email" can be told not to thread the messages when - sending out more than one patches. - - - "git send-email" can also be told how to find whom to cc the - message to for each message via --cc-cmd. - - - "git config" learned NUL terminated output format via -z to - help scripts. - - - "git add" learned "--refresh ..." option to selectively refresh - the cached stat information. - - - "git init -q" makes the command quieter. - - - "git -p command" now has a cousin of opposite sex, "git --no-pager - command". - -* Updated behavior of existing commands. - - - "gitweb" can offer multiple snapshot formats. - - ***NOTE*** Unfortunately, this changes the format of the - $feature{snapshot}{default} entry in the per-site - configuration file 'gitweb_config.perl'. It used to be a - three-element tuple that describe a single format; with the - new configuration item format, you only have to say the name - of the format ('tgz', 'tbz2' or 'zip'). Please update the - your configuration file accordingly. - - - "git clone" uses -l (hardlink files under .git) by default when - cloning locally. - - - URL used for "git clone" and friends can specify nonstandard SSH port - by using ssh://host:port/path/to/repo syntax. - - - "git bundle create" can now create a bundle without negative refs, - i.e. "everything since the beginning up to certain points". - - - "git diff" (but not the plumbing level "git diff-tree") now - recursively descends into trees by default. - - - "git diff" does not show differences that come only from - stat-dirtiness in the form of "diff --git" header anymore. - It runs "update-index --refresh" silently as needed. - - - "git tag -l" used to match tags by globbing its parameter as if it - has wildcard '*' on both ends, which made "git tag -l gui" to match - tag 'gitgui-0.7.0'; this was very annoying. You now have to add - asterisk on the sides you want to wildcard yourself. - - - The editor to use with many interactive commands can be - overridden with GIT_EDITOR environment variable, or if it - does not exist, with core.editor configuration variable. As - before, if you have neither, environment variables VISUAL - and EDITOR are consulted in this order, and then finally we - fall back on "vi". - - - "git rm --cached" does not complain when removing a newly - added file from the index anymore. - - - Options to "git log" to affect how --grep/--author options look for - given strings now have shorter abbreviations. -i is for ignore case, - and -E is for extended regexp. - - - "git log" learned --log-size to show the number of bytes in - the log message part of the output to help qgit. - - - "git log --name-status" does not require you to give "-r" anymore. - As a general rule, Porcelain commands should recurse when showing - diff. - - - "git format-patch --root A" can be used to format everything - since the beginning up to A. This was supported with - "git format-patch --root A A" for a long time, but was not - properly documented. - - - "git svn dcommit" retains local merge information. - - - "git svnimport" allows an empty string to be specified as the - trunk/ directory. This is necessary to suck data from a SVN - repository that doe not have trunk/ branches/ and tags/ organization - at all. - - - "git config" to set values also honors type flags like --bool - and --int. - - - core.quotepath configuration can be used to make textual git - output to emit most of the characters in the path literally. - - - "git mergetool" chooses its backend more wisely, taking - notice of its environment such as use of X, Gnome/KDE, etc. - - - "gitweb" shows merge commits a lot nicer than before. The - default view uses more compact --cc format, while the UI - allows to choose normal diff with any parent. - - - snapshot files "gitweb" creates from a repository at - $path/$project/.git are more useful. We use $project part - in the filename, which we used to discard. - - - "git cvsimport" creates lightweight tags; there is no - interesting information we can record in an annotated tag, - and the handcrafted ones the old code created was not - properly formed anyway. - - - "git push" pretends that you immediately fetched back from - the remote by updating corresponding remote tracking - branches if you have any. - - - The diffstat given after a merge (or a pull) honors the - color.diff configuration. - - - "git commit --amend" is now compatible with various message source - options such as -m/-C/-c/-F. - - - "git apply --whitespace=strip" removes blank lines added at - the end of the file. - - - "git fetch" over git native protocols with "-v" option shows - connection status, and the IP address of the other end, to - help diagnosing problems. - - - We used to have core.legacyheaders configuration, when - set to false, allowed git to write loose objects in a format - that mimics the format used by objects stored in packs. It - turns out that this was not so useful. Although we will - continue to read objects written in that format, we do not - honor that configuration anymore and create loose objects in - the legacy/traditional format. - - - "--find-copies-harder" option to diff family can now be - spelled as "-C -C" for brevity. - - - "git mailsplit" (hence "git am") can read from Maildir - formatted mailboxes. - - - "git cvsserver" does not barf upon seeing "cvs login" - request. - - - "pack-objects" honors "delta" attribute set in - .gitattributes. It does not attempt to deltify blobs that - come from paths with delta attribute set to false. - - - "new-workdir" script (in contrib) can now be used with a - bare repository. - - - "git mergetool" learned to use gvimdiff. - - - "gitview" (in contrib) has a better blame interface. - - - "git log" and friends did not handle a commit log message - that is larger than 16kB; they do now. - - - "--pretty=oneline" output format for "git log" and friends - deals with "malformed" commit log messages that have more - than one lines in the first paragraph better. We used to - show the first line, cutting the title at mid-sentence; we - concatenate them into a single line and treat the result as - "oneline". - - - "git p4import" has been demoted to contrib status. For - a superior option, checkout the "git p4" front end to - "git fast-import" (also in contrib). The man page and p4 - rpm have been removed as well. - - - "git mailinfo" (hence "am") now tries to see if the message - is in utf-8 first, instead of assuming iso-8859-1, if - incoming e-mail does not say what encoding it is in. - -* Builds - - - old-style function definitions (most notably, a function - without parameter defined with "func()", not "func(void)") - have been eradicated. - - - "git tag" and "git verify-tag" have been rewritten in C. - -* Performance Tweaks - - - "git pack-objects" avoids re-deltification cost by caching - small enough delta results it creates while looking for the - best delta candidates. - - - "git pack-objects" learned a new heuristic to prefer delta - that is shallower in depth over the smallest delta - possible. This improves both overall packfile access - performance and packfile density. - - - diff-delta code that is used for packing has been improved - to work better on big files. - - - when there are more than one pack files in the repository, - the runtime used to try finding an object always from the - newest packfile; it now tries the same packfile as we found - the object requested the last time, which exploits the - locality of references. - - - verifying pack contents done by "git fsck --full" got boost - by carefully choosing the order to verify objects in them. - - - "git read-tree -m" to read into an already populated index - has been optimized vastly. The effect of this can be seen - when switching branches that have differences in only a - handful paths. - - - "git add paths..." and "git commit paths..." has also been - heavily optimized. - -Fixes since v1.5.2 ------------------- - -All of the fixes in v1.5.2 maintenance series are included in -this release, unless otherwise noted. - -* Bugfixes - - - "gitweb" had trouble handling non UTF-8 text with older - Encode.pm Perl module. - - - "git svn" misparsed the data from the commits in the repository when - the user had "color.diff = true" in the configuration. This has been - fixed. - - - There was a case where "git svn dcommit" clobbered changes made on the - SVN side while committing multiple changes. - - - "git-write-tree" had a bad interaction with racy-git avoidance and - gitattributes mechanisms. - - - "git --bare command" overrode existing GIT_DIR setting and always - made it treat the current working directory as GIT_DIR. - - - "git ls-files --error-unmatch" does not complain if you give the - same path pattern twice by mistake. - - - "git init" autodetected core.filemode but not core.symlinks, which - made a new directory created automatically by "git clone" cumbersome - to use on filesystems that require these configurations to be set. - - - "git log" family of commands behaved differently when run as "git - log" (no pathspec) and as "git log --" (again, no pathspec). This - inconsistency was introduced somewhere in v1.3.0 series but now has - been corrected. - - - "git rebase -m" incorrectly displayed commits that were skipped. diff --git a/Documentation/RelNotes-1.5.4.1.txt b/Documentation/RelNotes-1.5.4.1.txt deleted file mode 100644 index d4e44b8b0..000000000 --- a/Documentation/RelNotes-1.5.4.1.txt +++ /dev/null @@ -1,17 +0,0 @@ -GIT v1.5.4.1 Release Notes -========================== - -Fixes since v1.5.4 ------------------- - - * "git-commit -C $tag" used to work but rewrite in C done in - 1.5.4 broke it. - - * An entry in the .gitattributes file that names a pattern in a - subdirectory of the directory it is in did not match - correctly (e.g. pattern "b/*.c" in "a/.gitattributes" should - match "a/b/foo.c" but it didn't). - - * Customized color specification was parsed incorrectly when - numeric color values are used. This was fixed in 1.5.4.1. - diff --git a/Documentation/RelNotes-1.5.4.2.txt b/Documentation/RelNotes-1.5.4.2.txt deleted file mode 100644 index 21d0df59f..000000000 --- a/Documentation/RelNotes-1.5.4.2.txt +++ /dev/null @@ -1,43 +0,0 @@ -GIT v1.5.4.2 Release Notes -========================== - -Fixes since v1.5.4 ------------------- - - * The configuration parser was not prepared to see string - valued variables misspelled as boolean and segfaulted. - - * Temporary files left behind due to interrupted object - transfers were not cleaned up with "git prune". - - * "git config --unset" was confused when the unset variables - were spelled with continuation lines in the config file. - - * The merge message detection in "git cvsimport" did not catch - a message that began with "Merge...". - - * "git status" suggests "git rm --cached" for unstaging the - earlier "git add" before the initial commit. - - * "git status" output was incorrect during a partial commit. - - * "git bisect" refused to start when the HEAD was detached. - - * "git bisect" allowed a wildcard character in the commit - message expanded while writing its log file. - - * Manual pages were not formatted correctly with docbook xsl - 1.72; added a workaround. - - * "git-commit -C $tag" used to work but rewrite in C done in - 1.5.4 broke it. This was fixed in 1.5.4.1. - - * An entry in the .gitattributes file that names a pattern in a - subdirectory of the directory it is in did not match - correctly (e.g. pattern "b/*.c" in "a/.gitattributes" should - match "a/b/foo.c" but it didn't). This was fixed in 1.5.4.1. - - * Customized color specification was parsed incorrectly when - numeric color values are used. This was fixed in 1.5.4.1. - - * http transport misbehaved when linked with curl-gnutls. diff --git a/Documentation/RelNotes-1.5.4.3.txt b/Documentation/RelNotes-1.5.4.3.txt deleted file mode 100644 index b0fc67fb2..000000000 --- a/Documentation/RelNotes-1.5.4.3.txt +++ /dev/null @@ -1,27 +0,0 @@ -GIT v1.5.4.3 Release Notes -========================== - -Fixes since v1.5.4.2 --------------------- - - * RPM spec used to pull in everything with 'git'. This has been - changed so that 'git' package contains just the core parts, - and we now supply 'git-all' metapackage to slurp in everything. - This should match end user's expectation better. - - * When some refs failed to update, git-push reported "failure" - which was unclear if some other refs were updated or all of - them failed atomically (the answer is the former). Reworded - the message to clarify this. - - * "git clone" from a repository whose HEAD was misconfigured - did not set up the remote properly. Now it tries to do - better. - - * Updated git-push documentation to clarify what "matching" - means, in order to reduce user confusion. - - * Updated git-add documentation to clarify "add -u" operates in - the current subdirectory you are in, just like other commands. - - * git-gui updates to work on OSX and Windows better. diff --git a/Documentation/RelNotes-1.5.4.4.txt b/Documentation/RelNotes-1.5.4.4.txt deleted file mode 100644 index 323c1a88c..000000000 --- a/Documentation/RelNotes-1.5.4.4.txt +++ /dev/null @@ -1,66 +0,0 @@ -GIT v1.5.4.4 Release Notes -========================== - -Fixes since v1.5.4.3 --------------------- - - * Building and installing with an overtight umask such as 077 made - installed templates unreadable by others, while the rest of the install - are done in a way that is friendly to umask 022. - - * "git cvsexportcommit -w $cvsdir" misbehaved when GIT_DIR is set to a - relative directory. - - * "git http-push" had an invalid memory access that could lead it to - segfault. - - * When "git rebase -i" gave control back to the user for a commit that is - marked to be edited, it just said "modify it with commit --amend", - without saying what to do to continue after modifying it. Give an - explicit instruction to run "rebase --continue" to be more helpful. - - * "git send-email" in 1.5.4.3 issued a bogus empty In-Reply-To: header. - - * "git bisect" showed mysterious "won't bisect on seeked tree" error message. - This was leftover from Cogito days to prevent "bisect" starting from a - cg-seeked state. We still keep the Cogito safety, but running "git bisect - start" when another bisect was in effect will clean up and start over. - - * "git push" with an explicit PATH to receive-pack did not quite work if - receive-pack was not on usual PATH. We earlier fixed the same issue - with "git fetch" and upload-pack, but somehow forgot to do so in the - other direction. - - * git-gui's info dialog was not displayed correctly when the user tries - to commit nothing (i.e. without staging anything). - - * "git revert" did not properly fail when attempting to run with a - dirty index. - - * "git merge --no-commit --no-ff " incorrectly made commits. - - * "git merge --squash --no-ff ", which is a nonsense combination - of options, was not rejected. - - * "git ls-remote" and "git remote show" against an empty repository - failed, instead of just giving an empty result (regression). - - * "git fast-import" did not handle a renamed path whose name needs to be - quoted, due to a bug in unquote_c_style() function. - - * "git cvsexportcommit" was confused when multiple files with the same - basename needed to be pushed out in the same commit. - - * "git daemon" did not send early errors to syslog. - - * "git log --merge" did not work well with --left-right option. - - * "git svn" prompted for client cert password every time it accessed the - server. - - * The reset command in "git fast-import" data stream was documented to - end with an optional LF, but it actually required one. - - * "git svn dcommit/rebase" did not honor --rewrite-root option. - -Also included are a handful documentation updates. diff --git a/Documentation/RelNotes-1.5.4.5.txt b/Documentation/RelNotes-1.5.4.5.txt deleted file mode 100644 index bbd130e36..000000000 --- a/Documentation/RelNotes-1.5.4.5.txt +++ /dev/null @@ -1,56 +0,0 @@ -GIT v1.5.4.5 Release Notes -========================== - -Fixes since v1.5.4.4 --------------------- - - * "git fetch there" when the URL information came from the Cogito style - branches/there file did not update refs/heads/there (regression in - 1.5.4). - - * Bogus refspec configuration such as "remote.there.fetch = =" were not - detected as errors (regression in 1.5.4). - - * You couldn't specify a custom editor whose path contains a whitespace - via GIT_EDITOR (and core.editor). - - * The subdirectory filter to "git filter-branch" mishandled a history - where the subdirectory becomes empty and then later becomes non-empty. - - * "git shortlog" gave an empty line if the original commit message was - malformed (e.g. a botched import from foreign SCM). Now it finds the - first non-empty line and uses it for better information. - - * When the user fails to give a revision parameter to "git svn", an error - from the Perl interpreter was issued because the script lacked proper - error checking. - - * After "git rebase" stopped due to conflicts, if the user played with - "git reset" and friends, "git rebase --abort" failed to go back to the - correct commit. - - * Additional work trees prepared with git-new-workdir (in contrib/) did - not share git-svn metadata directory .git/svn with the original. - - * "git-merge-recursive" did not mark addition of the same path with - different filemodes correctly as a conflict. - - * "gitweb" gave malformed URL when pathinfo stype paths are in use. - - * "-n" stands for "--no-tags" again for "git fetch". - - * "git format-patch" did not detect the need to add 8-bit MIME header - when the user used format.header configuration. - - * "rev~" revision specifier used to mean "rev", which was inconsistent - with how "rev^" worked. Now "rev~" is the same as "rev~1" (hence it - also is the same as "rev^1"), and "rev~0" is the same as "rev^0" - (i.e. it has to be a commit). - - * "git quiltimport" did not grok empty lines, lines in "file -pNNN" - format to specify the prefix levels and lines with trailing comments. - - * "git rebase -m" triggered pre-commit verification, which made - "rebase --continue" impossible. - -As usual, it also comes with many documentation fixes and clarifications. diff --git a/Documentation/RelNotes-1.5.4.6.txt b/Documentation/RelNotes-1.5.4.6.txt deleted file mode 100644 index 3e3c3e55a..000000000 --- a/Documentation/RelNotes-1.5.4.6.txt +++ /dev/null @@ -1,43 +0,0 @@ -GIT v1.5.4.6 Release Notes -========================== - -I personally do not think there is any reason anybody should want to -run v1.5.4.X series these days, because 'master' version is always -more stable than any tagged released version of git. - -This is primarily to futureproof "git-shell" to accept requests -without a dash between "git" and subcommand name (e.g. "git -upload-pack") which the newer client will start to make sometime in -the future. - -Fixes since v1.5.4.5 --------------------- - - * Command line option "-n" to "git-repack" was not correctly parsed. - - * Error messages from "git-apply" when the patchfile cannot be opened - have been improved. - - * Error messages from "git-bisect" when given nonsense revisions have - been improved. - - * reflog syntax that uses time e.g. "HEAD@{10 seconds ago}:path" did not - stop parsing at the closing "}". - - * "git rev-parse --symbolic-full-name ^master^2" printed solitary "^", - but it should print nothing. - - * "git apply" did not enforce "match at the beginning" correctly. - - * a path specification "a/b" in .gitattributes file should not match - "sub/a/b", but it did. - - * "git log --date-order --topo-order" did not override the earlier - date-order with topo-order as expected. - - * "git fast-export" did not export octopus merges correctly. - - * "git archive --prefix=$path/" mishandled gitattributes. - -As usual, it also comes with many documentation fixes and clarifications. - diff --git a/Documentation/RelNotes-1.5.4.7.txt b/Documentation/RelNotes-1.5.4.7.txt deleted file mode 100644 index 9065a0e27..000000000 --- a/Documentation/RelNotes-1.5.4.7.txt +++ /dev/null @@ -1,10 +0,0 @@ -GIT v1.5.4.7 Release Notes -========================== - -Fixes since 1.5.4.7 -------------------- - - * Removed support for an obsolete gitweb request URI, whose - implementation ran "git diff" Porcelain, instead of using plumbing, - which would have run an external diff command specified in the - repository configuration as the gitweb user. diff --git a/Documentation/RelNotes-1.5.4.txt b/Documentation/RelNotes-1.5.4.txt deleted file mode 100644 index f1323b617..000000000 --- a/Documentation/RelNotes-1.5.4.txt +++ /dev/null @@ -1,377 +0,0 @@ -GIT v1.5.4 Release Notes -======================== - -Removal -------- - - * "git svnimport" was removed in favor of "git svn". It is still there - in the source tree (contrib/examples) but unsupported. - - * As git-commit and git-status have been rewritten, "git runstatus" - helper script lost all its users and has been removed. - - -Temporarily disabled --------------------- - - * "git http-push" is known not to work well with cURL library older - than 7.16, and we had reports of repository corruption. It is - disabled on such platforms for now. Unfortunately, 1.5.3.8 shares - the same issue. In other words, this does not mean you will be - fine if you stick to an older git release. For now, please do not - use http-push from older git with cURL older than 7.16 if you - value your data. A proper fix will hopefully materialize in - later versions. - - -Deprecation notices -------------------- - - * From v1.6.0, git will by default install dashed form of commands - (e.g. "git-commit") outside of users' normal $PATH, and will install - only selected commands ("git" itself, and "gitk") in $PATH. This - implies: - - - Using dashed forms of git commands (e.g. "git-commit") from the - command line has been informally deprecated since early 2006, but - now it officially is, and will be removed in the future. Use - dash-less forms (e.g. "git commit") instead. - - - Using dashed forms from your scripts, without first prepending the - return value from "git --exec-path" to the scripts' PATH, has been - informally deprecated since early 2006, but now it officially is. - - - Use of dashed forms with "PATH=$(git --exec-path):$PATH; export - PATH" early in your script is not deprecated with this change. - - Users are strongly encouraged to adjust their habits and scripts now - to prepare for this change. - - * The post-receive hook was introduced in March 2007 to supersede - the post-update hook, primarily to overcome the command line length - limitation of the latter. Use of post-update hook will be deprecated - in future versions of git, starting from v1.6.0. - - * "git lost-found" was deprecated in favor of "git fsck"'s --lost-found - option, and will be removed in the future. - - * "git peek-remote" is deprecated, as "git ls-remote" was written in C - and works for all transports; "git peek-remote" will be removed in - the future. - - * "git repo-config" which was an old name for "git config" command - has been supported without being advertised for a long time. The - next feature release will remove it. - - * From v1.6.0, the repack.usedeltabaseoffset config option will default - to true, which will give denser packfiles (i.e. more efficient storage). - The downside is that git older than version 1.4.4 will not be able - to directly use a repository packed using this setting. - - * From v1.6.0, the pack.indexversion config option will default to 2, - which is slightly more efficient, and makes repacking more immune to - data corruptions. Git older than version 1.5.2 may revert to version 1 - of the pack index with a manual "git index-pack" to be able to directly - access corresponding pack files. - - -Updates since v1.5.3 --------------------- - - * Comes with much improved gitk, with i18n. - - * Comes with git-gui 0.9.2 with i18n. - - * gitk is now merged as a subdirectory of git.git project, in - preparation for its i18n. - - * progress displays from many commands are a lot nicer to the eye. - Transfer commands show throughput data. - - * many commands that pay attention to per-directory .gitignore now do - so lazily, which makes the usual case go much faster. - - * Output processing for '--pretty=format:' has been - optimized. - - * Rename detection of diff family while detecting exact matches has - been greatly optimized. - - * Rename detection of diff family tries to make more natural looking - pairing. Earlier, if multiple identical rename sources were - found in the preimage, the source used was 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". - - * "git diff" Porcelain now respects diff.external configuration, which - is another way to specify GIT_EXTERNAL_DIFF. - - * "git diff" can be told to use different prefixes other than - "a/" and "b/" e.g. "git diff --src-prefix=l/ --dst-prefix=k/". - - * "git diff" sometimes did not quote paths with funny - characters properly. - - * "git log" (and any revision traversal commands) misbehaved - when --diff-filter is given but was not asked to actually - produce diff. - - * 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 reset --hard" does not make any sense in a bare - repository, but did not error out; fixed. - - * "git send-email" can optionally talk over ssmtp and use SMTP-AUTH. - - * "git rebase" learned --whitespace option. - - * In "git rebase", when you decide not to replay a particular change - after the command stopped with a conflict, you can say "git rebase - --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. - - * Other minor to serious bugs in "git rebase -i" have been fixed. - - * "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 - threads. - - * "git archive" can optionally substitute keywords in files marked with - export-subst attribute. - - * "git cherry-pick" made a misguided attempt to repeat the original - command line in the generated log message, when told to cherry-pick a - commit by naming a tag that points at it. It does not anymore. - - * "git for-each-ref" learned %(xxxdate:) syntax to show the - various date fields in different formats. - - * "git gc --auto" is a low-impact way to automatically run a variant of - "git repack" that does not lose unreferenced objects (read: safer - 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). - - * 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. - - * "git push" does not update a tracking ref on the local side when the - remote refused to update the corresponding ref. - - * "git push" learned --mirror option. This is to push the local refs - 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 - from local repository at the same time. Suitable for pushing into a - back-up repository. - - * "git remote" learned "rm" subcommand. - - * "git cvsserver" can be run via "git shell". Also, "cvs" is - recognized as a synonym for "git cvsserver", so that CVS users - can be switched to git just by changing their login 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". - - * "git pull --rebase" is a different way to integrate what you fetched - into your current branch. - - * "git fast-export" produces data-stream 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. The interactive prompt - and menu can be colored by setting color.interactive - configuration. The diff output (including the hunk picker) - are colored with color.diff configuration. - - * "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" used to unconditionally strip comment lines that - began with '#' and removed excess blank lines. This behavior has - been made configurable. - - * "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 stash clear extra-text" does not clear the whole stash - anymore. It is tempting to expect "git stash clear stash@{2}" - to drop only a single named stash entry, and it is rude to - discard everything when that is asked (but not provided). - - * "git prune --expire