I Use This!
Very High Activity

News

Analyzed 8 days ago. based on code collected 8 days ago.
Posted almost 13 years ago by Junio C Hamano
The latest maintenance release Git v1.8.1.5 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: 3349a15de7c5501715bda9b68301d0406272f8e0 ... [More] git-1.8.1.5.tar.gz 84d832fc70a053e97ce336c4a0af0371461e469f git-htmldocs-1.8.1.5.tar.gz 7f211a2f8fe36180373a20b32eb930018883bfd1 git-manpages-1.8.1.5.tar.gz Also the following public repositories all have a copy of the v1.8.1.5 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.8.1.5 Release Notes ========================= Fixes since v1.8.1.4 -------------------- * Given a string with a multi-byte character that begins with '-' on the command line where an option is expected, the option parser used just one byte of the unknown letter when reporting an error. * In v1.8.1, the attribute parser was tightened too restrictive to error out upon seeing an entry that begins with an ! (exclamation), which may confuse users to expect a "negative match", which does not exist. This has been demoted to a warning; such an entry is still ignored. * "git apply --summary" has been taught to make sure the similarity value shown in its output is sensible, even when the input had a bogus value. * "git clean" showed what it was going to do, but sometimes ended up finding that it was not allowed to do so, which resulted in a confusing output (e.g. after saying that it will remove an untracked directory, it found an embedded git repository there which it is not allowed to remove). It now performs the actions and then reports the outcome more faithfully. * "git clone" used to allow --bare and --separate-git-dir=$there options at the same time, which was nonsensical. * "git cvsimport" mishandled timestamps at DST boundary. * We used to have an arbitrary 32 limit for combined diff input, resulting in incorrect number of leading colons shown when showing the "--raw --cc" output. * The smart HTTP clients forgot to verify the content-type that comes back from the server side to make sure that the request is being handled properly. * "git help remote-helpers" failed to find the documentation. * "gitweb" pages served over HTTPS, when configured to show picon or gravatar, referred to these external resources to be fetched via HTTP, resulting in mixed contents warning in browsers. Also contains various documentation fixes. ---------------------------------------------------------------- Changes since v1.8.1.4 are as follows: Andrej E Baranov (1): gitweb: refer to picon/gravatar images over the same scheme Andrew Wong (1): Documentation/githooks: Fix linkgit Asheesh Laroia (1): git-mergetool: print filename when it contains % Ben Walton (3): Move Git::SVN::get_tz to Git::get_tz_offset perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases cvsimport: format commit timestamp ourselves without using strftime Brad King (1): Documentation/submodule: Add --force to update synopsis David Aguilar (3): mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder difftool--helper: fix printf usage p4merge: fix printf usage Erik Faye-Lund (1): parse-options: report uncorrupted multi-byte options Greg Price (1): Documentation: "advice" is uncountable Jeff King (2): http_request: reset "type" strbuf before adding Makefile: avoid infinite loop on configure.ac change Jiang Xin (1): Add utf8_fprintf helper that returns correct number of columns John Keeping (3): Rename {git- => git}remote-helpers.txt builtin/apply: tighten (dis)similarity index parsing t4038: add tests for "diff --cc --raw " Junio C Hamano (7): doc: mention tracking for pull.default combine-diff: lift 32-way limit of combined diff t5551: fix expected error output user-manual: typofix (ofthe->of the) Prepare for 1.8.1.5 Update draft release notes to 1.8.1.5 Git 1.8.1.5 Matthieu Moy (1): git.txt: update description of the configuration mechanism Michael J Gruber (1): git-bisect.txt: clarify that reset quits bisect Nguyễn Thái Ngọc Duy (1): clone: forbid --bare --separate-git-dir Shawn O. Pearce (1): Verify Content-Type from smart HTTP servers Thomas Rast (1): Make !pattern in .gitattributes non-fatal W. Trevor King (4): user-manual: Update for receive.denyCurrentBranch=refuse user-manual: Reorganize the reroll sections, adding 'git rebase -i' user-manual: Use request-pull to generate "please pull" text user-manual: Flesh out uncommitted changes and submodule updates Zoltan Klinger (1): git-clean: Display more accurate delete messages -- 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 almost 13 years ago by Junio C Hamano
The first release candidate Git v1.8.2-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: ... [More] 44172a71a711b83b4cfaa8e41dd24d05068b0887 git-1.8.2.rc1.tar.gz fd23a6fd099bf13f897675f727a91633537eaa29 git-htmldocs-1.8.2.rc1.tar.gz f10f04741401e273ac6a8c7e54c96e1d915f6486 git-manpages-1.8.2.rc1.tar.gz Also the following public repositories all have a copy of the v1.8.2-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.2 Release Notes (draft) ======================== Backward compatibility notes ---------------------------- In the next major release Git 2.0 (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. "git push $there tag v1.2.3" used to allow replacing a tag v1.2.3 that already exists in the repository $there, if the rewritten tag you are pushing points at a commit that is a descendant of a commit that the old tag v1.2.3 points at. This was found to be error prone and starting with this release, any attempt to update an existing ref under refs/tags/ hierarchy will fail, without "--force". When "git add -u" and "git add -A", that does not specify what paths to add on the command line, is run from inside a subdirectory, the scope of the operation has always been limited to the subdirectory. Many users found this counter-intuitive, given that "git commit -a" and other commands operate on the entire tree regardless of where you are. In this release, these commands give warning in such a case and encourage the user to say "git add -u/-A ." instead when restricting the scope to the current directory. At Git 2.0 (not *this* one), we plan to change these commands without pathspec to operate on the entire tree, and training your fingers to type "." will protect you against the future change. Updates since v1.8.1 -------------------- UI, Workflows & Features * Initial ports to QNX and z/OS UNIX System Services have started. * Output from the tests is coloured using "green is okay, yellow is questionable, red is bad and blue is informative" scheme. * Mention of "GIT/Git/git" in the documentation have been updated to be more uniform and consistent. The name of the system and the concept it embodies is "Git"; the command the users type is "git". All-caps "GIT" was merely a way to imitate "Git" typeset in small caps in our ASCII text only documentation and to be avoided. * The completion script (in contrib/completion) used to let the default completer to suggest pathnames, which gave too many irrelevant choices (e.g. "git add" would not want to add an unmodified path). It learnt to use a more git-aware logic to enumerate only relevant ones. * In bare repositories, "git shortlog" and other commands now read mailmap files from the tip of the history, to help running these tools in server settings. * Color specifiers, e.g. "%C(blue)Hello%C(reset)", used in the "--format=" option of "git log" and friends can be disabled when the output is not sent to a terminal by prefixing them with "auto,", e.g. "%C(auto,blue)Hello%C(auto,reset)". * Scripts can ask Git that wildcard patterns in pathspecs they give do not have any significance, i.e. take them as literal strings. * The patterns in .gitignore and .gitattributes files can have **/, as a pattern that matches 0 or more levels of subdirectory. E.g. "foo/**/bar" matches "bar" in "foo" itself or in a subdirectory of "foo". * When giving arguments without "--" disambiguation, object names that come earlier on the command line must not be interpretable as pathspecs and pathspecs that come later on the command line must not be interpretable as object names. This disambiguation rule has been tweaked so that ":/" (no other string before or after) is always interpreted as a pathspec; "git cmd -- :/" is no longer needed, you can just say "git cmd :/". * Various "hint" lines Git gives when it asks the user to edit messages in the editor are commented out with '#' by default. The core.commentchar configuration variable can be used to customize this '#' to a different character. * "git add -u" and "git add -A" without pathspec issues warning to make users aware that they are only operating on paths inside the subdirectory they are in. Use ":/" (everything from the top) or "." (everything from the $cwd) to disambiguate. * "git blame" (and "git diff") learned the "--no-follow" option. * "git branch" now rejects some nonsense combinations of command line arguments (e.g. giving more than one branch name to rename) with more case-specific error messages. * "git check-ignore" command to help debugging .gitignore files has been added. * "git cherry-pick" can be used to replay a root commit to an unborn branch. * "git commit" can be told to use --cleanup=whitespace by setting the configuration variable commit.cleanup to 'whitespace'. * "git diff" and other Porcelain commands can be told to use a non-standard algorithm by setting diff.algorithm configuration variable. * "git fetch --mirror" and fetch that uses other forms of refspec with wildcard used to attempt to update a symbolic ref that match the wildcard on the receiving end, which made little sense (the real ref that is pointed at by the symbolic ref would be updated anyway). Symbolic refs no longer are affected by such a fetch. * "git format-patch" now detects more cases in which a whole branch is being exported, and uses the description for the branch, when asked to write a cover letter for the series. * "git format-patch" learned "-v $count" option, and prepends a string "v$count-" to the names of its output files, and also automatically sets the subject prefix to "PATCH v$count". This allows patches from rerolled series to be stored under different names and makes it easier to reuse cover letter messages. * "git log" and friends can be told with --use-mailmap option to rewrite the names and email addresses of people using the mailmap mechanism. * "git log --cc --graph" now shows the combined diff output with the ancestry graph. * "git log --grep=" honors i18n.logoutputencoding to look for the pattern after fixing the log message to the specified encoding. * "git mergetool" and "git difftool" learned to list the available tool backends in a more consistent manner. * "git mergetool" is aware of TortoiseGitMerge now and uses it over TortoiseMerge when available. * "git push" now requires "-f" to update a tag, even if it is a fast-forward, as tags are meant to be fixed points. * Error messages from "git push" when it stops to prevent remote refs from getting overwritten by mistake have been improved to explain various situations separately. * "git push" will stop without doing anything if the new "pre-push" hook exists and exits with a failure. * When "git rebase" fails to generate patches to be applied (e.g. due to oom), it failed to detect the failure and instead behaved as if there were nothing to do. A workaround to use a temporary file has been applied, but we probably would want to revisit this later, as it hurts the common case of not failing at all. * Input and preconditions to "git reset" has been loosened where appropriate. "git reset $fromtree Makefile" requires $fromtree to be any tree (it used to require it to be a commit), for example. "git reset" (without options or parameters) used to error out when you do not have any commits in your history, but it now gives you an empty index (to match non-existent commit you are not even on). * "git status" says what branch is being bisected or rebased when able, not just "bisecting" or "rebasing". * "git submodule" started learning a new mode to integrate with the tip of the remote branch (as opposed to integrating with the commit recorded in the superproject's gitlink). * "git upload-pack" which implements the service "ls-remote" and "fetch" talk to can be told to hide ref hierarchies the server side internally uses (and that clients have no business learning about) with transfer.hiderefs configuration. Foreign Interface * "git fast-export" has been updated for its use in the context of the remote helper interface. * A new remote helper to interact with bzr has been added to contrib/. * "git p4" got various bugfixes around its branch handling. It is also made usable with Python 2.4/2.5. In addition, its various portability issues for Cygwin have been addressed. * The remote helper to interact with Hg in contrib/ has seen a few fixes. Performance, Internal Implementation, etc. * "git fsck" has been taught to be pickier about entries in tree objects that should not be there, e.g. ".", ".git", and "..". * Matching paths with common forms of pathspecs that contain wildcard characters has been optimized further. * We stopped paying attention to $GIT_CONFIG environment that points at a single configuration file from any command other than "git config" quite a while ago, but "git clone" internally set, exported, and then unexported the variable during its operation unnecessarily. * "git reset" internals has been reworked and should be faster in general. We tried to be careful not to break any behaviour but there could be corner cases, especially when running the command from a conflicted state, that we may have missed. * The implementation of "imap-send" has been updated to reuse xml quoting code from http-push codepath, and lost a lot of unused code. * There is a simple-minded checker for the test scripts in t/ directory to catch most common mistakes (it is not enabled by default). * You can build with USE_WILDMATCH=YesPlease to use a replacement implementation of pattern matching logic used for pathname-like things, e.g. refnames and paths in the repository. This new implementation is not expected change the existing behaviour of Git in this release, except for "git for-each-ref" where you can now say "refs/**/master" and match with both refs/heads/master and refs/remotes/origin/master. We plan to use this new implementation in wider places (e.g. "git ls-files '**/Makefile' may find Makefile at the top-level, and "git log '**/t*.sh'" may find commits that touch a shell script whose name begins with "t" at any level) in future versions of Git, but we are not there yet. By building with USE_WILDMATCH, using the resulting Git daily and reporting when you find breakages, you can help us get closer to that goal. * Some reimplementations of Git do not write all the stat info back to the index due to their implementation limitations (e.g. jgit). A configuration option can tell Git to ignore changes to most of the stat fields and only pay attention to mtime and size, which these implementations can reliably update. This can be used to avoid excessive revalidation of contents. * Some platforms ship with old version of expat where xmlparse.h needs to be included instead of expat.h; the build procedure has been taught about this. * "make clean" on platforms that cannot compute header dependencies on the fly did not work with implementations of "rm" that do not like an empty argument list. Also contains minor documentation updates and code clean-ups. Fixes since v1.8.1 ------------------ Unless otherwise noted, all the fixes since v1.8.1 in the maintenance track are contained in this release (see release notes to them for details). * An element on GIT_CEILING_DIRECTORIES list that does not name the real path to a directory (i.e. a symbolic link) could have caused the GIT_DIR discovery logic to escape the ceiling. * When attempting to read the XDG-style $HOME/.config/git/config and finding that $HOME/.config/git is a file, we gave a wrong error message, instead of treating the case as "a custom config file does not exist there" and moving on. * The behaviour visible to the end users was confusing, when they attempt to kill a process spawned in the editor that was in turn launched by Git with SIGINT (or SIGQUIT), as Git would catch that signal and die. We ignore these signals now. (merge 0398fc34 pf/editor-ignore-sigint later to maint). * A child process that was killed by a signal (e.g. SIGINT) was reported in an inconsistent way depending on how the process was spawned by us, with or without a shell in between. * After failing to create a temporary file using mkstemp(), failing pathname was not reported correctly on some platforms. * We used to stuff "user@" and then append what we read from /etc/mailname to come up with a default e-mail ident, but a bug lost the "user@" part. * The attribute mechanism didn't allow limiting attributes to be applied to only a single directory itself with "path/" like the exclude mechanism does. The initial implementation of this that was merged to 'maint' and 1.8.1.2 was with a severe performance degradations and needs to merge a fix-up topic. * The smart HTTP clients forgot to verify the content-type that comes back from the server side to make sure that the request is being handled properly. * "git am" did not parse datestamp correctly from Hg generated patch, when it is run in a locale outside C (or en). * "git apply" misbehaved when fixing whitespace breakages by removing excess trailing blank lines. * "git apply --summary" has been taught to make sure the similarity value shown in its output is sensible, even when the input had a bogus value. * A tar archive created by "git archive" recorded a directory in a way that made NetBSD's implementation of "tar" sometimes unhappy. * "git archive" did not record uncompressed size in the header when streaming a zip archive, which confused some implementations of unzip. * "git archive" did not parse configuration values in tar.* namespace correctly. (merge b3873c3 jk/config-parsing-cleanup later to maint). * Attempt to "branch --edit-description" an existing branch, while being on a detached HEAD, errored out. * "git clean" showed what it was going to do, but sometimes end up finding that it was not allowed to do so, which resulted in a confusing output (e.g. after saying that it will remove an untracked directory, it found an embedded git repository there which it is not allowed to remove). It now performs the actions and then reports the outcome more faithfully. * When "git clone --separate-git-dir=$over_there" is interrupted, it failed to remove the real location of the $GIT_DIR it created. This was most visible when interrupting a submodule update. * "git cvsimport" mishandled timestamps at DST boundary. * We used to have an arbitrary 32 limit for combined diff input, resulting in incorrect number of leading colons shown when showing the "--raw --cc" output. * "git fetch --depth" was broken in at least three ways. The resulting history was deeper than specified by one commit, it was unclear how to wipe the shallowness of the repository with the command, and documentation was misleading. (merge cfb70e1 nd/fetch-depth-is-broken later to maint). * "git log --all -p" that walked refs/notes/textconv/ ref can later try to use the textconv data incorrectly after it gets freed. * We forgot to close the file descriptor reading from "gpg" output, killing "git log --show-signature" on a long history. * The way "git svn" asked for password using SSH_ASKPASS and GIT_ASKPASS was not in line with the rest of the system. * The --graph code fell into infinite loop when asked to do what the code did not expect. * http transport was wrong to ask for the username when the authentication is done by certificate identity. * "git pack-refs" that ran in parallel to another process that created new refs had a nasty race. * Rebasing the history of superproject with change in the submodule has been broken since v1.7.12. * After "git add -N" and then writing a tree object out of the index, the cache-tree data structure got corrupted. * "git clone" used to allow --bare and --separate-git-dir=$there options at the same time, which was nonsensical. * "git rebase --preserve-merges" lost empty merges in recent versions of Git. * "git merge --no-edit" computed who were involved in the work done on the side branch, even though that information is to be discarded without getting seen in the editor. * "git merge" started calling prepare-commit-msg hook like "git commit" does some time ago, but forgot to pay attention to the exit status of the hook. * A failure to push due to non-ff while on an unborn branch dereferenced a NULL pointer when showing an error message. * When users spell "cc:" in lowercase in the fake "header" in the trailer part, "git send-email" failed to pick up the addresses from there. As e-mail headers field names are case insensitive, this script should follow suit and treat "cc:" and "Cc:" the same way. * Output from "git status --ignored" showed an unexpected interaction with "--untracked". * "gitweb", when sorting by age to show repositories with new activities first, used to sort repositories with absolutely nothing in it early, which was not very useful. * "gitweb"'s code to sanitize control characters before passing it to "highlight" filter lost known-to-be-safe control characters by mistake. * "gitweb" pages served over HTTPS, when configured to show picon or gravatar, referred to these external resources to be fetched via HTTP, resulting in mixed contents warning in browsers. * When a line to be wrapped has a solid run of non space characters whose length exactly is the wrap width, "git shortlog -w" failed to add a newline after such a line. * Command line completion leaked an unnecessary error message while looking for possible matches with paths in . * Command line completion for "tcsh" emitted an unwanted space after completing a single directory name. * Command line completion code was inadvertently made incompatible with older versions of bash by using a newer array notation. * "git push" was taught to refuse updating the branch that is currently checked out long time ago, but the user manual was left stale. (merge 50995ed wk/man-deny-current-branch-is-default-these-days later to maint). * Some shells do not behave correctly when IFS is unset; work it around by explicitly setting it to the default value. * Some scripted programs written in Python did not get updated when PYTHON_PATH changed. (cherry-pick 96a4647fca54031974cd6ad1 later to maint). * When autoconf is used, any build on a different commit always ran "config.status --recheck" even when unnecessary. * A fix was added to the build procedure to work around buggy versions of ccache broke the auto-generation of dependencies, which unfortunately is still relevant because some people use ancient distros. * The autoconf subsystem passed --mandir down to generated config.mak.autogen but forgot to do the same for --htmldir. (merge 55d9bf0 ct/autoconf-htmldir later to maint). * A change made on v1.8.1.x maintenance track had a nasty regression to break the build when autoconf is used. (merge 7f1b697 jn/less-reconfigure later to maint). * We have been carrying a translated and long-unmaintained copy of an old version of the tutorial; removed. * t0050 had tests expecting failures from a bug that was fixed some time ago. * t4014, t9502 and t0200 tests had various portability issues that broke on OpenBSD. * t9020 and t3600 tests had various portability issues. * t9200 runs "cvs init" on a directory that already exists, but a platform can configure this fail for the current user (e.g. you need to be in the cvsadmin group on NetBSD 6.0). * t9020 and t9810 had a few non-portable shell script construct. * Scripts to test bash completion was inherently flaky as it was affected by whatever random things the user may have on $PATH. ---------------------------------------------------------------- Changes since v1.8.2-rc0 (preview) are as follows: Adam Spiers (1): t0008: document test_expect_success_multi Greg Price (1): Documentation: "advice" is uncountable Jeff King (1): Makefile: avoid infinite loop on configure.ac change Jiang Xin (5): l10n: Update git.pot (35 new, 14 removed messages) l10n: zh_CN.po: translate 35 new messages l10n: git.pot: v1.8.2 round 3 (5 new) l10n: zh_CN.po: translate 5 new messages Bugfix: undefined htmldir in config.mak.autogen Junio C Hamano (8): doc: mention tracking for pull.default user-manual: typofix (ofthe->of the) RelNotes 1.8.2: push-simple will not be in effect in this release imap-send: move #ifdef around name-hash: allow hashing an empty string Git 1.8.1.4 Prepare for 1.8.1.5 Git 1.8.2-rc1 Martin Erik Werner (1): shell-prompt: clean up nested if-then Matthieu Moy (1): git.txt: update description of the configuration mechanism Oswald Buddenhagen (2): imap-send: the subject of SSL certificate must match the host imap-send: support subjectAltName as well Peter Krefting (2): l10n: Update Swedish translation (2004t0f0u) l10n: Update Swedish translation (2009t0f0u) Tran Ngoc Quan (2): l10n: vi.po: update new strings (2004t0u0f) l10n: vi.po: Updated 5 new messages (2009t0f0u) W. Trevor King (8): user-manual: use 'remote add' to setup push URLs user-manual: give 'git push -f' as an alternative to master user-manual: mention 'git remote add' for remote branch config user-manual: use 'git config --global user.*' for setup user-manual: use -o latest.tar.gz to create a gzipped tarball user-manual: Reorganize the reroll sections, adding 'git rebase -i' user-manual: Use request-pull to generate "please pull" text user-manual: Flesh out uncommitted changes and submodule updates -- 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 almost 13 years ago by Junio C Hamano
The latest maintenance release Git v1.8.1.4 is now available at the usual places. This is primarily to tighten the host verification when imap-send is talking to your mail server via TLS/SSL. The topic that was merged to the tip of 'maint' track ... [More] consists of 3 patches and is based on the 1.7.6 maintenance track. This is to make it easier for the distro folks to merge the topic to their older maintenance branches to issue hotfix binary releases if they wanted to. This release itself also contains many small updates to the user-manual. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 553191fe02cfac77386d5bb01df0a79eb7f163c8 git-1.8.1.4.tar.gz bb71df6bc1fdb55b45c59af83102e901d484ef53 git-htmldocs-1.8.1.4.tar.gz 98c41b38d02f09e1fcde335834694616d0a615f7 git-manpages-1.8.1.4.tar.gz Also the following public repositories all have a copy of the v1.8.1.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.8.1.4 Release Notes ========================= Fixes since v1.8.1.3 -------------------- * "git imap-send" talking over imaps:// did make sure it received a valid certificate from the other end, but did not check if the certificate matched the host it thought it was talking to. Also contains various documentation fixes. ---------------------------------------------------------------- Changes since v1.8.1.3 are as follows: Junio C Hamano (2): imap-send: move #ifdef around Git 1.8.1.4 Matthieu Moy (1): Replace filepattern with pathspec for consistency Oswald Buddenhagen (2): imap-send: the subject of SSL certificate must match the host imap-send: support subjectAltName as well W. Trevor King (9): user-manual: Fix 'both: so' -> 'both; so' typo user-manual: Fix 'http' -> 'HTTP' typos user-manual: Fix 'you - Git' -> 'you--Git' typo user-manual: Rewrite git-gc section for automatic packing user-manual: use 'remote add' to setup push URLs user-manual: give 'git push -f' as an alternative to +master user-manual: mention 'git remote add' for remote branch config user-manual: use 'git config --global user.*' for setup user-manual: use -o latest.tar.gz to create a gzipped tarball -- 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 almost 13 years ago by Junio C Hamano
An early preview Git v1.8.2-rc0 for the upcoming release is now available for testing at the usual places. The preview includes contributions from 80 people, totaling some 570 no-merge changes since v1.8.1 and should give you more or less a ... [More] complete picture of what the upcoming 1.8.2 would look like. The release tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 3d19b5bc224a7a3427b21c4587c4ab342435e8b6 git-1.8.2.rc0.tar.gz 77dcebd8856cb6c8600dcf2a56ca3554aef9866f git-htmldocs-1.8.2.rc0.tar.gz 26a75c32c75ed05939c13684581698f2daa0feae git-manpages-1.8.2.rc0.tar.gz Also the following public repositories all have a copy of the v1.8.2-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.2 Release Notes (draft) ======================== Backward compatibility notes ---------------------------- In the upcoming major release (tentatively called 1.8.2), 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. "git push $there tag v1.2.3" used to allow replacing a tag v1.2.3 that already exists in the repository $there, if the rewritten tag you are pushing points at a commit that is a decendant of a commit that the old tag v1.2.3 points at. This was found to be error prone and starting with this release, any attempt to update an existing ref under refs/tags/ hierarchy will fail, without "--force". Updates since v1.8.1 -------------------- UI, Workflows & Features * Initial ports to QNX and z/OS UNIX System Services have started. * Output from the tests is coloured using "green is okay, yellow is questionable, red is bad and blue is informative" scheme. * Mention of "GIT/Git/git" in the documentation have been updated to be more uniform and consistent. The name of the system and the concept it embodies is "Git"; the command the users type is "git". All-caps "GIT" was merely a way to imitate "Git" typeset in small caps in our ASCII text only documentation and to be avoided. * The completion script (in contrib/completion) used to let the default completer to suggest pathnames, which gave too many irrelevant choices (e.g. "git add" would not want to add an unmodified path). It learnt to use a more git-aware logic to enumerate only relevant ones. * In bare repositories, "git shortlog" and other commands now read mailmap files from the tip of the history, to help running these tools in server settings. * Color specifiers, e.g. "%C(blue)Hello%C(reset)", used in the "--format=" option of "git log" and friends can be disabled when the output is not sent to a terminal by prefixing them with "auto,", e.g. "%C(auto,blue)Hello%C(auto,reset)". * Scripts can ask Git that wildcard patterns in pathspecs they give do not have any significance, i.e. take them as literal strings. * The patterns in .gitignore and .gitattributes files can have **/, as a pattern that matches 0 or more levels of subdirectory. E.g. "foo/**/bar" matches "bar" in "foo" itself or in a subdirectory of "foo". * When giving arguments without "--" disambiguation, object names that come earlier on the command line must not be interpretable as pathspecs and pathspecs that come later on the command line must not be interpretable as object names. This disambiguation rule has been tweaked so that ":/" (no other string before or after) is always interpreted as a pathspec; "git cmd -- :/" is no longer needed, you can just say "git cmd :/". * Various "hint" lines Git gives when it asks the user to edit messages in the editor are commented out with '#' by default. The core.commentchar configuration variable can be used to customize this '#' to a different character. * "git add -u" and "git add -A" without pathspec issues warning to make users aware that they are only operating on paths inside the subdirectory they are in. Use ":/" (everything from the top) or "." (everything from the $cwd) to disambiguate. * "git blame" (and "git diff") learned the "--no-follow" option. * "git branch" now rejects some nonsense combinations of command line arguments (e.g. giving more than one branch name to rename) with more case-specific error messages. * "git check-ignore" command to help debugging .gitignore files has been added. * "git cherry-pick" can be used to replay a root commit to an unborn branch. * "git commit" can be told to use --cleanup=whitespace by setting the configuration variable commit.cleanup to 'whitespace'. * "git diff" and other Porcelain commands can be told to use a non-standard algorithm by setting diff.algorithm configuration variable. * "git fetch --mirror" and fetch that uses other forms of refspec with wildcard used to attempt to update a symbolic ref that match the wildcard on the receiving end, which made little sense (the real ref that is pointed at by the symbolic ref would be updated anyway). Symbolic refs no longer are affected by such a fetch. * "git format-patch" now detects more cases in which a whole branch is being exported, and uses the description for the branch, when asked to write a cover letter for the series. * "git format-patch" learned "-v $count" option, and prepends a string "v$count-" to the names of its output files, and also automatically sets the subject prefix to "PATCH v$count". This allows patches from rerolled series to be stored under different names and makes it easier to reuse cover letter messsages. * "git log" and friends can be told with --use-mailmap option to rewrite the names and email addresses of people using the mailmap mechanism. * "git log --cc --graph" now shows the combined diff output with the ancestry graph. * "git log --grep=" honors i18n.logoutputencoding to look for the pattern after fixing the log message to the specified encoding. * "git mergetool" and "git difftool" learned to list the available tool backends in a more consistent manner. * "git mergetool" is aware of TortoiseGitMerge now and uses it over TortoiseMerge when available. * "git push" now requires "-f" to update a tag, even if it is a fast-forward, as tags are meant to be fixed points. * Error messages from "git push" when it stops to prevent remote refs from getting overwritten by mistake have been improved to explain various situations separately. * "git push" will stop without doing anything if the new "pre-push" hook exists and exits with a failure. * When "git rebase" fails to generate patches to be applied (e.g. due to oom), it failed to detect the failure and instead behaved as if there were nothing to do. A workaround to use a temporary file has been applied, but we probably would want to revisit this later, as it hurts the common case of not failing at all. * Input and preconditions to "git reset" has been loosened where appropriate. "git reset $fromtree Makefile" requires $fromtree to be any tree (it used to require it to be a commit), for example. "git reset" (without options or parameters) used to error out when you do not have any commits in your history, but it now gives you an empty index (to match non-existent commit you are not even on). * "git status" says what branch is being bisected or rebased when able, not just "bisecting" or "rebasing". * "git submodule" started learning a new mode to integrate with the tip of the remote branch (as opposed to integrating with the commit recorded in the superproject's gitlink). * "git upload-pack" which implements the service "ls-remote" and "fetch" talk to can be told to hide ref hierarchies the server side internally uses (and that clients have no business learning about) with transfer.hiderefs configuration. Foreign Interface * "git fast-export" has been updated for its use in the context of the remote helper interface. * A new remote helper to interact with bzr has been added to contrib/. * "git p4" got various bugfixes around its branch handling. It is also made usable with Python 2.4/2.5. In addition, its various portability issues for Cygwin have been addressed. * The remote helper to interact with Hg in contrib/ has seen a few fixes. Performance, Internal Implementation, etc. * "git fsck" has been taught to be pickier about entries in tree objects that should not be there, e.g. ".", ".git", and "..". * Matching paths with common forms of pathspecs that contain wildcard characters has been optimized further. * We stopped paying attention to $GIT_CONFIG environment that points at a single configuration file from any command other than "git config" quite a while ago, but "git clone" internally set, exported, and then unexported the variable during its operation unnecessarily. * "git reset" internals has been reworked and should be faster in general. We tried to be careful not to break any behaviour but there could be corner cases, especially when running the command from a conflicted state, that we may have missed. * The implementation of "imap-send" has been updated to reuse xml quoting code from http-push codepath, and lost a lot of unused code. * There is a simple-minded checker for the test scripts in t/ directory to catch most common mistakes (it is not enabled by default). * You can build with USE_WILDMATCH=YesPlease to use a replacement implementation of pattern matching logic used for pathname-like things, e.g. refnames and paths in the repository. This new implementation is not expected change the existing behaviour of Git in this release, except for "git for-each-ref" where you can now say "refs/**/master" and match with both refs/heads/master and refs/remotes/origin/master. We plan to use this new implementation in wider places (e.g. "git ls-files '**/Makefile' may find Makefile at the top-level, and "git log '**/t*.sh'" may find commits that touch a shell script whose name begins with "t" at any level) in future versions of Git, but we are not there yet. By building with USE_WILDMATCH, using the resulting Git daily and reporting when you find breakages, you can help us get closer to that goal. * Some reimplementations of Git do not write all the stat info back to the index due to their implementation limitations (e.g. jgit). A configuration option can tell Git to ignore changes to most of the stat fields and only pay attention to mtime and size, which these implementations can reliably update. This can be used to avoid excessive revalidation of contents. * Some platforms ship with old version of expat where xmlparse.h needs to be included instead of expat.h; the build procedure has been taught about this. * "make clean" on platforms that cannot compute header dependencies on the fly did not work with implementations of "rm" that do not like an empty argument list. Also contains minor documentation updates and code clean-ups. Fixes since v1.8.1 ------------------ Unless otherwise noted, all the fixes since v1.8.1 in the maintenance track are contained in this release (see release notes to them for details). * An element on GIT_CEILING_DIRECTORIES list that does not name the real path to a directory (i.e. a symbolic link) could have caused the GIT_DIR discovery logic to escape the ceiling. * When attempting to read the XDG-style $HOME/.config/git/config and finding that $HOME/.config/git is a file, we gave a wrong error message, instead of treating the case as "a custom config file does not exist there" and moving on. * The behaviour visible to the end users was confusing, when they attempt to kill a process spawned in the editor that was in turn launched by Git with SIGINT (or SIGQUIT), as Git would catch that signal and die. We ignore these signals now. (merge 0398fc34 pf/editor-ignore-sigint later to maint). * A child process that was killed by a signal (e.g. SIGINT) was reported in an inconsistent way depending on how the process was spawned by us, with or without a shell in between. * After failing to create a temporary file using mkstemp(), failing pathname was not reported correctly on some platforms. * We used to stuff "user@" and then append what we read from /etc/mailname to come up with a default e-mail ident, but a bug lost the "user@" part. * The attribute mechanism didn't allow limiting attributes to be applied to only a single directory itself with "path/" like the exclude mechanism does. The initial implementation of this that was merged to 'maint' and 1.8.1.2 was with a severe performance degradations and needs to merge a fix-up topic. * The smart HTTP clients forgot to verify the content-type that comes back from the server side to make sure that the request is being handled properly. (merge 3443db5 sp/smart-http-content-type-check later to maint). * "git am" did not parse datestamp correctly from Hg generated patch, when it is run in a locale outside C (or en). * "git apply" misbehaved when fixing whitespace breakages by removing excess trailing blank lines. * "git apply --summary" has been taught to make sure the similarity value shown in its output is sensible, even when the input had a bogus value. (merge afcb6ac jk/apply-similaritly-parsing later to maint). * A tar archive created by "git archive" recorded a directory in a way that made NetBSD's implementation of "tar" sometimes unhappy. * "git archive" did not record uncompressed size in the header when streaming a zip archive, which confused some implementations of unzip. * "git archive" did not parse configuration values in tar.* namespace correctly. (merge b3873c3 jk/config-parsing-cleanup later to maint). * Attempt to "branch --edit-description" an existing branch, while being on a detached HEAD, errored out. * "git clean" showed what it was going to do, but sometimes end up finding that it was not allowed to do so, which resulted in a confusing output (e.g. after saying that it will remove an untracked directory, it found an embedded git repository there which it is not allowed to remove). It now performs the actions and then reports the outcome more faithfully. (merge f538a91 zk/clean-report-failure later to maint). * When "git clone --separate-git-dir=$over_there" is interrupted, it failed to remove the real location of the $GIT_DIR it created. This was most visible when interrupting a submodule update. * "git cvsimport" mishandled timestamps at DST boundary. (merge 48c9162 bw/get-tz-offset-perl later to maint). * We used to have an arbitrary 32 limit for combined diff input, resulting in incorrect number of leading colons shown when showing the "--raw --cc" output. (merge edbc00e jc/combine-diff-many-parents later to maint). * "git fetch --depth" was broken in at least three ways. The resulting history was deeper than specified by one commit, it was unclear how to wipe the shallowness of the repository with the command, and documentation was misleading. (merge cfb70e1 nd/fetch-depth-is-broken later to maint). * "git log --all -p" that walked refs/notes/textconv/ ref can later try to use the textconv data incorrectly after it gets freed. (merge be5c9fb jk/read-commit-buffer-data-after-free later to maint). * We forgot to close the file descriptor reading from "gpg" output, killing "git log --show-signature" on a long history. * The way "git svn" asked for password using SSH_ASKPASS and GIT_ASKPASS was not in line with the rest of the system. * The --graph code fell into infinite loop when asked to do what the code did not expect. * http transport was wrong to ask for the username when the authentication is done by certificate identity. * "git pack-refs" that ran in parallel to another process that created new refs had a nasty race. * Rebasing the history of superproject with change in the submodule has been broken since v1.7.12. * After "git add -N" and then writing a tree object out of the index, the cache-tree data structure got corrupted. * "git clone" used to allow --bare and --separate-git-dir=$there options at the same time, which was nonsensical. (merge 95b63f1 nd/clone-no-separate-git-dir-with-bare later to maint). * "git rebase --preserve-merges" lost empty merges in recent versions of Git. * "git merge --no-edit" computed who were involved in the work done on the side branch, even though that information is to be discarded without getting seen in the editor. * "git merge" started calling prepare-commit-msg hook like "git commit" does some time ago, but forgot to pay attention to the exit status of the hook. * A failure to push due to non-ff while on an unborn branch dereferenced a NULL pointer when showing an error message. * When users spell "cc:" in lowercase in the fake "header" in the trailer part, "git send-email" failed to pick up the addresses from there. As e-mail headers field names are case insensitive, this script should follow suit and treat "cc:" and "Cc:" the same way. * Output from "git status --ignored" showed an unexpected interaction with "--untracked". * "gitweb", when sorting by age to show repositories with new activities first, used to sort repositories with absolutely nothing in it early, which was not very useful. * "gitweb"'s code to sanitize control characters before passing it to "highlight" filter lost known-to-be-safe control characters by mistake. * "gitweb" pages served over HTTPS, when configured to show picon or gravatar, referred to these external resources to be fetched via HTTP, resulting in mixed contents warning in browsers. (merge 5748558 ab/gitweb-use-same-scheme later to maint). * When a line to be wrapped has a solid run of non space characters whose length exactly is the wrap width, "git shortlog -w" failed to add a newline after such a line. * Command line completion leaked an unnecessary error message while looking for possible matches with paths in . * Command line completion for "tcsh" emitted an unwanted space after completing a single directory name. * Command line completion code was inadvertently made incompatible with older versions of bash by using a newer array notation. * "git push" was taught to refuse updating the branch that is currently checked out long time ago, but the user manual was left stale. (merge d9be248 wk/man-deny-current-branch-is-default-these-days later to maint). * Some shells do not behave correctly when IFS is unset; work it around by explicitly setting it to the default value. * Some scripted programs written in Python did not get updated when PYTHON_PATH changed. (cherry-pick 96a4647fca54031974cd6ad1 later to maint). * When autoconf is used, any build on a different commit always ran "config.status --recheck" even when unnecessary. * A fix was added to the build procedure to work around buggy versions of ccache broke the auto-generation of dependencies, which unfortunately is still relevant because some people use ancient distros. * The autoconf subsystem passed --mandir down to generated config.mak.autogen but forgot to do the same for --htmldir. (merge fc1c541 ct/autoconf-htmldir later to maint). * We have been carrying a translated and long-unmaintained copy of an old version of the tutorial; removed. * t0050 had tests expecting failures from a bug that was fixed some time ago. * t4014, t9502 and t0200 tests had various portability issues that broke on OpenBSD. * t9020 and t3600 tests had various portability issues. * t9200 runs "cvs init" on a directory that already exists, but a platform can configure this fail for the current user (e.g. you need to be in the cvsadmin group on NetBSD 6.0). * t9020 and t9810 had a few non-portable shell script construct. * Scripts to test bash completion was inherently flaky as it was affected by whatever random things the user may have on $PATH. -- 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 almost 13 years ago by Thomas Koch
Hi, my git_export_hardlink command should now be in a usable state. I'd appreciate any feedback: https://github.com/thkoch2001/git_export_hardlinks I still have to choose a license: BSD/GPL/? Jeff King: > It looks like you create the ... [More] sha1->path mapping by asking the user to > provide , pairs, and then assuming that the exported > tree at exactly matches . Which it would in the > workflow you've proposed, but it is also easy for that not to be the > case (e.g., somebody munges a file in after it has been > exported). > > So it's a bit dangerous as a general purpose tool, IMHO. It's also a > slight pain in that you have to keep track of the tree sha1 for each > exported path somehow. You're right. I'd run a git reset --hard after each export to guarantee a pristine export. The tree sha1 of the exported tree might be part of the folder name of the export or in some meta file related to the export, like /deployments /2012-03-05_14-23-02_0b96bf5f72d2c282b31726b3fbff279a89220b15 /export <- exported tree goes here /meta <- git config file holding all relevant metadata: (who, when, tree, commit, ref) /index <- git index file corresponding to the exported tree (maybe?) Regards, Thomas Koch, http://www.koch.ro -- 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 almost 13 years ago by Junio C Hamano
The latest maintenance release Git v1.8.1.3 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: 29ed9047263f9835726200226451339276641779 ... [More] git-1.8.1.3.tar.gz 6b1e57bde2f2b0a86532390c15bfa7b181c50db2 git-htmldocs-1.8.1.3.tar.gz 12aaa8a0428e64d194665379ab0335d786728930 git-manpages-1.8.1.3.tar.gz Also the following public repositories all have a copy of the v1.8.1.3 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.8.1.3 Release Notes ========================= Fixes since v1.8.1.2 -------------------- * The attribute mechanism didn't allow limiting attributes to be applied to only a single directory itself with "path/" like the exclude mechanism does. The fix for this in 1.8.1.2 had performance degradations. * Command line completion code was inadvertently made incompatible with older versions of bash by using a newer array notation. * Scripts to test bash completion was inherently flaky as it was affected by whatever random things the user may have on $PATH. * A fix was added to the build procedure to work around buggy versions of ccache broke the auto-generation of dependencies, which unfortunately is still relevant because some people use ancient distros. * We used to stuff "user@" and then append what we read from /etc/mailname to come up with a default e-mail ident, but a bug lost the "user@" part. * "git am" did not parse datestamp correctly from Hg generated patch, when it is run in a locale outside C (or en). * Attempt to "branch --edit-description" an existing branch, while being on a detached HEAD, errored out. * "git cherry-pick" did not replay a root commit to an unborn branch. * We forgot to close the file descriptor reading from "gpg" output, killing "git log --show-signature" on a long history. * "git rebase --preserve-merges" lost empty merges in recent versions of Git. * Rebasing the history of superproject with change in the submodule has been broken since v1.7.12. * A failure to push due to non-ff while on an unborn branch dereferenced a NULL pointer when showing an error message. Also contains various documentation fixes. ---------------------------------------------------------------- Changes since v1.8.1.2 are as follows: Brandon Casey (3): git-completion.bash: replace zsh notation that breaks bash 3.X git-p4.py: support Python 2.5 git-p4.py: support Python 2.4 Dmitry V. Levin (1): am: invoke perl's strftime in C locale Fraser Tweedale (1): push: fix segfault when HEAD points nowhere John Keeping (1): git-cvsimport.txt: cvsps-2 is deprecated Jonathan Nieder (2): ident: do not drop username when reading from /etc/mailname Makefile: explicitly set target name for autogenerated dependencies Junio C Hamano (17): Which merge_file() function do you mean? merge-tree: lose unused "flags" from merge_list merge-tree: lose unused "resolve_directories" merge-tree: add comments to clarify what these functions are doing merge-tree: fix d/f conflicts Documentation: update "howto maintain git" howto/maintain: mark titles for asciidoc help: include only in one file t9902: protect test from stray build artifacts howto/maintain: document "### match next" convention in jch/pu branch README: update stale and/or incorrect information INSTALL: git-p4 does not support Python 3 git-am: record full index line in the patch used while rebasing apply: simplify build_fake_ancestor() apply: diagnose incomplete submodule object name better Start preparing for 1.8.1.3 Git 1.8.1.3 Martin von Zweigbergk (2): tests: move test_cmp_rev to test-lib-functions learn to pick/revert into unborn branch Nguyễn Thái Ngọc Duy (4): attr: fix off-by-one directory component length calculation test-lib.sh: unfilter GIT_PERF_* attr: avoid calling find_basename() twice per path branch: no detached HEAD check when editing another branch's description Phil Hord (1): rebase --preserve-merges: keep all merge commits including empty ones Ramsay Allan Jones (1): Makefile: Replace merge-file.h with merge-blobs.h in LIB_H Stephen Boyd (1): gpg: close stderr once finished with it in verify_signed_buffer() Torsten Bögershausen (3): t0050: known breakage vanished in merge (case change) t0050: honor CASE_INSENSITIVE_FS in add (with different case) t0050: Use TAB for indentation -- 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.1.2 is now available at the usual places. This contains a handful of fixes that will also appear in the next feature release. The release tarballs are found at: ... [More] http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 29a2dee568b1f86e9d3d8f9dcc376f24439b6a0c git-1.8.1.2.tar.gz 3df491003d026b8f4b2de378e57b930a98f0a595 git-htmldocs-1.8.1.2.tar.gz 142222a27dfec52256831f2d0e2ee655f75c1077 git-manpages-1.8.1.2.tar.gz Also the following public repositories all have a copy of the v1.8.1.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 1.8.1.2 Release Notes ========================= Fixes since v1.8.1.1 -------------------- * An element on GIT_CEILING_DIRECTORIES list that does not name the real path to a directory (i.e. a symbolic link) could have caused the GIT_DIR discovery logic to escape the ceiling. * Command line completion for "tcsh" emitted an unwanted space after completing a single directory name. * Command line completion leaked an unnecessary error message while looking for possible matches with paths in . * "git archive" did not record uncompressed size in the header when streaming a zip archive, which confused some implementations of unzip. * When users spelled "cc:" in lowercase in the fake "header" in the trailer part, "git send-email" failed to pick up the addresses from there. As e-mail headers field names are case insensitive, this script should follow suit and treat "cc:" and "Cc:" the same way. Also contains various documentation fixes. ---------------------------------------------------------------- Changes since v1.8.1.1 are as follows: Antoine Pelisse (3): dir.c: Make git-status --ignored more consistent git-status: Test --ignored behavior status: always report ignored tracked directories Dylan Smith (1): git-completion.bash: silence "not a valid object" errors Eric S. Raymond (1): Remove the suggestion to use parsecvs, which is currently broken. John Keeping (1): git-for-each-ref.txt: 'raw' is a supported date format Jonathan Nieder (1): contrib/vim: simplify instructions for old vim support Junio C Hamano (2): Start preparing for 1.8.1.2 Git 1.8.1.2 Marc Khouzam (1): Prevent space after directories in tcsh completion Michael Haggerty (8): Introduce new static function real_path_internal() real_path_internal(): add comment explaining use of cwd Introduce new function real_path_if_valid() longest_ancestor_length(): use string_list_split() longest_ancestor_length(): take a string_list argument for prefixes longest_ancestor_length(): require prefix list entries to be normalized setup_git_directory_gently_1(): resolve symlinks in ceiling paths string_list_longest_prefix(): remove function Nguyễn Thái Ngọc Duy (1): attr: make it build with DEBUG_ATTR again Nickolai Zeldovich (1): git-send-email: treat field names as case-insensitively Peter Eisentraut (1): git-commit-tree(1): correct description of defaults René Scharfe (5): archive-zip: write uncompressed size into header even with streaming t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead t0024, t5000: use test_lazy_prereq for UNZIP t5000, t5003: move ZIP tests into their own script t5003: check if unzip supports symlinks Sebastian Staudt (1): config.txt: Document help.htmlpath config parameter -- 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.1.1 is now available at the usual places. This contains many bugfixes that have been cooking on the 'master' branch since v1.8.1 was released. The release tarballs are found at: ... [More] http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: 44b90aab937b0e0dbb0661eb5ec4ca6182e60854 git-1.8.1.1.tar.gz 952e0950d40bb141357be88a63f4cbb58258a4f5 git-htmldocs-1.8.1.1.tar.gz 5089613a434ba09c94f6694d546c246838377760 git-manpages-1.8.1.1.tar.gz Also the following public repositories all have a copy of the v1.8.1.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 1.8.1.1 Release Notes ========================= Fixes since v1.8.1 ------------------ * The attribute mechanism didn't allow limiting attributes to be applied to only a single directory itself with "path/" like the exclude mechanism does. * When attempting to read the XDG-style $HOME/.config/git/config and finding that $HOME/.config/git is a file, we gave a wrong error message, instead of treating the case as "a custom config file does not exist there" and moving on. * After failing to create a temporary file using mkstemp(), failing pathname was not reported correctly on some platforms. * http transport was wrong to ask for the username when the authentication is done by certificate identity. * The behaviour visible to the end users was confusing, when they attempt to kill a process spawned in the editor that was in turn launched by Git with SIGINT (or SIGQUIT), as Git would catch that signal and die. We ignore these signals now. * A child process that was killed by a signal (e.g. SIGINT) was reported in an inconsistent way depending on how the process was spawned by us, with or without a shell in between. * After "git add -N" and then writing a tree object out of the index, the cache-tree data structure got corrupted. * "git apply" misbehaved when fixing whitespace breakages by removing excess trailing blank lines in some corner cases. * A tar archive created by "git archive" recorded a directory in a way that made NetBSD's implementation of "tar" sometimes unhappy. * When "git clone --separate-git-dir=$over_there" is interrupted, it failed to remove the real location of the $GIT_DIR it created. This was most visible when interrupting a submodule update. * "git fetch --mirror" and fetch that uses other forms of refspec with wildcard used to attempt to update a symbolic ref that match the wildcard on the receiving end, which made little sense (the real ref that is pointed at by the symbolic ref would be updated anyway). Symbolic refs no longer are affected by such a fetch. * The "log --graph" codepath fell into infinite loop in some corner cases. * "git merge" started calling prepare-commit-msg hook like "git commit" does some time ago, but forgot to pay attention to the exit status of the hook. * "git pack-refs" that ran in parallel to another process that created new refs had a race that can lose new ones. * When a line to be wrapped has a solid run of non space characters whose length exactly is the wrap width, "git shortlog -w" failed to add a newline after such a line. * The way "git svn" asked for password using SSH_ASKPASS and GIT_ASKPASS was not in line with the rest of the system. * "gitweb", when sorting by age to show repositories with new activities first, used to sort repositories with absolutely nothing in it early, which was not very useful. * "gitweb", when sorting by age to show repositories with new activities first, used to sort repositories with absolutely nothing in it early, which was not very useful. * When autoconf is used, any build on a different commit always ran "config.status --recheck" even when unnecessary. * Some scripted programs written in Python did not get updated when PYTHON_PATH changed. * We have been carrying a translated and long-unmaintained copy of an old version of the tutorial; removed. * Portability issues in many self-test scripts have been addressed. Also contains other minor fixes and documentation updates. ---------------------------------------------------------------- Changes since v1.8.1 are as follows: Aaron Schrab (1): Use longer alias names in subdirectory tests Adam Spiers (1): api-allocation-growing.txt: encourage better variable naming Antoine Pelisse (1): merge: Honor prepare-commit-msg return code Christian Couder (1): Makefile: detect when PYTHON_PATH changes Jean-Noël AVILA (1): Add directory pattern matching to attributes Jeff King (9): run-command: drop silent_exec_failure arg from wait_or_whine launch_editor: refactor to use start/finish_command run-command: do not warn about child death from terminal launch_editor: propagate signals from editor to git completion: complete refs for "git commit -c" refs: do not use cached refs in repack_without_ref tests: turn on test-lint by default fix compilation with NO_PTHREADS run-command: encode signal death as a positive integer Jens Lehmann (1): clone: support atomic operation with --separate-git-dir John Keeping (4): git-fast-import(1): remove duplicate '--done' option git-shortlog(1): document behaviour of zero-width wrap git-fast-import(1): combine documentation of --[no-]relative-marks git-fast-import(1): reorganise options Jonathan Nieder (6): config, gitignore: failure to access with ENOTDIR is ok config: treat user and xdg config permission problems as errors doc: advertise GIT_CONFIG_NOSYSTEM config: exit on error accessing any config file build: do not automatically reconfigure unless configure.ac changed docs: manpage XML depends on asciidoc.conf Junio C Hamano (20): apply.c:update_pre_post_images(): the preimage can be truncated format_commit_message(): simplify calls to logmsg_reencode() sh-setup: work around "unset IFS" bug in some shells fetch: ignore wildcarded refspecs that update local symbolic refs xmkstemp(): avoid showing truncated template more carefully t0200: "locale" may not exist t9502: do not assume GNU tar t4014: fix arguments to grep t3600: Avoid "cp -a", which is a GNUism t9020: use configured Python to run the test helper compat/fnmatch: update old-style definition to ANSI t9200: let "cvs init" create the test repository merge --no-edit: do not credit people involved in the side branch SubmittingPatches: who am I and who cares? SubmittingPatches: mention subsystems with dedicated repositories Documentation: full-ness of a bundle is significant for cloning SubmittingPatches: remove overlong checklist SubmittingPatches: give list and maintainer addresses Prepare for 1.8.1.1 Git 1.8.1.1 Kirill Brilliantov (1): Documentation: correct example restore from bundle Mark Levedahl (1): Makefile: add comment on CYGWIN_V15_WIN32API Matthew Daley (1): gitweb: Sort projects with undefined ages last Max Horn (1): configure.ac: fix pthreads detection on Mac OS X Michael Schubert (2): git-subtree: ignore git-subtree executable git-subtree: fix typo in manpage Michał Kiedrowicz (1): graph.c: infinite loop in git whatchanged --graph -m Nguyễn Thái Ngọc Duy (4): cache-tree: remove dead i-t-a code in verify_cache() cache-tree: replace "for" loops in update_one with "while" loops cache-tree: fix writing cache-tree when CE_REMOVE is present cache-tree: invalidate i-t-a paths after generating trees Orgad Shaneh (1): gitweb: fix error in sanitize when highlight is enabled Paul Fox (1): launch_editor: ignore terminal signals while editor has control Rene Bredlau (1): http.c: Avoid username prompt for certifcate credentials René Scharfe (2): archive-tar: split long paths more carefully t1402: work around shell quoting issue on NetBSD Sebastian Schuberth (1): nedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2 Steffen Prohaska (2): shortlog: fix wrapping lines of wraplen strbuf_add_wrapped*(): Remove unused return value Sven Strickroth (3): git-svn, perl/Git.pm: add central method for prompting passwords perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set git-svn, perl/Git.pm: extend and use Git->prompt method for querying users Thomas Ackermann (1): Remove Documentation/pt_BR/gittutorial.txt Torsten Bögershausen (2): t9810: Do not use sed -i t9020: which is not portable W. Trevor King (1): remote-hg: Fix biridectionality -> bidirectionality typos -- 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 feature release Git v1.8.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: ac8dced9c3232c0ec6a88d04600a4d0eaf2ba4e3 ... [More] git-1.8.1.tar.gz a256fc56c89dc3c8d58b81a2c02dc89299f1f29b git-htmldocs-1.8.1.tar.gz a9ab9de3fa1781bb5009f5a215374dfc694feb30 git-manpages-1.8.1.tar.gz Also the following public repositories all have a copy of the v1.8.1 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 ======================== 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. * "git-prompt" scriptlet (in contrib/completion) can be told to paint pieces of the hints in the prompt string in colors. * Some documentation pages that used to ship only in the plain text format are now formatted in HTML as well. * 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. * 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. * 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. * "git format-patch" learned the "--notes=" option to give notes for the commit after the three-dash lines in its output. * "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 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. * A new remote-helper interface for Mercurial has been added to contrib/remote-helpers. * 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-rc3 are as follows: Junio C Hamano (3): git(1): show link to contributor summary page Git 1.8.0.3 Git 1.8.1 Max Horn (1): git-remote-helpers.txt: document invocation before input format Ramkumar Ramachandra (1): Documentation: move diff.wordRegex from config.txt to diff-config.txt 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. Simon Oosthoek (1): make __git_ps1 accept a third parameter in pcmode Thomas Ackermann (1): Sort howto documents in howto-index.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.3 is now available at the usual places. This is primarily to down-merge documentation updates that have been accumulating to the 'master' front for the upcoming 1.8.1 to the maintenance series. The release ... [More] tarballs are found at: http://code.google.com/p/git-core/downloads/list and their SHA-1 checksums are: b1695f28448c00e61e110b3c7bcd66c8047ef176 git-1.8.0.3.tar.gz 83c46b62e0c3979c5ef77a407ca41507658b5726 git-htmldocs-1.8.0.3.tar.gz 63df55f90b9c6c11dd827ce1880b5b5fdf79c1c1 git-manpages-1.8.0.3.tar.gz Also the following public repositories all have a copy of the v1.8.0.3 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.3 Release Notes ========================== Fixes since v1.8.0.2 -------------------- * "git log -p -S" did not apply the textconv filter while looking for the . * In the documentation, some invalid example e-mail addresses were formatted into mailto: links. Also contains many documentation updates backported from the 'master' branch that is preparing for the upcoming 1.8.1 release. ---------------------------------------------------------------- Changes since v1.8.0.2 are as follows: Adam Spiers (2): SubmittingPatches: add convention of prefixing commit messages Documentation: move support for old compilers to CodingGuidelines Anders Kaseorg (1): git-prompt: Document GIT_PS1_DESCRIBE_STYLE Chris Rorvick (2): Documentation/git-checkout.txt: clarify usage Documentation/git-checkout.txt: document 70c9ac2 behavior Gunnlaugur Þór Briem (1): Document git-svn fetch --log-window-size parameter Jeff King (7): pickaxe: hoist empty needle check pickaxe: use textconv for -S counting .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 (6): 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): show link to contributor summary page Git 1.8.0.3 Krzysztof Mazur (1): doc: git-reset: make "" optional Manlio Perillo (1): git.txt: add missing info about --git-dir command-line option Matthew Daley (1): Fix sizeof usage in get_permutations Max Horn (1): git-remote-helpers.txt: document invocation before input format Nguyễn Thái Ngọc Duy (1): index-format.txt: clarify what is "invalid" Ramkumar Ramachandra (1): Documentation: move diff.wordRegex from config.txt to diff-config.txt 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 (8): Split over-long synopsis in git-fetch-pack.txt into several lines Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1 Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt Documentation/technical: convert plain text files to asciidoc Documentation/howto: convert plain text files to asciidoc Documentation: build html for all files in technical and howto Remove misleading date from api-index-skel.txt Sort howto documents in howto-index.txt Tom Jones (1): Add -S, --gpg-sign option to manpage of "git commit" -- 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]