This is the mail archive of the cygwin-announce 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]

Updated: git-1.5.2.2-1


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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

NEWS:
=====
This is a new upstream release.  See also the package documentation in
/usr/share/doc/git-1.5.2.2/, 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
accurately.

DESCRIPTION:
============
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.

UPDATE:
=======
To update your installation, click on the "Install Cygwin now" link on the
http://cygwin.com/ 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.

DOWNLOAD:
=========
Note that downloads from sources.redhat.com (aka cygwin.com) 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:
http://cygwin.com/mirrors.html

QUESTIONS:
==========
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

CYGWIN-ANNOUNCE UNSUBSCRIBE INFO:
=================================
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:

cygwin-announce-unsubscribe-YOU=YOURDOMAIN.COM@cygwin.com

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

http://sources.redhat.com/lists.html#unsubscribe-simple

Please read *all* of the information on unsubscribing that is available
starting at this URL.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGfaH084KuGfSFAYARAgyfAKCR5Kwh0x9nQJtWCKx4xOT9G3lSfwCghIew
TKhMgrdI3YKt2PwNUXsmDdc=
=gsuX
-----END PGP SIGNATURE-----
GIT v1.5.2.2 Release Notes
==========================

Fixes since v1.5.2.1
--------------------

* Usability fix

  - git-gui is shipped with its updated blame interface.  It is
    rumored that the older one was not just unusable but was
    active health hazard, but this one is actually pretty.
    Please see for yourself.

* Bugfixes

  - "git checkout fubar" was utterly confused when there is a
    branch fubar and a tag fubar at the same time.  It correctly
    checks out the branch fubar now.

  - "git clone /path/foo" to clone a local /path/foo.git
    repository left an incorrect configuration.

  - "git send-email" correctly unquotes RFC 2047 quoted names in
    the patch-email before using their values.

  - We did not accept number of seconds since epoch older than
    year 2000 as a valid timestamp.  We now interpret positive
    integers more than 8 digits as such, which allows us to
    express timestamps more recent than March 1973.

  - git-cvsimport did not work when you have GIT_DIR to point
    your repository at a nonstandard location.

  - Some systems (notably, Solaris) lack hstrerror() to make
    h_errno human readable; prepare a replacement
    implementation.

  - .gitignore file listed git-core.spec but what we generate is
    git.spec, and nobody noticed for a long time.

  - "git-merge-recursive" does not try to run file level merge
    on binary files.

  - "git-branch --track" did not create tracking configuration
    correctly when the branch name had slash in it.

  - The email address of the user specified with user.email
    configuration was overriden by EMAIL environment variable.

  - The tree parser did not warn about tree entries with
    nonsense file modes, and assumed they must be blobs.

  - "git log -z" without any other request to generate diff still
    invoked the diff machinery, wasting cycles.

* Documentation

  - Many updates to fix stale or missing documentation.

  - Although our documentation was primarily meant to be formatted
    with AsciiDoc7, formatting with AsciiDoc8 is supported better.

GIT v1.5.2.1 Release Notes
==========================

Fixes since v1.5.2
------------------

* Bugfixes

  - Temporary files that are used when invoking external diff
    programs did not tolerate a long TMPDIR.

  - git-daemon did not notice when it could not write into its
    pid file.

  - git-status did not honor core.excludesFile configuration like
    git-add did.

  - git-annotate did not work from a subdirectory while
    git-blame did.

  - git-cvsserver should have disabled access to a repository
    with "gitcvs.pserver.enabled = false" set even when
    "gitcvs.enabled = true" was set at the same time.  It
    didn't.

  - git-cvsimport did not work correctly in a repository with
    its branch heads were packed with pack-refs.

  - ident unexpansion to squash "$Id: xxx $" that is in the
    repository copy removed incorrect number of bytes.

  - git-svn misbehaved when the subversion repository did not
    provide MD5 checksums for files.

  - git rebase (and git am) misbehaved on commits that have '\n'
    (literally backslash and en, not a linefeed) in the title.

  - code to decode base85 used in binary patches had one error
    return codepath wrong.

  - RFC2047 Q encoding output by git-format-patch used '_' for a
    space, which is not understood by some programs.  It uses =20
    which is safer.

  - git-fastimport --import-marks was broken; fixed.

  - A lot of documentation updates, clarifications and fixes.

GIT v1.5.2 Release Notes
========================

Updates since v1.5.1
--------------------

* Plumbing level superproject support.

  You can include a subdirectory that has an independent git
  repository in your index and tree objects of your project
  ("superproject").  This plumbing (i.e. "core") level
  superproject support explicitly excludes recursive behaviour.

  The "subproject" entries in the index and trees of a superproject
  are incompatible with older versions of git.  Experimenting with
  the plumbing level support is encouraged, but be warned that
  unless everybody in your project updates to this release or
  later, using this feature would make your project
  inaccessible by people with older versions of git.

