This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ANNOUNCEMENT] Updated: git-1.5.5-1

Hash: SHA1

A new release of git, 1.5.5-1, has been uploaded, replacing 1.5.4-1 as
the current version.

This is a new upstream release.  See also the package documentation in
/usr/share/doc/git-1.5.5/, along with the attached upstream release notes.

When compiled out of the box, the upstream git maintainers cater to older
cygwin releases, and intentionally disable certain features that have been
reported on their mailing list, even though they work with the latest
cygwin.  Therefore, this build turns those features back on.  However, it
means that this version does assume that you are not using FAT or FAT32 to
hold your repositories, since they do not store file permissions very

Git is popular version control system designed to handle very large
projects with speed and efficiency; it is used mainly for various open
source projects, most notably the Linux kernel.

Git falls in the category of distributed source code management tools,
similar to e.g. GNU Arch or Monotone (or BitKeeper in the proprietary
world). Every Git working directory is a full-fledged repository with full
revision tracking capabilities, not dependent on network access or a
central server.

To update your installation, click on the "Install Cygwin now" link on the web page.  This downloads setup.exe to your system.
Save it and run setup, answer the questions and pick up 'git' from
the 'Devel' category.

Note that downloads from (aka aren't
allowed due to bandwidth limitations.  This means that you will need to
find a mirror which has this update, please choose the one nearest to you:

If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.

- --
Eric Blake
volunteer cygwin git maintainer

To unsubscribe to the cygwin-announce mailing list, look at the
"List-Unsubscribe: " tag in the email header of this message.  Send email
to the address specified there.  It will be in the format:

If you need more information on unsubscribing, start reading here:

Please read *all* of the information on unsubscribing that is available
starting at this URL.
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at
Comment: Using GnuPG with Mozilla -

GIT v1.5.5 Release Notes

Updates since v1.5.4


 * Comes with git-gui 0.10.1


 * We shouldn't ask for BSD group ownership semantics by setting g+s bit
   on directories on older BSD systems that refuses chmod() by non root
   users.  BSD semantics is the default there anyway.

 * Bunch of portability improvement patches coming from an effort to port
   to Solaris has been applied.


 * On platforms with suboptimal qsort(3) implementation, there
   is an option to use more reasonable substitute we ship with
   our software.

 * New configuration variable "pack.packsizelimit" can be used
   in place of command line option --max-pack-size.

 * "git fetch" over the native git protocol used to make a
   connection to find out the set of current remote refs and
   another to actually download the pack data.  We now use only
   one connection for these tasks.

 * "git commit" does not run lstat(2) more than necessary

(usability, bells and whistles)

 * Bash completion script (in contrib) are aware of more commands and

 * You can be warned when core.autocrlf conversion is applied in
   such a way that results in an irreversible conversion.

 * A catch-all "color.ui" configuration variable can be used to
   enable coloring of all color-capable commands, instead of
   individual ones such as "color.status" and "color.branch".

 * The commands refused to take absolute pathnames where they
   require pathnames relative to the work tree or the current
   subdirectory.  They now can take absolute pathnames in such a
   case as long as the pathnames do not refer outside of the
   work tree.  E.g. "git add $(pwd)/foo" now works.

 * Error messages used to be sent to stderr, only to get hidden,
   when $PAGER was in use.  They now are sent to stdout along
   with the command output to be shown in the $PAGER.

 * A pattern "foo/" in .gitignore file now matches a directory
   "foo".  Pattern "foo" also matches as before.

 * bash completion's prompt helper function can talk about
   operation in-progress (e.g. merge, rebase, etc.).

 * Configuration variables "url.<usethis>.insteadof = <otherurl>" can be
   used to tell "git-fetch" and "git-push" to use different URL than what
   is given from the command line.

 * "git add -i" behaves better even before you make an initial commit.

 * "git am" refused to run from a subdirectory without a good reason.

 * After "git apply --whitespace=fix" fixes whitespace errors in a patch,
   a line before the fix can appear as a context or preimage line in a
   later patch, causing the patch not to apply.  The command now knows to
   see through whitespace fixes done to context lines to successfully
   apply such a patch series.

 * "git branch" (and "git checkout -b") to branch from a local branch can
   optionally set "branch.<name>.merge" to mark the new branch to build on
   the other local branch, when "branch.autosetupmerge" is set to
   "always", or when passing the command line option "--track" (this option
   was ignored when branching from local branches).  By default, this does
   not happen when branching from a local branch.

 * "git checkout" to switch to a branch that has "branch.<name>.merge" set
   (i.e. marked to build on another branch) reports how much the branch
   and the other branch diverged.

 * When "git checkout" has to update a lot of paths, it used to be silent
   for 4 seconds before it showed any progress report.  It is now a bit
   more impatient and starts showing progress report early.

 * "git commit" learned a new hook "prepare-commit-msg" that can
   inspect what is going to be committed and prepare the commit
   log message template to be edited.

 * "git cvsimport" can now take more than one -M options.

 * "git describe" learned to limit the tags to be used for
   naming with --match option.

 * "git describe --contains" now barfs when the named commit
   cannot be described.

 * "git describe --exact-match" describes only commits that are tagged.

 * "git describe --long" describes a tagged commit as $tag-0-$sha1,
   instead of just showing the exact tagname.

 * "git describe" warns when using a tag whose name and path contradict
   with each other.

 * "git diff" learned "--relative" option to limit and output paths
   relative to the current directory when working in a subdirectory.

 * "git diff" learned "--dirstat" option to show birds-eye-summary of
   changes more concisely than "--diffstat".

 * "git format-patch" learned --cover-letter option to generate a cover
   letter template.

 * "git gc" learned --quiet option.

 * "git gc" now automatically prunes unreachable objects that are two
   weeks old or older.

 * "git gc --auto" can be disabled more easily by just setting
   to zero.  It also tolerates more packfiles by default.

 * "git grep" now knows "--name-only" is a synonym for the "-l" option.

 * "git help <alias>" now reports "'git <alias>' is alias to <what>",
   instead of saying "No manual entry for git-<alias>".

 * "git help" can use different backends to show manual pages and this can
   be configured using "man.viewer" configuration.

 * "gitk" does not restore window position from $HOME/.gitk anymore (it
   still restores the size).

 * "git log --grep=<what>" learned "--fixed-strings" option to look for
   <what> without treating it as a regular expression.

 * "git gui" learned an auto-spell checking.

 * "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as
   expected; they push the current branch (and only the current branch).
   In addition, HEAD can be written as the value of "remote.<there>.push"
   configuration variable.

 * When the configuration variable "pack.threads" is set to 0, "git
   repack" auto detects the number of CPUs and uses that many threads.

 * "git send-email" learned to prompt for passwords

 * "git send-email" learned an easier way to suppress CC

 * "git stash" learned "pop" command, that applies the latest stash and
   removes it from the stash, and "drop" command to discard the named
   stash entry.

 * "git submodule" learned a new subcommand "summary" to show the
   symmetric difference between the HEAD version and the work tree version
   of the submodule commits.

 * Various "git cvsimport", "git cvsexportcommit", "git cvsserver",
   "git svn" and "git p4" improvements.


 * Duplicated code between git-help and git-instaweb that
   launches user's preferred browser has been refactored.

 * It is now easier to write test scripts that records known

 * "git checkout" is rewritten in C.

 * "git remote" is rewritten in C.

 * Two conflict hunks that are separated by a very short span of common
   lines are now coalesced into one larger hunk, to make the result easier
   to read.

 * Run-command API's use of file descriptors is documented clearer and
   is more consistent now.

 * diff output can be sent to FILE * that is different from stdout.  This
   will help reimplementing more things in C.

Fixes since v1.5.4

All of the fixes in v1.5.4 maintenance series are included in
this release, unless otherwise noted.

 * "git-http-push" did not allow deletion of remote ref with the usual
   "push <remote> :<branch>" syntax.

 * "git-rebase --abort" did not go back to the right location if
   "git-reset" was run during the "git-rebase" session.

 * "git imap-send" without setting did not error out but

GIT v1.5.4.5 Release Notes

Fixes since v1.5.4.4

 * "git fetch there" when the URL information came from the Cogito style
   branches/there file did not update refs/heads/there (regression in

 * Bogus refspec configuration such as "remote.there.fetch = =" were not
   detected as errors (regressionin 1.5.4).

 * You couldn't specify a custom editor whose path contains a whitespace
   via GIT_EDITOR (and core.editor).

 * The subdirectory filter to "git filter-branch" mishandled a history
   where the subdirectory becomes empty and then later becomes non-empty.

 * "git shortlog" gave an empty line if the original commit message was
   malformed (e.g. a botched import from foreign SCM).  Now it finds the
   first non-empty line and uses it for better information.

 * When the user fails to give a revision parameter to "git svn", an error
   from the Perl interpreter was issued because the script lacked proper
   error checking.

 * After "git rebase" stopped due to conflicts, if the user played with
   "git reset" and friends, "git rebase --abort" failed to go back to the
   correct commit.

 * Additional work trees prepared with git-new-workdir (in contrib/) did
   not share git-svn metadata directory .git/svn with the original.

 * "git-merge-recursive" did not mark addition of the same path with
   different filemodes correctly as a conflict.

 * "gitweb" gave malformed URL when pathinfo stype paths are in use.

 * "-n" stands for "--no-tags" again for "git fetch".

 * "git format-patch" did not detect the need to add 8-bit MIME header
   when the user used format.header configuration.

 * "rev~" revision specifier used to mean "rev", which was inconsistent
   with how "rev^" worked.  Now "rev~" is the same as "rev~1" (hence it
   also is the same as "rev^1"), and "rev~0" is the same as "rev^0"
   (i.e. it has to be a commit).

 * "git quiltimport" did not grok empty lines, lines in "file -pNNN"
   format to specify the prefix levels and lines with trailing comments.

 * "git rebase -m" triggered pre-commit verification, which made
   "rebase --continue" impossible.

As usual, it also comes with many documentation fixes and clarifications.

GIT v1.5.4.4 Release Notes

Fixes since v1.5.4.3

 * Building and installing with an overtight umask such as 077 made
   installed templates unreadable by others, while the rest of the install
   are done in a way that is friendly to umask 022.

 * "git cvsexportcommit -w $cvsdir" misbehaved when GIT_DIR is set to a
   relative directory.

 * "git http-push" had an invalid memory access that could lead it to

 * When "git rebase -i" gave control back to the user for a commit that is
   marked to be edited, it just said "modify it with commit --amend",
   without saying what to do to continue after modifying it.  Give an
   explicit instruction to run "rebase --continue" to be more helpful.

 * "git send-email" in issued a bogus empty In-Reply-To: header.

 * "git bisect" showed mysterious "won't bisect on seeked tree" error message.
   This was leftover from Cogito days to prevent "bisect" starting from a
   cg-seeked state.  We still keep the Cogito safety, but running "git bisect
   start" when another bisect was in effect will clean up and start over.

 * "git push" with an explicit PATH to receive-pack did not quite work if
   receive-pack was not on usual PATH.  We earlier fixed the same issue
   with "git fetch" and upload-pack, but somehow forgot to do so in the
   other direction.

 * git-gui's info dialog was not displayed correctly when the user tries
   to commit nothing (i.e. without staging anything).

 * "git revert" did not properly fail when attempting to run with a
   dirty index.

 * "git merge --no-commit --no-ff <other>" incorrectly made commits.

 * "git merge --squash --no-ff <other>", which is a nonsense combination
   of options, was not rejected.

 * "git ls-remote" and "git remote show" against an empty repository
   failed, instead of just giving an empty result (regression).

 * "git fast-import" did not handle a renamed path whose name needs to be
   quoted, due to a bug in unquote_c_style() function.

 * "git cvsexportcommit" was confused when multiple files with the same
   basename needed to be pushed out in the same commit.

 * "git daemon" did not send early errors to syslog.

 * "git log --merge" did not work well with --left-right option.

 * "git svn" promprted for client cert password every time it accessed the

 * The reset command in "git fast-import" data stream was documented to
   end with an optional LF, but it actually required one.

 * "git svn dcommit/rebase" did not honor --rewrite-root option.

Also included are a handful documentation updates.

GIT v1.5.4.3 Release Notes

Fixes since v1.5.4.2

 * RPM spec used to pull in everything with 'git'.  This has been
   changed so that 'git' package contains just the core parts,
   and we now supply 'git-all' metapackage to slurp in everything.
   This should match end user's expectation better.

 * When some refs failed to update, git-push reported "failure"
   which was unclear if some other refs were updated or all of
   them failed atomically (the answer is the former).  Reworded
   the message to clarify this.

 * "git clone" from a repository whose HEAD was misconfigured
   did not set up the remote properly.  Now it tries to do

 * Updated git-push documentation to clarify what "matching"
   means, in order to reduce user confusion.

 * Updated git-add documentation to clarify "add -u" operates in
   the current subdirectory you are in, just like other commands.

 * git-gui updates to work on OSX and Windows better.

GIT v1.5.4.2 Release Notes

Fixes since v1.5.4

 * The configuration parser was not prepared to see string
   valued variables misspelled as boolean and segfaulted.

 * Temporary files left behind due to interrupted object
   transfers were not cleaned up with "git prune".

 * "git config --unset" was confused when the unset variables
   were spelled with continuation lines in the config file.

 * The merge message detection in "git cvsimport" did not catch
   a message that began with "Merge...".

 * "git status" suggests "git rm --cached" for unstaging the
   earlier "git add" before the initial commit.

 * "git status" output was incorrect during a partial commit.

 * "git bisect" refused to start when the HEAD was detached.

 * "git bisect" allowed a wildcard character in the commit
   message expanded while writing its log file.

 * Manual pages were not formatted correctly with docbook xsl
   1.72; added a workaround.

 * "git-commit -C $tag" used to work but rewrite in C done in
   1.5.4 broke it.  This was fixed in

 * An entry in the .gitattributes file that names a pattern in a
   subdirectory of the directory it is in did not match
   correctly (e.g. pattern "b/*.c" in "a/.gitattributes" should
   match "a/b/foo.c" but it didn't).  This was fixed in

 * Customized color specification was parsed incorrectly when
   numeric color values are used.  This was fixed in

 * http transport misbehaved when linked with curl-gnutls.

GIT v1.5.4.1 Release Notes

Fixes since v1.5.4

 * "git-commit -C $tag" used to work but rewrite in C done in
   1.5.4 broke it.

 * An entry in the .gitattributes file that names a pattern in a
   subdirectory of the directory it is in did not match
   correctly (e.g. pattern "b/*.c" in "a/.gitattributes" should
   match "a/b/foo.c" but it didn't).

 * Customized color specification was parsed incorrectly when
   numeric color values are used.  This was fixed in

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]