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] [1.7] Updated: git-, git{k,-gui,-completion,-svn}-

Hash: SHA1

A new release of git,, has been uploaded to the cygwin 1.7
release area.  This replaces as current.

This is a new upstream major release.  I'm attaching the release notes;
see also the package documentation in /usr/share/doc/git/.

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', 'gitk',
'git-gui', 'git-svn', and/or 'git-completion' 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.6.4.2 Release Notes

Fixes since v1.6.4.1

* --date=relative output between 1 and 5 years ago rounded the number of
    years when saying X years Y months ago, instead of rounding it down.

* "git add -p" did not handle changes in executable bits correctly
  (a regression around 1.6.3).

* "git apply" did not honor GNU diff's convention to mark the creation/deletion
  event with UNIX epoch timestamp on missing side.

* "git checkout" incorrectly removed files in a directory pointed by a
  symbolic link during a branch switch that replaces a directory with
  a symbolic link.

* "git clean -d -f" happily descended into a subdirectory that is managed by a
  separate git repository.  It now requires two -f options for safety.

* "git fetch/push" over http transports had two rather grave bugs.

* "git format-patch --cover-letter" did not prepare the cover letter file
  for use with non-ASCII strings when there are the series contributors with
  non-ASCII names.

* "git pull origin branch" and "git fetch origin && git merge origin/branch"
  left different merge messages in the resulting commit.

Other minor documentation updates are included.

GIT v1.6.4.1 Release Notes

Fixes since v1.6.4

 * An unquoted value in the configuration file, when it contains more than
   one whitespaces in a row, got them replaced with a single space.

 * "git am" used to accept a single piece of e-mail per file (not a mbox)
   as its input, but multiple input format support in v1.6.4 broke it.
   Apparently many people have been depending on this feature.

 * The short help text for "git filter-branch" command was a single long
   line, wrapped by terminals, and was hard to read.

 * The "recursive" strategy of "git merge" segfaulted when a merge has
   more than one merge-bases, and merging of these merge-bases involves
   a rename/rename or a rename/add conflict.

 * "git pull --rebase" did not use the right fork point when the
   repository has already fetched from the upstream that rewinds the
   branch it is based on in an earlier fetch.

 * Explain the concept of fast-forward more fully in "git push"
   documentation, and hint to refer to it from an error message when the
   command refuses an update to protect the user.

 * The default value for pack.deltacachesize, used by "git repack", is now
   256M, instead of unbounded.  Otherwise a repack of a moderately sized
   repository would needlessly eat into swap.

 * Document how "git repack" (hence "git gc") interacts with a repository
   that borrows its objects from other repositories (e.g. ones created by
   "git clone -s").

 * "git show" on an annotated tag lacked a delimiting blank line between
   the tag itself and the contents of the object it tags.

 * "git verify-pack -v" erroneously reported number of objects with too
   deep delta depths as "chain length 0" objects.

 * Long names of authors and committers outside US-ASCII were sometimes
   incorrectly shown in "gitweb".

Other minor documentation updates are included.

GIT v1.6.4 Release Notes

With the next major release, "git push" into a branch that is
currently checked out will be refused by default.  You can choose
what should happen upon such a push by setting the configuration
variable receive.denyCurrentBranch in the receiving repository.

To ease the transition plan, the receiving repository of such a
push running this release will issue a big warning when the
configuration variable is missing.  Please refer to:

for more details on the reason why this change is needed and the
transition plan.

For a similar reason, "git push $there :$killed" to delete the branch
$killed in a remote repository $there, if $killed branch is the current
branch pointed at by its HEAD, gets a large warning.  You can choose what
should happen upon such a push by setting the configuration variable
receive.denyDeleteCurrent in the receiving repository.

Updates since v1.6.3


 * gitweb Perl style clean-up.

 * git-svn updates, including a new --authors-prog option to map author
   names by invoking an external program, 'git svn reset' to unwind
   'git svn fetch', support for more than one branches, documenting
   of the useful --minimize-url feature, new "git svn gc" command, etc.


 * We feed iconv with "UTF-8" instead of "utf8"; the former is
   understood more widely.  Similarly updated test scripts to use
   encoding names more widely understood (e.g. use "ISO8859-1" instead
   of "ISO-8859-1").

 * Various portability fixes/workarounds for different vintages of
   SunOS, IRIX, and Windows.

 * Git-over-ssh transport on Windows supports PuTTY plink and TortoisePlink.


 * Many repeated use of lstat() are optimized out in "checkout" codepath.

 * git-status (and underlying git-diff-index --cached) are optimized
   to take advantage of cache-tree information in the index.