* Plumbing level gitattributes support.

  The gitattributes mechanism allows you to add 'attributes' to
  paths in your project, and affect the way certain git
  operations work.  Currently you can influence if a path is
  considered a binary or text (the former would be treated by
  'git diff' not to produce textual output; the latter can go
  through the line endings conversion process in repositories
  with core.autocrlf set), expand and unexpand '$Id$' keyword
  with blob object name, specify a custom 3-way merge driver,
  and specify a custom diff driver.  You can also apply
  arbitrary filter to contents on check-in/check-out codepath
  but this feature is an extremely sharp-edged razor and needs
  to be handled with caution (do not use it unless you
  understand the earlier mailing list discussion on keyword
  expansion).  These conversions apply when checking files in
  or out, and exporting via git-archive.

* The packfile format now optionally suports 64-bit index.

  This release supports the "version 2" format of the .idx
  file.  This is automatically enabled when a huge packfile
  needs more than 32-bit to express offsets of objects in the
  pack.

* Comes with an updated git-gui 0.7.1

* Updated gitweb:

  - can show combined diff for merges;
  - uses font size of user's preference, not hardcoded in pixels;
  - can now 'grep';

* New commands and options.

  - "git bisect start" can optionally take a single bad commit and
    zero or more good commits on the command line.

  - "git shortlog" can optionally be told to wrap its output.

  - "subtree" merge strategy allows another project to be merged in as
    your subdirectory.

  - "git format-patch" learned a new --subject-prefix=<string>
    option, to override the built-in "[PATCH]".

  - "git add -u" is a quick way to do the first stage of "git
    commit -a" (i.e. update the index to match the working
    tree); it obviously does not make a commit.

  - "git clean" honors a new configuration, "clean.requireforce".  When
    set to true, this makes "git clean" a no-op, preventing you
    from losing files by typing "git clean" when you meant to
    say "make clean".  You can still say "git clean -f" to
    override this.

  - "git log" family of commands learned --date={local,relative,default}
    option.  --date=relative is synonym to the --relative-date.
    --date=local gives the timestamp in local timezone.

* Updated behavior of existing commands.

  - When $GIT_COMMITTER_EMAIL or $GIT_AUTHOR_EMAIL is not set
    but $EMAIL is set, the latter is used as a substitute.

  - "git diff --stat" shows size of preimage and postimage blobs
    for binary contents.  Earlier it only said "Bin".

  - "git lost-found" shows stuff that are unreachable except
    from reflogs.

  - "git checkout branch^0" now detaches HEAD at the tip commit
    on the named branch, instead of just switching to the
    branch (use "git checkout branch" to switch to the branch,
    as before).

  - "git bisect next" can be used after giving only a bad commit
    without giving a good one (this starts bisection half-way to
    the root commit).  We used to refuse to operate without a
    good and a bad commit.

  - "git push", when pushing into more than one repository, does
    not stop at the first error.

  - "git archive" does not insist you to give --format parameter
    anymore; it defaults to "tar".

  - "git cvsserver" can use backends other than sqlite.

  - "gitview" (in contrib/ section) learned to better support
    "git-annotate".

  - "git diff $commit1:$path2 $commit2:$path2" can now report
    mode changes between the two blobs.

  - Local "git fetch" from a repository whose object store is
    one of the alternates (e.g. fetching from the origin in a
    repository created with "git clone -l -s") avoids
    downloading objects unnecessarily.

  - "git blame" uses .mailmap to canonicalize the author name
    just like "git shortlog" does.

  - "git pack-objects" pays attention to pack.depth
    configuration variable.

  - "git cherry-pick" and "git revert" does not use .msg file in
    the working tree to prepare commit message; instead it uses
    $GIT_DIR/MERGE_MSG as other commands do.

* Builds

  - git-p4import has never been installed; now there is an
    installation option to do so.

  - gitk and git-gui can be configured out.

  - Generated documentation pages automatically get version
    information from GIT_VERSION.

  - Parallel build with "make -j" descending into subdirectory
    was fixed.

* Performance Tweaks

  - Optimized "git-rev-list --bisect" (hence "git-bisect").

  - Optimized "git-add $path" in a large directory, most of
    whose contents are ignored.

  - Optimized "git-diff-tree" for reduced memory footprint.

  - The recursive merge strategy updated a worktree file that
    was changed identically in two branches, when one of them
    renamed it.  We do not do that when there is no rename, so
    match that behaviour.  This avoids excessive rebuilds.

  - The default pack depth has been increased to 50, as the
    recent addition of delta_base_cache makes deeper delta chains
    much less expensive to access.  Depending on the project, it was
    reported that this reduces the resulting pack file by 10%
    or so.


