I Use This!
Very High Activity

News

Analyzed about 9 hours ago. based on code collected about 9 hours ago.
Posted about 13 years ago by Junio C Hamano
A release candidate Git v1.8.1-rc3 is now available for testing at the usual places. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: c0ad509fb6a91babc43cf790405dbd95c68c986f ... [More] git-1.8.1.rc3.tar.gz 8396960d1e4384a861f98cdd29e2b2693152f7c9 git-htmldocs-1.8.1.rc3.tar.gz f73c52e016ddecac6ee0e6a5852b763e13e444a9 git-manpages-1.8.1.rc3.tar.gz Note that the toolchain used to preformat the latter two tarballs has been updated (I am using AsciiDoc 8.6.8 now), which hopefully have fixed the malformatted pages Gentoo folks noticed in some pages that use ``pretty quotes''. The following public repositories all have a copy of the v1.8.1-rc3 tag and the master branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core (not) url = https://github.com/gitster/git Git v1.8.1 Release Notes (draft) ======================== Backward compatibility notes ---------------------------- In the next major release (not *this* one), we will change the behavior of the "git push" command. When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). We will use the "simple" semantics that pushes the current branch to the branch with the same name, only when the current branch is set to integrate with that remote branch. There is a user preference configuration variable "push.default" to change this, and "git push" will warn about the upcoming change until you set this variable in this release. "git branch --set-upstream" is deprecated and may be removed in a relatively distant future. "git branch [-u|--set-upstream-to]" has been introduced with a saner order of arguments to replace it. Updates since v1.8.0 -------------------- UI, Workflows & Features * Command-line completion scripts for tcsh and zsh have been added. * A new remote-helper interface for Mercurial has been added to contrib/remote-helpers. * We used to have a workaround for a bug in ancient "less" that causes it to exit without any output when the terminal is resized. The bug has been fixed in "less" version 406 (June 2007), and the workaround has been removed in this release. * Some documentation pages that used to ship only in the plain text format are now formatted in HTML as well. v * "git-prompt" scriptlet (in contrib/completion) can be told to paint pieces of the hints in the prompt string in colors. * A new configuration variable "diff.context" can be used to give the default number of context lines in the patch output, to override the hardcoded default of 3 lines. * When "git checkout" checks out a branch, it tells the user how far behind (or ahead) the new branch is relative to the remote tracking branch it builds upon. The message now also advises how to sync them up by pushing or pulling. This can be disabled with the advice.statusHints configuration variable. * "git config --get" used to diagnose presence of multiple definitions of the same variable in the same configuration file as an error, but it now applies the "last one wins" rule used by the internal configuration logic. Strictly speaking, this may be an API regression but it is expected that nobody will notice it in practice. * "git log -p -S" now looks for the after applying the textconv filter (if defined); earlier it inspected the contents of the blobs without filtering. * "git format-patch" learned the "--notes=" option to give notes for the commit after the three-dash lines in its output. * "git log --grep=" learned to honor the "grep.patterntype" configuration set to "perl". * "git replace -d " now interprets as an extended SHA-1 (e.g. HEAD~4 is allowed), instead of only accepting full hex object name. * "git rm $submodule" used to punt on removing a submodule working tree to avoid losing the repository embedded in it. Because recent git uses a mechanism to separate the submodule repository from the submodule working tree, "git rm" learned to detect this case and removes the submodule working tree when it is safe to do so. * "git send-email" used to prompt for the sender address, even when the committer identity is well specified (e.g. via user.name and user.email configuration variables). The command no longer gives this prompt when not necessary. * "git send-email" did not allow non-address garbage strings to appear after addresses on Cc: lines in the patch files (and when told to pick them up to find more recipients), e.g. Cc: Stable Kernel # for v3.2 and up The command now strips " # for v3.2 and up" part before adding the remainder of this line to the list of recipients. * "git submodule add" learned to add a new submodule at the same path as the path where an unrelated submodule was bound to in an existing revision via the "--name" option. * "git submodule sync" learned the "--recursive" option. * "diff.submodule" configuration variable can be used to give custom default value to the "git diff --submodule" option. * "git symbolic-ref" learned the "-d $symref" option to delete the named symbolic ref, which is more intuitive way to spell it than "update-ref -d --no-deref $symref". Foreign Interface * "git cvsimport" can be told to record timezones (other than GMT) per-author via its author info file. * The remote helper interface to interact with subversion repositories (one of the GSoC 2012 projects) has been merged. * The documentation for git(1) was pointing at a page at an external site for the list of authors that no longer existed. The link has been updated to point at an alternative site. Performance, Internal Implementation, etc. * Compilation on Cygwin with newer header files are supported now. * A couple of low-level implementation updates on MinGW. * The logic to generate the initial advertisement from "upload-pack" (i.e. what is invoked by "git fetch" on the other side of the connection) to list what refs are available in the repository has been optimized. * The logic to find set of attributes that match a given path has been optimized. * Use preloadindex in "git diff-index" and "git update-index", which has a nice speedup on systems with slow stat calls (and even on Linux). Also contains minor documentation updates and code clean-ups. Fixes since v1.8.0 ------------------ Unless otherwise noted, all the fixes since v1.8.0 in the maintenance track are contained in this release (see release notes to them for details). * The configuration parser had an unnecessary hardcoded limit on variable names that was not checked consistently. * The "say" function in the test scaffolding incorrectly allowed "echo" to interpret "\a" as if it were a C-string asking for a BEL output. * "git mergetool" feeds /dev/null as a common ancestor when dealing with an add/add conflict, but p4merge backend cannot handle it. Work it around by passing a temporary empty file. * "git log -F -E --grep=''" failed to use the given pattern as extended regular expression, and instead looked for the string literally. * "git grep -e pattern " asked the attribute system to read ":.gitattributes" file in the working tree, which was nonsense. * A symbolic ref refs/heads/SYM was not correctly removed with "git branch -d SYM"; the command removed the ref pointed by SYM instead. * Update "remote tracking branch" in the documentation to "remote-tracking branch". * "git pull --rebase" run while the HEAD is detached tried to find the upstream branch of the detached HEAD (which by definition does not exist) and emitted unnecessary error messages. * The refs/replace hierarchy was not mentioned in the repository-layout docs. * Various rfc2047 quoting issues around a non-ASCII name on the From: line in the output from format-patch have been corrected. * Sometimes curl_multi_timeout() function suggested a wrong timeout value when there is no file descriptor to wait on and the http transport ended up sleeping for minutes in select(2) system call. A workaround has been added for this. * For a fetch refspec (or the result of applying wildcard on one), we always want the RHS to map to something inside "refs/" hierarchy, but the logic to check it was not exactly right. (merge 5c08c1f jc/maint-fetch-tighten-refname-check later to maint). * "git diff -G" did not honor textconv filter when looking for changes. * Some HTTP servers ask for auth only during the actual packing phase (not in ls-remote phase); this is not really a recommended configuration, but the clients used to fail to authenticate with such servers. (merge 2e736fd jk/maint-http-half-auth-fetch later to maint). * "git p4" used to try expanding malformed "$keyword$" that spans across multiple lines. * Syntax highlighting in "gitweb" was not quite working. * RSS feed from "gitweb" had a xss hole in its title output. * "git config --path $key" segfaulted on "[section] key" (a boolean "true" spelled without "=", not "[section] key = true"). * "git checkout -b foo" while on an unborn branch did not say "Switched to a new branch 'foo'" like other cases. * Various codepaths have workaround for a common misconfiguration to spell "UTF-8" as "utf8", but it was not used uniformly. Most notably, mailinfo (which is used by "git am") lacked this support. * We failed to mention a file without any content change but whose permission bit was modified, or (worse yet) a new file without any content in the "git diff --stat" output. * When "--stat-count" hides a diffstat for binary contents, the total number of added and removed lines at the bottom was computed incorrectly. * When "--stat-count" hides a diffstat for unmerged paths, the total number of affected files at the bottom of the "diff --stat" output was computed incorrectly. * "diff --shortstat" miscounted the total number of affected files when there were unmerged paths. * "update-ref -d --deref SYM" to delete a ref through a symbolic ref that points to it did not remove it correctly. ---------------------------------------------------------------- Changes since v1.8.1-rc2 are as follows: Adam Spiers (2): SubmittingPatches: add convention of prefixing commit messages Documentation: move support for old compilers to CodingGuidelines Chris Rorvick (2): Documentation/git-checkout.txt: clarify usage Documentation/git-checkout.txt: document 70c9ac2 behavior Jeff King (5): .mailmap: match up some obvious names/emails .mailmap: fix broken entry for Martin Langhoff .mailmap: normalize emails for Jeff King .mailmap: normalize emails for Linus Torvalds contrib: update stats/mailmap script John Keeping (1): Documentation: don't link to example mail addresses Junio C Hamano (5): fetch --tags: clarify documentation README: it does not matter who the current maintainer is t7004: do not create unneeded gpghome/gpg.conf when GPG is not used Documentation: Describe "git diff " separately Git 1.8.1-rc3 Nguyễn Thái Ngọc Duy (1): index-format.txt: clarify what is "invalid" Sebastian Leske (4): git-svn: Document branches with at-sign(@). git-svn: Recommend use of structure options. git-svn: Expand documentation for --follow-parent git-svn: Note about tags. Sitaram Chamarty (1): clarify -M without % symbol in diff-options Stefano Lattarini (1): README: Git is released under the GPLv2, not just "the GPL" Thomas Ackermann (3): Remove misleading date from api-index-skel.txt Remove duplicate entry in ./Documentation/Makefile Move ./technical/api-command.txt to ./howto/new-command.txt -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
Posted about 13 years ago by Junio C Hamano
A release candidate Git v1.8.1-rc2 is now available for testing at the usual places. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 0a65a3d203b8d6e320f15abb040e1137e333c967 ... [More] git-1.8.1.rc2.tar.gz e6bc111686e6864cc3f078b9523ef1057a7fff8f git-htmldocs-1.8.1.rc2.tar.gz 2c97472ae861454ff445868c40b49db66fa09f50 git-manpages-1.8.1.rc2.tar.gz Also the following public repositories all have a copy of the v1.8.1-rc2 tag and the master branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v1.8.1 Release Notes (draft) ======================== Backward compatibility notes ---------------------------- In the next major release (not *this* one), we will change the behavior of the "git push" command. When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). We will use the "simple" semantics that pushes the current branch to the branch with the same name, only when the current branch is set to integrate with that remote branch. There is a user preference configuration variable "push.default" to change this, and "git push" will warn about the upcoming change until you set this variable in this release. "git branch --set-upstream" is deprecated and may be removed in a relatively distant future. "git branch [-u|--set-upstream-to]" has been introduced with a saner order of arguments to replace it. Updates since v1.8.0 -------------------- UI, Workflows & Features * Command-line completion scripts for tcsh and zsh have been added. * A new remote-helper interface for Mercurial has been added to contrib/remote-helpers. * We used to have a workaround for a bug in ancient "less" that causes it to exit without any output when the terminal is resized. The bug has been fixed in "less" version 406 (June 2007), and the workaround has been removed in this release. * Some documentation pages that used to ship only in the plain text format are now formatted in HTML as well. * "git-prompt" scriptlet (in contrib/completion) can be told to paint pieces of the hints in the prompt string in colors. * A new configuration variable "diff.context" can be used to give the default number of context lines in the patch output, to override the hardcoded default of 3 lines. * When "git checkout" checks out a branch, it tells the user how far behind (or ahead) the new branch is relative to the remote tracking branch it builds upon. The message now also advises how to sync them up by pushing or pulling. This can be disabled with the advice.statusHints configuration variable. * "git config --get" used to diagnose presence of multiple definitions of the same variable in the same configuration file as an error, but it now applies the "last one wins" rule used by the internal configuration logic. Strictly speaking, this may be an API regression but it is expected that nobody will notice it in practice. * "git log -p -S" now looks for the after applying the textconv filter (if defined); earlier it inspected the contents of the blobs without filtering. * "git format-patch" learned the "--notes=" option to give notes for the commit after the three-dash lines in its output. * "git log --grep=" learned to honor the "grep.patterntype" configuration set to "perl". * "git replace -d " now interprets as an extended SHA-1 (e.g. HEAD~4 is allowed), instead of only accepting full hex object name. * "git rm $submodule" used to punt on removing a submodule working tree to avoid losing the repository embedded in it. Because recent git uses a mechanism to separate the submodule repository from the submodule working tree, "git rm" learned to detect this case and removes the submodule working tree when it is safe to do so. * "git send-email" used to prompt for the sender address, even when the committer identity is well specified (e.g. via user.name and user.email configuration variables). The command no longer gives this prompt when not necessary. * "git send-email" did not allow non-address garbage strings to appear after addresses on Cc: lines in the patch files (and when told to pick them up to find more recipients), e.g. Cc: Stable Kernel # for v3.2 and up The command now strips " # for v3.2 and up" part before adding the remainder of this line to the list of recipients. * "git submodule add" learned to add a new submodule at the same path as the path where an unrelated submodule was bound to in an existing revision via the "--name" option. * "git submodule sync" learned the "--recursive" option. * "diff.submodule" configuration variable can be used to give custom default value to the "git diff --submodule" option. * "git symbolic-ref" learned the "-d $symref" option to delete the named symbolic ref, which is more intuitive way to spell it than "update-ref -d --no-deref $symref". Foreign Interface * "git cvsimport" can be told to record timezones (other than GMT) per-author via its author info file. * The remote helper interface to interact with subversion repositories (one of the GSoC 2012 projects) has been merged. * The documentation for git(1) was pointing at a page at an external site for the list of authors that no longer existed. The link has been updated to point at an alternative site. Performance, Internal Implementation, etc. * Compilation on Cygwin with newer header files are supported now. * A couple of low-level implementation updates on MinGW. * The logic to generate the initial advertisement from "upload-pack" (i.e. what is invoked by "git fetch" on the other side of the connection) to list what refs are available in the repository has been optimized. * The logic to find set of attributes that match a given path has been optimized. * Use preloadindex in "git diff-index" and "git update-index", which has a nice speedup on systems with slow stat calls (and even on Linux). Also contains minor documentation updates and code clean-ups. Fixes since v1.8.0 ------------------ Unless otherwise noted, all the fixes since v1.8.0 in the maintenance track are contained in this release (see release notes to them for details). * The configuration parser had an unnecessary hardcoded limit on variable names that was not checked consistently. * The "say" function in the test scaffolding incorrectly allowed "echo" to interpret "\a" as if it were a C-string asking for a BEL output. * "git mergetool" feeds /dev/null as a common ancestor when dealing with an add/add conflict, but p4merge backend cannot handle it. Work it around by passing a temporary empty file. * "git log -F -E --grep=''" failed to use the given pattern as extended regular expression, and instead looked for the string literally. * "git grep -e pattern " asked the attribute system to read ":.gitattributes" file in the working tree, which was nonsense. * A symbolic ref refs/heads/SYM was not correctly removed with "git branch -d SYM"; the command removed the ref pointed by SYM instead. * Update "remote tracking branch" in the documentation to "remote-tracking branch". * "git pull --rebase" run while the HEAD is detached tried to find the upstream branch of the detached HEAD (which by definition does not exist) and emitted unnecessary error messages. * The refs/replace hierarchy was not mentioned in the repository-layout docs. * Various rfc2047 quoting issues around a non-ASCII name on the From: line in the output from format-patch have been corrected. * Sometimes curl_multi_timeout() function suggested a wrong timeout value when there is no file descriptor to wait on and the http transport ended up sleeping for minutes in select(2) system call. A workaround has been added for this. * For a fetch refspec (or the result of applying wildcard on one), we always want the RHS to map to something inside "refs/" hierarchy, but the logic to check it was not exactly right. (merge 5c08c1f jc/maint-fetch-tighten-refname-check later to maint). * "git diff -G" did not honor textconv filter when looking for changes. * Some HTTP servers ask for auth only during the actual packing phase (not in ls-remote phase); this is not really a recommended configuration, but the clients used to fail to authenticate with such servers. (merge 2e736fd jk/maint-http-half-auth-fetch later to maint). * "git p4" used to try expanding malformed "$keyword$" that spans across multiple lines. * Syntax highlighting in "gitweb" was not quite working. * RSS feed from "gitweb" had a xss hole in its title output. * "git config --path $key" segfaulted on "[section] key" (a boolean "true" spelled without "=", not "[section] key = true"). * "git checkout -b foo" while on an unborn branch did not say "Switched to a new branch 'foo'" like other cases. * Various codepaths have workaround for a common misconfiguration to spell "UTF-8" as "utf8", but it was not used uniformly. Most notably, mailinfo (which is used by "git am") lacked this support. * We failed to mention a file without any content change but whose permission bit was modified, or (worse yet) a new file without any content in the "git diff --stat" output. * When "--stat-count" hides a diffstat for binary contents, the total number of added and removed lines at the bottom was computed incorrectly. * When "--stat-count" hides a diffstat for unmerged paths, the total number of affected files at the bottom of the "diff --stat" output was computed incorrectly. * "diff --shortstat" miscounted the total number of affected files when there were unmerged paths. * "update-ref -d --deref SYM" to delete a ref through a symbolic ref that points to it did not remove it correctly. ---------------------------------------------------------------- Changes since v1.8.1-rc1 are as follows: Anders Kaseorg (1): git-prompt: Document GIT_PS1_DESCRIBE_STYLE Erik Faye-Lund (7): mingw: correct exit-code for SIGALRM's SIG_DFL mingw: make fgetc raise SIGINT if apropriate compat/terminal: factor out echo-disabling compat/terminal: separate input and output handles mingw: reuse tty-version of git_terminal_prompt mingw: get rid of getpass implementation mingw_rmdir: do not prompt for retry when non-empty Jeff King (1): remote-testsvn: fix unitialized variable Junio C Hamano (5): git(1): remove a defunct link to "list of authors" Git 1.8.0.2 git-prompt.sh: update PROMPT_COMMAND documentation git(1): show link to contributor summary page Git 1.8.1-rc2 Manlio Perillo (1): git.txt: add missing info about --git-dir command-line option Marc Khouzam (1): Add file completion to tcsh git completion. Matthew Daley (1): Fix sizeof usage in get_permutations Max Horn (6): git-remote-helpers.txt: document invocation before input format git-remote-helpers.txt: document missing capabilities git-remote-helpers.txt: minor grammar fix git-remote-helpers.txt: rearrange description of capabilities git-remote-helpers.txt: clarify command <-> capability correspondences git-remote-helpers.txt: clarify options & ref list attributes Stefano Lattarini (1): Makefile: whitespace style fixes in macro definitions Sébastien Loriot (1): Documentation/git-stash.txt: add a missing verb Thomas Ackermann (1): Renumber list in api-command.txt -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
Posted about 13 years ago by Junio C Hamano
The latest maintenance release Git v1.8.0.2 is now available at the usual places. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 1e1640794596da40f35194c29a8cc4e41c6b4f6d ... [More] git-1.8.0.2.tar.gz 6b9e14c5b19b2e27605014252febd61a700012a3 git-htmldocs-1.8.0.2.tar.gz ce0673256ce90451269a82a2464eab060adbfec6 git-manpages-1.8.0.2.tar.gz Also the following public repositories all have a copy of the v1.8.0.2 tag and the maint branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v1.8.0.2 Release Notes ========================== Fixes since v1.8.0.1 -------------------- * Various codepaths have workaround for a common misconfiguration to spell "UTF-8" as "utf8", but it was not used uniformly. Most notably, mailinfo (which is used by "git am") lacked this support. * We failed to mention a file without any content change but whose permission bit was modified, or (worse yet) a new file without any content in the "git diff --stat" output. * When "--stat-count" hides a diffstat for binary contents, the total number of added and removed lines at the bottom was computed incorrectly. * When "--stat-count" hides a diffstat for unmerged paths, the total number of affected files at the bottom of the "diff --stat" output was computed incorrectly. * "diff --shortstat" miscounted the total number of affected files when there were unmerged paths. * "git p4" used to try expanding malformed "$keyword$" that spans across multiple lines. * "git update-ref -d --deref SYM" to delete a ref through a symbolic ref that points to it did not remove it correctly. * Syntax highlighting in "gitweb" was not quite working. Also contains other minor fixes and documentation updates. ---------------------------------------------------------------- Changes since v1.8.0.1 are as follows: Antoine Pelisse (1): Fix typo in remote set-head usage Eric S. Raymond (1): doc/fast-import: clarify how content states are built Johan Herland (2): t1400-update-ref: Add test verifying bug with symrefs in delete_ref() Fix failure to delete a packed ref through a symref Junio C Hamano (13): reencode_string(): introduce and use same_encoding() test: add failing tests for "diff --stat" to t4049 diff --stat: status of unmodified pair in diff-q is not zero diff --stat: use "file" temporary variable to refer to data->files[i] diff --stat: move the "total count" logic to the last loop diff --stat: do not count "unmerged" entries diff --shortstat: do not count "unmerged" entries Documentation/git-push.txt: clarify the "push from satellite" workflow Start preparing for 1.8.0.2 t4049: refocus tests Update draft release notes to 1.8.0.2 git(1): remove a defunct link to "list of authors" Git 1.8.0.2 Linus Torvalds (1): Fix "git diff --stat" for interesting - but empty - file changes Mark Szepieniec (1): Documentation: improve phrasing in git-push.txt Matthieu Moy (2): git-remote-mediawiki: escape ", \, and LF in file names git-fast-import.txt: improve documentation for quoted paths Nguyễn Thái Ngọc Duy (1): compat/fnmatch: fix off-by-one character class's length check Paul Gortmaker (1): Makefile: hide stderr of curl-config test Pete Wyckoff (1): git p4: RCS expansion should not span newlines Ralf Thielow (1): completion: add options --single-branch and --branch to "git clone" Richard Hubbell (1): gitweb.perl: fix %highlight_ext mappings Sébastien Loriot (1): Documentation/git-stash.txt: add a missing verb W. Trevor King (1): git-submodule: wrap branch option with "<>" in usage strings. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
Posted about 13 years ago by Junio C Hamano
A release candidate Git v1.8.1-rc1 is now available for testing at the usual places. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 4b451bb5b7125349c35cf15118e8f1893569e48f ... [More] git-1.8.1.rc1.tar.gz 7416b28a0917fef26ca06f22bc493ebea371267f git-htmldocs-1.8.1.rc1.tar.gz b5758adf5814d64ee8e0d26bdfb919be1c605071 git-manpages-1.8.1.rc1.tar.gz Also the following public repositories all have a copy of the v1.8.1-rc1 tag and the master branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v1.8.1 Release Notes (draft) ======================== Backward compatibility notes ---------------------------- In the next major release (not *this* one), we will change the behavior of the "git push" command. When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). We will use the "simple" semantics that pushes the current branch to the branch with the same name, only when the current branch is set to integrate with that remote branch. There is a user preference configuration variable "push.default" to change this, and "git push" will warn about the upcoming change until you set this variable in this release. "git branch --set-upstream" is deprecated and may be removed in a relatively distant future. "git branch [-u|--set-upstream-to]" has been introduced with a saner order of arguments to replace it. Updates since v1.8.0 -------------------- UI, Workflows & Features * Command-line completion scripts for tcsh and zsh have been added. * A new remote-helper interface for Mercurial has been added to contrib/remote-helpers. * We used to have a workaround for a bug in ancient "less" that causes it to exit without any output when the terminal is resized. The bug has been fixed in "less" version 406 (June 2007), and the workaround has been removed in this release. * Some documentation pages that used to ship only in the plain text format are now formatted in HTML as well. * "git-prompt" scriptlet (in contrib/completion) can be told to paint pieces of the hints in the prompt string in colors. * A new configuration variable "diff.context" can be used to give the default number of context lines in the patch output, to override the hardcoded default of 3 lines. * When "git checkout" checks out a branch, it tells the user how far behind (or ahead) the new branch is relative to the remote tracking branch it builds upon. The message now also advises how to sync them up by pushing or pulling. This can be disabled with the advice.statusHints configuration variable. * "git config --get" used to diagnose presence of multiple definitions of the same variable in the same configuration file as an error, but it now applies the "last one wins" rule used by the internal configuration logic. Strictly speaking, this may be an API regression but it is expected that nobody will notice it in practice. * "git log -p -S" now looks for the after applying the textconv filter (if defined); earlier it inspected the contents of the blobs without filtering. * "git format-patch" learned the "--notes=" option to give notes for the commit after the three-dash lines in its output. * "git log --grep=" learned to honor the "grep.patterntype" configuration set to "perl". * "git replace -d " now interprets as an extended SHA-1 (e.g. HEAD~4 is allowed), instead of only accepting full hex object name. * "git rm $submodule" used to punt on removing a submodule working tree to avoid losing the repository embedded in it. Because recent git uses a mechanism to separate the submodule repository from the submodule working tree, "git rm" learned to detect this case and removes the submodule working tree when it is safe to do so. * "git send-email" used to prompt for the sender address, even when the committer identity is well specified (e.g. via user.name and user.email configuration variables). The command no longer gives this prompt when not necessary. * "git send-email" did not allow non-address garbage strings to appear after addresses on Cc: lines in the patch files (and when told to pick them up to find more recipients), e.g. Cc: Stable Kernel # for v3.2 and up The command now strips " # for v3.2 and up" part before adding the remainder of this line to the list of recipients. * "git submodule add" learned to add a new submodule at the same path as the path where an unrelated submodule was bound to in an existing revision via the "--name" option. * "git submodule sync" learned the "--recursive" option. * "diff.submodule" configuration variable can be used to give custom default value to the "git diff --submodule" option. * "git symbolic-ref" learned the "-d $symref" option to delete the named symbolic ref, which is more intuitive way to spell it than "update-ref -d --no-deref $symref". Foreign Interface * "git cvsimport" can be told to record timezones (other than GMT) per-author via its author info file. * The remote helper interface to interact with subversion repositories (one of the GSoC 2012 projects) has been merged. Performance, Internal Implementation, etc. * Compilation on Cygwin with newer header files are supported now. * The logic to generate the initial advertisement from "upload-pack" (i.e. what is invoked by "git fetch" on the other side of the connection) to list what refs are available in the repository has been optimized. * The logic to find set of attributes that match a given path has been optimized. * Use preloadindex in "git diff-index" and "git update-index", which has a nice speedup on systems with slow stat calls (and even on Linux). Also contains minor documentation updates and code clean-ups. Fixes since v1.8.0 ------------------ Unless otherwise noted, all the fixes since v1.8.0 in the maintenance track are contained in this release (see release notes to them for details). * The configuration parser had an unnecessary hardcoded limit on variable names that was not checked consistently. * The "say" function in the test scaffolding incorrectly allowed "echo" to interpret "\a" as if it were a C-string asking for a BEL output. * "git mergetool" feeds /dev/null as a common ancestor when dealing with an add/add conflict, but p4merge backend cannot handle it. Work it around by passing a temporary empty file. * "git log -F -E --grep=''" failed to use the given pattern as extended regular expression, and instead looked for the string literally. * "git grep -e pattern " asked the attribute system to read ":.gitattributes" file in the working tree, which was nonsense. * A symbolic ref refs/heads/SYM was not correctly removed with "git branch -d SYM"; the command removed the ref pointed by SYM instead. * Update "remote tracking branch" in the documentation to "remote-tracking branch". * "git pull --rebase" run while the HEAD is detached tried to find the upstream branch of the detached HEAD (which by definition does not exist) and emitted unnecessary error messages. * The refs/replace hierarchy was not mentioned in the repository-layout docs. * Various rfc2047 quoting issues around a non-ASCII name on the From: line in the output from format-patch have been corrected. * Sometimes curl_multi_timeout() function suggested a wrong timeout value when there is no file descriptor to wait on and the http transport ended up sleeping for minutes in select(2) system call. A workaround has been added for this. * For a fetch refspec (or the result of applying wildcard on one), we always want the RHS to map to something inside "refs/" hierarchy, but the logic to check it was not exactly right. (merge 5c08c1f jc/maint-fetch-tighten-refname-check later to maint). * "git diff -G" did not honor textconv filter when looking for changes. * Some HTTP servers ask for auth only during the actual packing phase (not in ls-remote phase); this is not really a recommended configuration, but the clients used to fail to authenticate with such servers. (merge 2e736fd jk/maint-http-half-auth-fetch later to maint). * "git p4" used to try expanding malformed "$keyword$" that spans across multiple lines. * Syntax highlighting in "gitweb" was not quite working. * RSS feed from "gitweb" had a xss hole in its title output. * "git config --path $key" segfaulted on "[section] key" (a boolean "true" spelled without "=", not "[section] key = true"). * "git checkout -b foo" while on an unborn branch did not say "Switched to a new branch 'foo'" like other cases. * Various codepaths have workaround for a common misconfiguration to spell "UTF-8" as "utf8", but it was not used uniformly. Most notably, mailinfo (which is used by "git am") lacked this support. * We failed to mention a file without any content change but whose permission bit was modified, or (worse yet) a new file without any content in the "git diff --stat" output. * When "--stat-count" hides a diffstat for binary contents, the total number of added and removed lines at the bottom was computed incorrectly. * When "--stat-count" hides a diffstat for unmerged paths, the total number of affected files at the bottom of the "diff --stat" output was computed incorrectly. * "diff --shortstat" miscounted the total number of affected files when there were unmerged paths. * "update-ref -d --deref SYM" to delete a ref through a symbolic ref that points to it did not remove it correctly. ---------------------------------------------------------------- Changes since v1.8.1-rc0 are as follows: Jiang Xin (1): l10n: Update git.pot (5 new, 1 removed messages) Junio C Hamano (3): Update draft release notes to 1.8.0.2 Documentation/diff-config: work around AsciiDoc misfortune Git 1.8.1-rc1 Matthieu Moy (1): document that statusHints affects git checkout Peter Krefting (1): l10n: Update Swedish translation (1979t0f0u) Ralf Thielow (2): l10n: de.po: translate 825 new messages l10n: de.po: translate 22 new messages Ramkumar Ramachandra (4): t4041 (diff-submodule-option): don't hardcode SHA-1 in expected outputs t4041 (diff-submodule-option): parse digests sensibly t4041 (diff-submodule-option): rewrite add_file() routine t4041 (diff-submodule-option): modernize style Tran Ngoc Quan (1): l10n: vi.po: update to git-v1.8.0.1-347-gf94c3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
Posted over 13 years ago by Junio C Hamano
A release candidate preview, Git v1.8.1-rc0, is now available for testing at the usual places. This cycle has been a bit slow (perhaps because it had a major US holiday to slow people down) but we seem to have managed to apply reasonably large ... [More] number of usability improvement changes, with a handful of new features. There are several new and large-ish topics that are cooking in 'next', but I think we would better keep them cooking there without merging them to 'master' before the upcoming release to happen before the year end. So as far as features goes, this preview release is pretty much *it*. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 39faaa15bc71f8eb52048e77ea564cecf78c7adf git-1.8.1.rc0.tar.gz 2eeba24488337de02b58dc442258d58b79e2b8f4 git-htmldocs-1.8.1.rc0.tar.gz b28d1f8e8b9268b712b33fbdfb67dd6f14afb499 git-manpages-1.8.1.rc0.tar.gz Also the following public repositories all have a copy of the v1.8.1-rc0 tag and the master branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v1.8.1 Release Notes (draft) ======================== Backward compatibility notes ---------------------------- In the next major release (not *this* one), we will change the behavior of the "git push" command. When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). We will use the "simple" semantics that pushes the current branch to the branch with the same name, only when the current branch is set to integrate with that remote branch. There is a user preference configuration variable "push.default" to change this, and "git push" will warn about the upcoming change until you set this variable in this release. "git branch --set-upstream" is deprecated and may be removed in a relatively distant future. "git branch [-u|--set-upstream-to]" has been introduced with a saner order of arguments to replace it. Updates since v1.8.0 -------------------- UI, Workflows & Features * Command-line completion scripts for tcsh and zsh have been added. * A new remote-helper interface for Mercurial has been added to contrib/remote-helpers. * We used to have a workaround for a bug in ancient "less" that causes it to exit without any output when the terminal is resized. The bug has been fixed in "less" version 406 (June 2007), and the workaround has been removed in this release. * Some documentation pages that used to ship only in the plain text format are now formatted in HTML as well. * "git-prompt" scriptlet (in contrib/completion) can be told to paint pieces of the hints in the prompt string in colors. * A new configuration variable "diff.context" can be used to give the default number of context lines in the patch output, to override the hardcoded default of 3 lines. * When "git checkout" checks out a branch, it tells the user how far behind (or ahead) the new branch is relative to the remote tracking branch it builds upon. The message now also advises how to sync them up by pushing or pulling. This can be disabled with the advice.statusHints configuration variable. * "git config --get" used to diagnose presence of multiple definitions of the same variable in the same configuration file as an error, but it now applies the "last one wins" rule used by the internal configuration logic. Strictly speaking, this may be an API regression but it is expected that nobody will notice it in practice. * "git log -p -S" now looks for the after applying the textconv filter (if defined); earlier it inspected the contents of the blobs without filtering. * "git format-patch" learned the "--notes=" option to give notes for the commit after the three-dash lines in its output. * "git log --grep=" learned to honor the "grep.patterntype" configuration set to "perl". * "git replace -d " now interprets as an extended SHA-1 (e.g. HEAD~4 is allowed), instead of only accepting full hex object name. * "git rm $submodule" used to punt on removing a submodule working tree to avoid losing the repository embedded in it. Because recent git uses a mechanism to separate the submodule repository from the submodule working tree, "git rm" learned to detect this case and removes the submodule working tree when it is safe to do so. * "git send-email" used to prompt for the sender address, even when the committer identity is well specified (e.g. via user.name and user.email configuration variables). The command no longer gives this prompt when not necessary. * "git send-email" did not allow non-address garbage strings to appear after addresses on Cc: lines in the patch files (and when told to pick them up to find more recipients), e.g. Cc: Stable Kernel # for v3.2 and up The command now strips " # for v3.2 and up" part before adding the remainder of this line to the list of recipients. * "git submodule add" learned to add a new submodule at the same path as the path where an unrelated submodule was bound to in an existing revision via the "--name" option. * "git submodule sync" learned the "--recursive" option. * "diff.submodule" configuration variable can be used to give custom default value to the "git diff --submodule" option. * "git symbolic-ref" learned the "-d $symref" option to delete the named symbolic ref, which is more intuitive way to spell it than "update-ref -d --no-deref $symref". Foreign Interface * "git cvsimport" can be told to record timezones (other than GMT) per-author via its author info file. * The remote helper interface to interact with subversion repositories (one of the GSoC 2012 projects) has been merged. Performance, Internal Implementation, etc. * Compilation on Cygwin with newer header files are supported now. * The logic to generate the initial advertisement from "upload-pack" (i.e. what is invoked by "git fetch" on the other side of the connection) to list what refs are available in the repository has been optimized. * The logic to find set of attributes that match a given path has been optimized. * Use preloadindex in "git diff-index" and "git update-index", which has a nice speedup on systems with slow stat calls (and even on Linux). Also contains minor documentation updates and code clean-ups. Fixes since v1.8.0 ------------------ Unless otherwise noted, all the fixes since v1.8.0 in the maintenance track are contained in this release (see release notes to them for details). * The configuration parser had an unnecessary hardcoded limit on variable names that was not checked consistently. (merge 0971e99 bw/config-lift-variable-name-length-limit later to maint). * The "say" function in the test scaffolding incorrectly allowed "echo" to interpret "\a" as if it were a C-string asking for a BEL output. (merge 7bc0911 jc/test-say-color-avoid-echo-escape later to maint). * "git mergetool" feeds /dev/null as a common ancestor when dealing with an add/add conflict, but p4merge backend cannot handle it. Work it around by passing a temporary empty file. (merge 3facc60 da/mergetools-p4 later to maint). * "git log -F -E --grep=''" failed to use the given pattern as extended regular expression, and instead looked for the string literally. (merge 727b6fc jc/grep-pcre-loose-ends~1 later to maint). * "git grep -e pattern " asked the attribute system to read ":.gitattributes" file in the working tree, which was nonsense. (merge 55c6168 nd/grep-true-path later to maint). * A symbolic ref refs/heads/SYM was not correctly removed with "git branch -d SYM"; the command removed the ref pointed by SYM instead. (merge 13baa9f rs/branch-del-symref later to maint). * Update "remote tracking branch" in the documentation to "remote-tracking branch". (merge a6d3bde mm/maint-doc-remote-tracking later to maint). * "git pull --rebase" run while the HEAD is detached tried to find the upstream branch of the detached HEAD (which by definition does not exist) and emitted unnecessary error messages. (merge e980765 ph/pull-rebase-detached later to maint). * The refs/replace hierarchy was not mentioned in the repository-layout docs. (merge 11fbe18 po/maint-refs-replace-docs later to maint). * Various rfc2047 quoting issues around a non-ASCII name on the From: line in the output from format-patch have been corrected. (merge 25dc8da js/format-2047 later to maint). * Sometimes curl_multi_timeout() function suggested a wrong timeout value when there is no file descriptor to wait on and the http transport ended up sleeping for minutes in select(2) system call. A workaround has been added for this. (merge 7202b81 sz/maint-curl-multi-timeout later to maint). * For a fetch refspec (or the result of applying wildcard on one), we always want the RHS to map to something inside "refs/" hierarchy, but the logic to check it was not exactly right. (merge 5c08c1f jc/maint-fetch-tighten-refname-check later to maint). * "git diff -G" did not honor textconv filter when looking for changes. (merge b1c2f57 jk/maint-diff-grep-textconv later to maint). * Some HTTP servers ask for auth only during the actual packing phase (not in ls-remote phase); this is not really a recommended configuration, but the clients used to fail to authenticate with such servers. (merge 2e736fd jk/maint-http-half-auth-fetch later to maint). * "git p4" used to try expanding malformed "$keyword$" that spans across multiple lines. (merge 6b2bf41 pw/maint-p4-rcs-expansion-newline later to maint). * Syntax highlighting in "gitweb" was not quite working. (merge 048b399 rh/maint-gitweb-highlight-ext later to maint). * RSS feed from "gitweb" had a xss hole in its title output. (merge 0f0ecf6 jk/maint-gitweb-xss later to maint). * "git config --path $key" segfaulted on "[section] key" (a boolean "true" spelled without "=", not "[section] key = true"). (merge 962c38e cn/config-missing-path later to maint). * "git checkout -b foo" while on an unborn branch did not say "Switched to a new branch 'foo'" like other cases. (merge afa8c07 jk/checkout-out-of-unborn later to maint). * We failed to mention a file without any content change but whose permission bit was modified, or (worse yet) a new file without any content in the "git diff --stat" output. (merge de9095955 lt/diff-stat-show-0-lines later to maint). * When "--stat-count" hides a diffstat for binary contents, the total number of added and removed lines at the bottom was computed incorrectly. (merge de9095955 lt/diff-stat-show-0-lines later to maint). * When "--stat-count" hides a diffstat for unmerged paths, the total number of affected files at the bottom of the "diff --stat" output was computed incorrectly. (merge de9095955 lt/diff-stat-show-0-lines later to maint). * "diff --shortstat" miscounted the total number of affected files when there were unmerged paths. (merge de9095955 lt/diff-stat-show-0-lines later to maint). * "update-ref -d --deref SYM" to delete a ref through a symbolic ref that points to it did not remove it correctly. (merge b274a71 jh/update-ref-d-through-symref later to maint). -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
Posted over 13 years ago by Junio C Hamano
The latest maintenance release Git v1.8.0.1 is now available at the usual places. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 4e7492f7558f3ba2a450c43efa7de3b0b1adc6c1 ... [More] git-1.8.0.1.tar.gz 6c0e64d53a8543447f595e3bac4966ba9257e783 git-htmldocs-1.8.0.1.tar.gz cb26eea4ebe53b41cbc5c5f430499f7d76605414 git-manpages-1.8.0.1.tar.gz Also the following public repositories all have a copy of the v1.8.0.1 tag and the maint branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v1.8.0.1 Release Notes ========================== Fixes since v1.8.0 ------------------ * The configuration parser had an unnecessary hardcoded limit on variable names that was not checked consistently. * The "say" function in the test scaffolding incorrectly allowed "echo" to interpret "\a" as if it were a C-string asking for a BEL output. * "git mergetool" feeds /dev/null as a common ancestor when dealing with an add/add conflict, but p4merge backend cannot handle it. Work it around by passing a temporary empty file. * "git log -F -E --grep=''" failed to use the given pattern as extended regular expression, and instead looked for the string literally. * "git grep -e pattern " asked the attribute system to read ":.gitattributes" file in the working tree, which was nonsense. * A symbolic ref refs/heads/SYM was not correctly removed with "git branch -d SYM"; the command removed the ref pointed by SYM instead. * Earlier we fixed documentation to hyphenate "remote-tracking branch" to clarify that these are not a remote entity, but unhyphenated spelling snuck in to a few places since then. * "git pull --rebase" run while the HEAD is detached tried to find the upstream branch of the detached HEAD (which by definition does not exist) and emitted unnecessary error messages. * The refs/replace hierarchy was not mentioned in the repository-layout docs. * Sometimes curl_multi_timeout() function suggested a wrong timeout value when there is no file descriptors to wait on and the http transport ended up sleeping for minutes in select(2) system call. A workaround has been added for this. * Various rfc2047 quoting issues around a non-ASCII name on the From: line in the output from format-patch have been corrected. * "git diff -G" did not honor textconv filter when looking for changes. * Bash completion script (in contrib/) did not correctly complete a lazy "git checkout $name_of_remote_tracking_branch_that_is_unique" command line. * RSS feed from "gitweb" had a xss hole in its title output. * "git config --path $key" segfaulted on "[section] key" (a boolean "true" spelled without "=", not "[section] key = true"). * "git checkout -b foo" while on an unborn branch did not say "Switched to a new branch 'foo'" like other cases. Also contains other minor fixes and documentation updates. ---------------------------------------------------------------- Changes since v1.8.0 are as follows: Andreas Schwab (1): commit: fixup misplacement of --no-post-rewrite description Ben Walton (1): Remove the hard coded length limit on variable names in config files Carlos Martín Nieto (1): config: don't segfault when given --path with a missing value David Aguilar (1): mergetools/p4merge: Handle "/dev/null" Jan H. Schönherr (7): utf8: fix off-by-one wrapping of text format-patch: do not wrap non-rfc2047 headers too early format-patch: do not wrap rfc2047 encoded headers too late format-patch: introduce helper function last_line_length() format-patch: make rfc2047 encoding more strict format-patch: fix rfc2047 address encoding with respect to rfc822 specials format-patch tests: check quoting/encoding in To: and Cc: headers Jeff King (3): diff_grep: use textconv buffers for add/deleted files gitweb: escape html in rss title checkout: print a message when switching unborn branches Junio C Hamano (9): builtin/grep.c: make configuration callback more reusable grep: move the configuration parsing logic to grep.[ch] grep: move pattern-type bits support to top-level grep.[ch] revisions: initialize revs->grep_filter using grep_init() log --grep: use the same helper to set -E/-F options as "git grep" test-lib: Fix say_color () not to interpret \a\b\c in the message Start preparing for 1.8.0.1 Further preparation for 1.8.0.1 Git 1.8.0.1 Marc Khouzam (1): Completion must sort before using uniq Matthieu Moy (2): Documentation: remote tracking branch -> remote-tracking branch Document 'git commit --no-edit' explicitly Michael J Gruber (1): push/pull: adjust missing upstream help text to changed interface Nguyễn Thái Ngọc Duy (1): grep: stop looking at random places for .gitattributes Phil Hord (1): git-pull: Avoid merge-base on detached head Philip Oakley (1): Doc repository-layout: Show refs/replace René Scharfe (6): refs: lock symref that is to be deleted, not its target branch: factor out check_branch_commit() branch: factor out delete_branch_config() branch: delete symref branch, not its target branch: skip commit checks when deleting symref branches branch: show targets of deleted symrefs, not sha1s Romain Francoise (1): mailmap: avoid out-of-bounds memory access Stefan Zager (1): Fix potential hang in https handshake -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
Posted over 13 years ago by Sitaram Chamarty
Hello all, Gitolite now supports namespaces on the server side (invisible to the client side of course). See [1] for details. A simple way to describe it would be that all the repos in the top row of the picture in the "integration manager ... [More] workflow" at [2] are stored in one physical repo on the server, which saves a lot of disk space as well as network traffic for pushes to a "new" repo. This is all on the server side. On the client side they continue to look like separate repos, so nothing changes. In addition, gitolite's 'upstream' trigger can be used to keep the main repo in sync with the real upstream (somewhere on the internet) if you wish. A bit more detail and a small example is at [3]. [1]: http://sitaramc.github.com/gitolite/namespaces.html [2]: http://git-scm.com/book/en/Distributed-Git-Distributed-Workflows#Integration-Manager-Workflow [3]: http://groups.google.com/group/gitolite/browse_thread/thread/5efcbfb5ff3ebe88 -- Sitaram -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
Posted over 13 years ago by Junio C Hamano
The latest feature release Git v1.8.0 is now available at the usual places. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: a03afc33f8f0723ad12649d79f1e8968526b4bf7 ... [More] git-1.8.0.tar.gz 93c860cf4cd26d4b3e269b0903b833db1c1f0f8e git-htmldocs-1.8.0.tar.gz a6fa49be36f265e85b7252d36364d4c7f38530ea git-manpages-1.8.0.tar.gz Also the following public repositories all have a copy of the v1.8.0 tag and the master branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Enjoy. Git v1.8.0 Release Notes ======================== Backward compatibility notes ---------------------------- In the next major release (not *this* one), we will change the behavior of the "git push" command. When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). We will use the "simple" semantics that pushes the current branch to the branch with the same name, only when the current branch is set to integrate with that remote branch. There is a user preference configuration variable "push.default" to change this, and "git push" will warn about the upcoming change until you set this variable in this release. "git branch --set-upstream" is deprecated and may be removed in a relatively distant future. "git branch [-u|--set-upstream-to]" has been introduced with a saner order of arguments. Updates since v1.7.12 --------------------- UI, Workflows & Features * A credential helper for Win32 to allow access to the keychain of the logged-in user has been added. * An initial port to HP NonStop. * A credential helper to allow access to the Gnome keyring has been added. * When "git am" sanitizes the "Subject:" line, we strip the prefix from "Re: subject" and also from a less common "re: subject", but left the even less common "RE: subject" intact. Now we strip that too. * It was tempting to say "git branch --set-upstream origin/master", but that tells Git to arrange the local branch "origin/master" to integrate with the currently checked out branch, which is highly unlikely what the user meant. The option is deprecated; use the new "--set-upstream-to" (with a short-and-sweet "-u") option instead. * "git cherry-pick" learned the "--allow-empty-message" option to allow it to replay a commit without any log message. * After "git cherry-pick -s" gave control back to the user asking help to resolve conflicts, concluding "git commit" used to need to be run with "-s" if the user wants to sign it off; now the command leaves the sign-off line in the log template. * "git daemon" learned the "--access-hook" option to allow an external command to decline service based on the client address, repository path, etc. * "git difftool --dir-diff" learned to use symbolic links to prepare a temporary copy of the working tree when available. * "git grep" learned to use a non-standard pattern type by default if a configuration variable tells it to. * Accumulated updates to "git gui" has been merged. * "git log -g" learned the "--grep-reflog=" option to limit its output to commits with a reflog message that matches the given pattern. * "git merge-base" learned the "--is-ancestor A B" option to tell if A is an ancestor of B. The result is indicated by its exit status code. * "git mergetool" now allows users to override the actual command used with the mergetool.$name.cmd configuration variable even for built-in mergetool backends. * "git rebase -i" learned the "--edit-todo" option to open an editor to edit the instruction sheet. Foreign Interface * "git svn" has been updated to work with SVN 1.7. * "git p4" learned the "--conflicts" option to specify what to do when encountering a conflict during "p4 submit". Performance, Internal Implementation, etc. * Git ships with a fall-back regexp implementation for platforms with buggy regexp library, but it was easy for people to keep using their platform regexp by mistake. A new test has been added to check this. * The "check-docs" build target has been updated and greatly simplified. * The test suite is run under MALLOC_CHECK_ when running with a glibc that supports the feature. * The documentation in the TeXinfo format was using indented output for materials meant to be examples that are better typeset in monospace. * Compatibility wrapper around some mkdir(2) implementations that reject parameters with trailing slash has been introduced. * Compatibility wrapper for systems that lack usable setitimer() has been added. * The option parsing of "git checkout" had error checking, dwim and defaulting missing options, all mixed in the code, and issuing an appropriate error message with useful context was getting harder. The code has been reorganized to allow giving a proper diagnosis when the user says "git checkout -b -t foo bar" (e.g. "-t" is not a good name for a branch). * Many internal uses of a "git merge-base" equivalent were only to see if one commit fast-forwards to the other, which did not need the full set of merge bases to be computed. They have been updated to use less expensive checks. * The heuristics to detect and silently convert latin1 to utf8 when we were told to use utf-8 in the log message has been transplanted from "mailinfo" to "commit" and "commit-tree". * Messages given by "git -h" from many subcommands have been marked for translation. Also contains minor documentation updates and code clean-ups. Fixes since v1.7.12 ------------------- Unless otherwise noted, all the fixes since v1.7.12 in the maintenance track are contained in this release (see release notes to them for details). * The attribute system may be asked for a path that itself or its leading directories no longer exists in the working tree, and it is fine if we cannot open .gitattribute file in such a case. Failure to open per-directory .gitattributes with error status other than ENOENT and ENOTDIR should be diagnosed, but it wasn't. * When looking for $HOME/.gitconfig etc., it is OK if we cannot read them because they do not exist, but we did not diagnose existing files that we cannot read. * When "git am" is fed an input that has multiple "Content-type: ..." header, it did not grok charset= attribute correctly. * "git am" mishandled a patch attached as application/octet-stream (e.g. not text/*); Content-Transfer-Encoding (e.g. base64) was not honored correctly. * "git blame MAKEFILE" run in a history that has "Makefile" but not "MAKEFILE" should say "No such file MAKEFILE in HEAD", but got confused on a case insensitive filesystem and failed to do so. * Even during a conflicted merge, "git blame $path" always meant to blame uncommitted changes to the "working tree" version; make it more useful by showing cleanly merged parts as coming from the other branch that is being merged. * It was unclear in the documentation for "git blame" that it is unnecessary for users to use the "--follow" option. * Output from "git branch -v" contains "(no branch)" that could be localized, but the code to align it along with the names of branches was counting in bytes, not in display columns. * "git cherry-pick A C B" used to replay changes in A and then B and then C if these three commits had committer timestamps in that order, which is not what the user who said "A C B" naturally expects. * A repository created with "git clone --single" had its fetch refspecs set up just like a clone without "--single", leading the subsequent "git fetch" to slurp all the other branches, defeating the whole point of specifying "only this branch". * Documentation talked about "first line of commit log" when it meant the title of the commit. The description was clarified by defining how the title is decided and rewording the casual mention of "first line" to "title". * "git cvsimport" did not thoroughly cleanse tag names that it inferred from the names of the tags it obtained from CVS, which caused "git tag" to barf and stop the import in the middle. * Earlier we made the diffstat summary line that shows the number of lines added/deleted localizable, but it was found irritating having to see them in various languages on a list whose discussion language is English, and this change has been reverted. * "git fetch --all", when passed "--no-tags", did not honor the "--no-tags" option while fetching from individual remotes (the same issue existed with "--tags", but the combination "--all --tags" makes much less sense than "--all --no-tags"). * "git fetch" over http had an old workaround for an unlikely server misconfiguration; it turns out that this hurts debuggability of the configuration in general, and has been reverted. * "git fetch" over http advertised that it supports "deflate", which is much less common, and did not advertise the more common "gzip" on its Accept-Encoding header. * "git fetch" over the dumb-http revision walker could segfault when curl's multi interface was used. * "git gc --auto" notified the user that auto-packing has triggered even under the "--quiet" option. * After "gitk" showed the contents of a tag, neither "Reread references" nor "Reload" updated what is shown as the contents of it when the user overwrote the tag with "git tag -f". * "git log --all-match --grep=A --grep=B" ought to show commits that mention both A and B, but when these three options are used with --author or --committer, it showed commits that mention either A or B (or both) instead. * The "-Xours" backend option to "git merge -s recursive" was ignored for binary files. * "git p4", when "--use-client-spec" and "--detect-branches" are used together, misdetected branches. * "git receive-pack" (the counterpart to "git push") did not give progress output while processing objects it received to the puser when run over the smart-http protocol. * When you misspell the command name you give to the "exec" action in the "git rebase -i" instruction sheet you were told that 'rebase' is not a git subcommand from "git rebase --continue". * The subcommand in "git remote" to remove a defined remote was "rm" and the command did not take a fully-spelled "remove". * The interactive prompt that "git send-email" gives was error prone. It asked "What e-mail address do you want to use?" with the address it guessed (correctly) the user would want to use in its prompt, tempting the user to say "y". But the response was taken as "No, please use 'y' as the e-mail address instead", which is most certainly not what the user meant. * "git show --format='%ci'" did not give the timestamp correctly for commits created without human readable name on the "committer" line. * "git show --quiet" ought to be a synonym for "git show -s", but wasn't. * "git submodule frotz" was not diagnosed as "frotz" being an unknown subcommand to "git submodule"; the user instead got a complaint that "git submodule status" was run with an unknown path "frotz". * "git status" honored the ignore=dirty settings in .gitmodules but "git commit" didn't. * "gitweb" did not give the correct committer timezone in its feed output due to a typo. ---------------------------------------------------------------- Changes since v1.8.0-rc3 are as follows: Andrew Wong (2): git-gui: Detect full path when parsing arguments git-gui: Don't prepend the prefix if value looks like a full path Beat Bolli (2): git-gui: Fix a loose/lose mistake git-gui: remove .git/CHERRY_PICK_HEAD after committing Benjamin Kerensa (1): git-gui: fix a typo in po/ files Clemens Buchacher (1): git-gui: fix git-gui crash due to uninitialized variable Heiko Voigt (1): git-gui: open console when using --trace on windows Junio C Hamano (1): Git 1.8.0 Marcus Karlsson (1): git-gui: Use PWD if it exists on Mac OS X Pat Thoyts (2): git-gui: preserve commit messages in utf-8 git-gui 0.17 Ralf Thielow (3): git-gui: de.po: consistently add untranslated hook names within braces git-gui: de.po: translate "bare" as "bloß" git-gui: de.po: translate "remote" as "extern" Vitaly _Vi Shukela (1): git-gui: Fix semi-working shortcuts for unstage and revert [Less]
Posted over 13 years ago by Junio C Hamano
A release candidate Git v1.8.0-rc3 is now available for testing at the usual places. This hopefully will be the last rc before the final that is expected to happen this weekend. The release tarballs are found at: ... [More] http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 499d09c326857afc78d1582b1e7153e4a53712c6 git-1.8.0.rc3.tar.gz cb5236b10f0014fd66a05fe61767d6d6d5fec35e git-htmldocs-1.8.0.rc3.tar.gz cccb8dcc4c088518aa5d2c03fe3d16ad9d1c1d3d git-manpages-1.8.0.rc3.tar.gz Also the following public repositories all have a copy of the v1.8.0-rc3 tag and the master branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v1.8.0 Release Notes (draft) ======================== Backward compatibility notes ---------------------------- In the next major release (not *this* one), we will change the behavior of the "git push" command. When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). We will now use the "simple" semantics, that pushes the current branch to the branch with the same name only when the current branch is set to integrate with that remote branch. There is a user preference configuration variable "push.default" to change this, and "git push" will warn about the upcoming change until you set this variable. "git branch --set-upstream" is deprecated and may be removed in a relatively distant future. "git branch [-u|--set-upstream-to]" has been introduced with a saner order of arguments. Updates since v1.7.12 --------------------- UI, Workflows & Features * A credential helper for Win32 to allow access to the keychain of the logged-in user has been added. * An initial port to HP NonStop. * A credential helper to allow access to the Gnome keyring has been added. * When "git am" sanitizes the "Subject:" line, we strip the prefix from "Re: subject" and also from a less common "re: subject", but left the even less common "RE: subject" intact. We strip that now, too. * It was tempting to say "git branch --set-upstream origin/master", but that tells Git to arrange the local branch "origin/master" to integrate with the currently checked out branch, which is highly unlikely what the user meant. The option is deprecated; use the new "--set-upstream-to" (with a short-and-sweet "-u") option instead. * "git cherry-pick" learned the "--allow-empty-message" option to allow it to replay a commit without any log message. * After "git cherry-pick -s" gave control back to the user asking help to resolve conflicts, concluding "git commit" used to need to be run with "-s" if the user wants to sign it off; now the command leaves the sign-off line in the log template. * "git daemon" learned the "--access-hook" option to allow an external command to decline service based on the client address, repository path, etc. * "git difftool --dir-diff" learned to use symbolic links to prepare a temporary copy of the working tree when available. * "git grep" learned to use a non-standard pattern type by default if a configuration variable tells it to. * "git log -g" learned the "--grep-reflog=" option to limit its output to commits with a reflog message that matches the given pattern. * "git merge-base" learned the "--is-ancestor A B" option to tell if A is an ancestor of B. The result is indicated by its exit status code. * "git mergetool" now allows users to override the actual command used with the mergetool.$name.cmd configuration variable even for built-in mergetool backends. * "git rebase -i" learned the "--edit-todo" option to open an editor to edit the instruction sheet. Foreign Interface * "git svn" has been updated to work with SVN 1.7. * "git p4" learned the "--conflicts" option to specify what to do when encountering a conflict during "p4 submit". Performance, Internal Implementation, etc. (please report possible regressions) * Git ships with a fall-back regexp implementation for platforms with buggy regexp library, but it was easy for people to keep using their platform regexp by mistake. A new test has been added to check this. * The "check-docs" build target has been updated and greatly simplified. * The test suite is run under MALLOC_CHECK_ when running with a glibc that supports the feature. * The documentation in the TeXinfo format was using indented output for materials meant to be examples that are better typeset in monospace. * Compatibility wrapper around some mkdir(2) implementations that reject parameters with trailing slash has been introduced. * Compatibility wrapper for systems that lack usable setitimer() has been added. * The option parsing of "git checkout" had error checking, dwim and defaulting missing options, all mixed in the code, and issuing an appropriate error message with useful context was getting harder. The code has been reorganized to allow giving a proper diagnosis when the user says "git checkout -b -t foo bar" (e.g. "-t" is not a good name for a branch). * Many internal uses of a "git merge-base" equivalent were only to see if one commit fast-forwards to the other, which did not need the full set of merge bases to be computed. They have been updated to use less expensive checks. * The heuristics to detect and silently convert latin1 to utf8 when we were told to use utf-8 in the log message has been transplanted from "mailinfo" to "commit" and "commit-tree". * Messages given by "git -h" from many subcommands have been marked for translation. Also contains minor documentation updates and code clean-ups. Fixes since v1.7.12 ------------------- Unless otherwise noted, all the fixes since v1.7.12 in the maintenance track are contained in this release (see release notes to them for details). * The attribute system may be asked for a path that itself or its leading directories no longer exists in the working tree, and it is fine if we cannot open .gitattribute file in such a case. Failure to open per-directory .gitattributes with error status other than ENOENT and ENOTDIR should be diagnosed, but it wasn't. * When looking for $HOME/.gitconfig etc., it is OK if we cannot read them because they do not exist, but we did not diagnose existing files that we cannot read. * When "git am" is fed an input that has multiple "Content-type: ..." header, it did not grok charset= attribute correctly. * "git am" mishandled a patch attached as application/octet-stream (e.g. not text/*); Content-Transfer-Encoding (e.g. base64) was not honored correctly. * "git blame MAKEFILE" run in a history that has "Makefile" but not "MAKEFILE" should say "No such file MAKEFILE in HEAD", but got confused on a case insensitive filesystem and failed to do so. * Even during a conflicted merge, "git blame $path" always meant to blame uncommitted changes to the "working tree" version; make it more useful by showing cleanly merged parts as coming from the other branch that is being merged. * It was unclear in the documentation for "git blame" that it is unnecessary for users to use the "--follow" option. * Output from "git branch -v" contains "(no branch)" that could be localized, but the code to align it along with the names of branches was counting in bytes, not in display columns. * "git cherry-pick A C B" used to replay changes in A and then B and then C if these three commits had committer timestamps in that order, which is not what the user who said "A C B" naturally expects. * A repository created with "git clone --single" had its fetch refspecs set up just like a clone without "--single", leading the subsequent "git fetch" to slurp all the other branches, defeating the whole point of specifying "only this branch". * Documentation talked about "first line of commit log" when it meant the title of the commit. The description was clarified by defining how the title is decided and rewording the casual mention of "first line" to "title". * "git cvsimport" did not thoroughly cleanse tag names that it inferred from the names of the tags it obtained from CVS, which caused "git tag" to barf and stop the import in the middle. * Earlier we made the diffstat summary line that shows the number of lines added/deleted localizable, but it was found irritating having to see them in various languages on a list whose discussion language is English, and this change has been reverted. * "git fetch --all", when passed "--no-tags", did not honor the "--no-tags" option while fetching from individual remotes (the same issue existed with "--tags", but the combination "--all --tags" makes much less sense than "--all --no-tags"). * "git fetch" over http had an old workaround for an unlikely server misconfiguration; it turns out that this hurts debuggability of the configuration in general, and has been reverted. * "git fetch" over http advertised that it supports "deflate", which is much less common, and did not advertise the more common "gzip" on its Accept-Encoding header. * "git fetch" over the dumb-http revision walker could segfault when curl's multi interface was used. * "git gc --auto" notified the user that auto-packing has triggered even under the "--quiet" option. * After "gitk" showed the contents of a tag, neither "Reread references" nor "Reload" updated what is shown as the contents of it when the user overwrote the tag with "git tag -f". * "git log --all-match --grep=A --grep=B" ought to show commits that mention both A and B, but when these three options are used with --author or --committer, it showed commits that mention either A or B (or both) instead. * The "-Xours" backend option to "git merge -s recursive" was ignored for binary files. * "git p4", when "--use-client-spec" and "--detect-branches" are used together, misdetected branches. * "git receive-pack" (the counterpart to "git push") did not give progress output while processing objects it received to the puser when run over the smart-http protocol. * When you misspell the command name you give to the "exec" action in the "git rebase -i" instruction sheet you were told that 'rebase' is not a git subcommand from "git rebase --continue". * The subcommand in "git remote" to remove a defined remote was "rm" and the command did not take a fully-spelled "remove". * The interactive prompt that "git send-email" gives was error prone. It asked "What e-mail address do you want to use?" with the address it guessed (correctly) the user would want to use in its prompt, tempting the user to say "y". But the response was taken as "No, please use 'y' as the e-mail address instead", which is most certainly not what the user meant. * "git show --format='%ci'" did not give the timestamp correctly for commits created without human readable name on the "committer" line. * "git show --quiet" ought to be a synonym for "git show -s", but wasn't. * "git submodule frotz" was not diagnosed as "frotz" being an unknown subcommand to "git submodule"; the user instead got a complaint that "git submodule status" was run with an unknown path "frotz". * "git status" honored the ignore=dirty settings in .gitmodules but "git commit" didn't. * "gitweb" did not give the correct committer timezone in its feed output due to a typo. ---------------------------------------------------------------- Changes since v1.8.0-rc2 are as follows: Dylan Alex Simon (1): gitweb.cgi: fix "comitter_tz" typo in feed Jeff King (1): http: fix segfault in handle_curl_result Jiang Xin (1): l10n: Update git.pot (3 new, 6 removed messages) Junio C Hamano (3): Update draft release notes to 1.8.0 Git 1.7.12.4 Git 1.8.0-rc3 Peter Krefting (1): l10n: Update Swedish translation (1964t0f0u) Richard Fearn (1): Fix spelling error in post-receive-email hook Thomas Ackermann (1): Documentation/RelNotes: remove "updated up to this revision" markers Tran Ngoc Quan (2): l10n: vi.po: update translation upto cc76011 l10n: vi.po: update from v1.8.0-rc2-4-g42e55 [Less]
Posted over 13 years ago by Junio C Hamano
The latest maintenance release Git v1.7.12.4 is now available at the usual places. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: e7eb697fc12887138e44ae100165c620a1210e81 ... [More] git-1.7.12.4.tar.gz 1d4ce5c8fabbf576d611effcce2f87089da1bb89 git-htmldocs-1.7.12.4.tar.gz 1f853aa40c4518a4fad829f255c96d6e21659e93 git-manpages-1.7.12.4.tar.gz Also the following public repositories all have a copy of the v1.7.12.4 tag and the maint branch that the tag points at: url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git 1.7.12.4 Release Notes ========================== Fixes since v1.7.12.3 --------------------- * "git fetch" over the dumb-http revision walker could segfault when curl's multi interface was used. * It was possible to give specific paths for "asciidoc" and other tools in the documentation toolchain, but not for "xmlto". * "gitweb" did not give the correct committer timezone in its feed output due to a typo. * The "-Xours" (and similarly -Xtheirs) backend option to "git merge -s recursive" was ignored for binary files. Now it is honored. * The "binary" synthetic attribute made "diff" to treat the path as binary, but not "merge". Also contains many documentation updates. ---------------------------------------------------------------- Changes since v1.7.12.3 are as follows: Ben Walton (1): tests: "cp -a" is a GNUism Dave Borowitz (1): Documentation/Makefile: Allow custom XMLTO binary Dylan Alex Simon (1): gitweb.cgi: fix "comitter_tz" typo in feed Jeff King (1): http: fix segfault in handle_curl_result Junio C Hamano (6): merge: teach -Xours/-Xtheirs to binary ll-merge driver attr: "binary" attribute should choose built-in "binary" merge driver ll-merge: warn about inability to merge binary files only when we can't t1450: the order the objects are checked is undefined gitcli: parse-options lets you omit tail of long options Git 1.7.12.4 Nguyễn Thái Ngọc Duy (2): gitignore.txt: suggestions how to get literal # or ! at the beginning attr: a note about the order of .gitattributes lookup Philip Oakley (5): Doc: shallow clone deepens _to_ new depth Doc: separate gitignore pattern sources Doc add: link gitignore Doc clean: add See Also link Doc branch: show -vv option and alternative Ramkumar Ramachandra (3): t/test-lib: make sure Git has already been built test-lib: use $SHELL_PATH, not $SHELL Git url doc: mark ftp/ftps as read-only and deprecate them Richard Fearn (1): Fix spelling error in post-receive-email hook Simon Ruderich (1): l10n: de.po: fix a few minor typos [Less]