(usability, bells and whistles)

 * "git add --edit" lets users edit the whole patch text to fine-tune what
   is added to the index.

 * "git am" accepts StGIT series file as its input.

 * "git bisect skip" skips to a more randomly chosen place in the hope
   to avoid testing a commit that is too close to a commit that is
   already known to be untestable.

 * "git cvsexportcommit" learned -k option to stop CVS keywords expansion

 * "git fast-export" learned to handle history simplification more

 * "git fast-export" learned an option --tag-of-filtered-object to handle
   dangling tags resulting from history simplification more usefully.

 * "git grep" learned -p option to show the location of the match using the
   same context hunk marker "git diff" uses.

 * https transport can optionally be told that the used client
   certificate is password protected, in which case it asks the
   password only once.

 * "git imap-send" is IPv6 aware.

 * "git log --graph" draws graphs more compactly by using horizontal lines
   when able.

 * "git log --decorate" shows shorter refnames by stripping well-known
   refs/* prefix.

 * "git push $name" honors remote.$name.pushurl if present before
   using remote.$name.url.  In other words, the URL used for fetching
   and pushing can be different.

 * "git send-email" understands quoted aliases in .mailrc files (might
   have to be backported to 1.6.3.X).

 * "git send-email" can fetch the sender address from the configuration
   variable "sendmail.from" (and "sendmail.<identity>.from").

 * "git show-branch" can color its output.

 * "add" and "update" subcommands to "git submodule" learned --reference
   option to use local clone with references.

 * "git submodule update" learned --rebase option to update checked
   out submodules by rebasing the local changes.

 * "gitweb" can optionally use gravatar to adorn author/committer names.


 * A major part of the "git bisect" wrapper has moved to C.

 * Formatting with the new version of AsciiDoc 8.4.1 is now supported.

Fixes since v1.6.3

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

Here are fixes that this release has, but have not been backported to
v1.6.3.X series.

 * "git diff-tree -r -t" used to omit new or removed directories from
   the output.  df533f3 (diff-tree -r -t: include added/removed
   directories in the output, 2009-06-13) may need to be cherry-picked
   to backport this fix.

 * The way sets up a Repository object was not friendly to callers
   that chdir around.  It now internally records the repository location
   as an absolute path when autodetected.

 * Removing a section with "git config --remove-section", when its
   section header has a variable definition on the same line, lost
   that variable definition.

 * "git rebase -p --onto" used to always leave side branches of a merge
   intact, even when both branches are subject to rewriting.

 * "git repack" used to faithfully follow grafts and considered true
   parents recorded in the commit object unreachable from the commit.
   After such a repacking, you cannot remove grafts without corrupting
   the repository.

 * "git send-email" did not detect erroneous loops in alias expansion.

GIT v1.6.3.4 Release Notes

Fixes since v1.6.3.3

 * "git add --no-ignore-errors" did not override configured
   add.ignore-errors configuration.

 * "git apply --whitespace=fix" did not fix trailing whitespace on an
   incomplete line.

 * "git branch" opened too many commit objects unnecessarily.

 * "git checkout -f $commit" with a path that is a file (or a symlink) in
   the work tree to a commit that has a directory at the path issued an
   unnecessary error message.

 * "git diff -c/--cc" was very inefficient in coalescing the removed lines
   shared between parents.

 * "git diff -c/--cc" showed removed lines at the beginning of a file

 * "git remote show nickname" did not honor configured
   remote.nickname.uploadpack when inspecting the branches at the remote.

 * "git request-pull" when talking to the terminal for a preview
   showed some of the output in the pager.

 * "git request-pull start nickname [end]" did not honor configured
   remote.nickname.uploadpack when it ran git-ls-remote against the remote
   repository to learn the current tip of branches.

Includes other documentation updates and minor fixes.

GIT v1.6.3.3 Release Notes

Fixes since v1.6.3.2

 * "git archive" running on Cygwin can get stuck in an infinite loop.

 * "git daemon" did not correctly parse the initial line that carries
   virtual host request information.

 * "git diff --textconv" leaked memory badly when the textconv filter
   errored out.

 * The built-in regular expressions to pick function names to put on
   hunk header lines for java and objc were very inefficiently written.

 * in certain error situations git-fetch (and git-clone) on Windows didn't
   detect connection abort and ended up waiting indefinitely.

 * import-tars script (in contrib) did not import symbolic links correctly.

 * http.c used CURLOPT_SSLKEY even on libcURL version 7.9.2, even though
   it was only available starting 7.9.3.

 * low-level filelevel merge driver used return value from strdup()
   without checking if we ran out of memory.

 * "git rebase -i" left stray closing parenthesis in its reflog message.

 * "git remote show" did not show all the URLs associated with the named
   remote, even though "git remote -v" did.  Made them consistent by
   making the former show all URLs.

 * "whitespace" attribute that is set was meant to detect all errors known
   to git, but it told git to ignore trailing carriage-returns.

Includes other documentation fixes.

Problem reports:
Unsubscribe info:

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