Fixes since v1.5.1
------------------

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

* Bugfixes

  - Switching branches with "git checkout" refused to work when
    a path changes from a file to a directory between the
    current branch and the new branch, in order not to lose
    possible local changes in the directory that is being turned
    into a file with the switch.  We now allow such a branch
    switch after making sure that there is no locally modified
    file nor un-ignored file in the directory.  This has not
    been backported to 1.5.1.x series, as it is rather an
    intrusive change.

  - Merging branches that have a file in one and a directory in
    another at the same path used to get quite confused.  We
    handle such a case a bit more carefully, even though that is
    still left as a conflict for the user to sort out.  This
    will not be backported to 1.5.1.x series, as it is rather an
    intrusive change.

  - git-fetch had trouble with a remote with insanely large number
    of refs.

  - "git clean -d -X" now does not remove non-excluded directories.

  - rebasing (without -m) a series that changes a symlink to a directory
    in the middle of a path confused git-apply greatly and refused to
    operate.

GIT v1.5.1.6 Release Notes
==========================

Fixes since v1.5.1.4
--------------------

* Bugfixes

  - git-send-email did not understand aliases file for mutt, which
    allows leading whitespaces.

  - git-format-patch emitted Content-Type and Content-Transfer-Encoding
    headers for non ASCII contents, but failed to add MIME-Version.

  - git-name-rev had a buffer overrun with a deep history.

  - contributed script import-tars did not get the directory in
    tar archives interpreted correctly.

  - git-svn was reported to segfault for many people on list and
    #git; hopefully this has been fixed.

  - git-svn also had a bug to crash svnserve by sending a bad
    sequence of requests.

  - "git-svn clone" does not try to minimize the URL
    (i.e. connect to higher level hierarchy) by default, as this
    can prevent clone to fail if only part of the repository
    (e.g. 'trunk') is open to public.

  - "git checkout branch^0" did not detach the head when you are
    already on 'branch'; backported the fix from the 'master'.

  - "git-config section.var" did not correctly work when
    existing configuration file had both [section] and [section "name"]
    next to each other.

  - "git clone ../other-directory" was fooled if the current
    directory $PWD points at is a symbolic link.

  - (build) tree_entry_extract() function was both static inline
    and extern, which caused trouble compiling with Forte12
    compilers on Sun.

  - Many many documentation fixes and updates.

GIT v1.5.1.5 Release Notes
==========================

Fixes since v1.5.1.4
--------------------

* Bugfixes

  - git-send-email did not understand aliases file for mutt, which
    allows leading whitespaces.

  - git-format-patch emitted Content-Type and Content-Transfer-Encoding
    headers for non ASCII contents, but failed to add MIME-Version.

  - git-name-rev had a buffer overrun with a deep history.

  - contributed script import-tars did not get the directory in
    tar archives interpreted correctly.

  - git-svn was reported to segfault for many people on list and
    #git; hopefully this has been fixed.

  - "git-svn clone" does not try to minimize the URL
    (i.e. connect to higher level hierarchy) by default, as this
    can prevent clone to fail if only part of the repository
    (e.g. 'trunk') is open to public.

  - "git checkout branch^0" did not detach the head when you are
    already on 'branch'; backported the fix from the 'master'.

  - "git-config section.var" did not correctly work when
    existing configuration file had both [section] and [section "name"]
    next to each other.

  - "git clone ../other-directory" was fooled if the current
    directory $PWD points at is a symbolic link.

  - (build) tree_entry_extract() function was both static inline
    and extern, which caused trouble compiling with Forte12
    compilers on Sun.

  - Many many documentation fixes and updates.

GIT v1.5.1.4 Release Notes
==========================

Fixes since v1.5.1.3
--------------------

* Bugfixes

  - "git-http-fetch" did not work around a bug in libcurl
    earlier than 7.16 (curl_multi_remove_handle() was broken).

  - "git cvsserver" handles a file that was once removed and
    then added again correctly.

  - import-tars script (in contrib/) handles GNU tar archives
    that contain pathnames longer than 100 bytes (long-link
    extension) correctly.

  - xdelta test program did not build correctly.

  - gitweb sometimes tried incorrectly to apply function to
    decode utf8 twice, resulting in corrupt output.

  - "git blame -C" mishandled text at the end of a group of
    lines.

  - "git log/rev-list --boundary" did not produce output
    correctly without --left-right option.

  - Many documentation updates.


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