--- /dev/null
+Git v2.5.3 Release Notes
+========================
+
+Fixes since v2.5.2
+------------------
+
+ * The experimental untracked-cache feature were buggy when paths with
+ a few levels of subdirectories are involved.
+
+ * Recent versions of scripted "git am" has a performance regression
+ in "git am --skip" codepath, which no longer exists in the
+ built-in version on the 'master' front. Fix the regression in
+ the last scripted version that appear in 2.5.x maintenance track
+ and older.
+
+Also contains typofixes, documentation updates and trivial code
+clean-ups.
scripted version that appear in 2.5.x maintenance track and older.
(merge b9d6689 js/maint-am-skip-performance-regression later to maint).
+ * The branch descriptions that are set with "git branch --edit-description"
+ option were used in many places but they weren't clearly documented.
+ (merge 561d2b7 po/doc-branch-desc later to maint).
+
* Code cleanups and documentation updates.
(merge 1c601af es/doc-clean-outdated-tools later to maint).
(merge 3581304 kn/tag-doc-fix later to maint).
(merge 1733ed3 ee/clean-test-fixes later to maint).
(merge 5fcadc3 gb/apply-comment-typofix later to maint).
(merge b894d3e mp/t7060-diff-index-test later to maint).
+ (merge d238710 as/config-doc-markup-fix later to maint).
"git pull" is run. See "pull.rebase" for doing this in a non
branch-specific manner.
+
- When preserve, also pass `--preserve-merges` along to 'git rebase'
- so that locally committed merge commits will not be flattened
- by running 'git pull'.
+When preserve, also pass `--preserve-merges` along to 'git rebase'
+so that locally committed merge commits will not be flattened
+by running 'git pull'.
+
*NOTE*: this is a possibly dangerous operation; do *not* use
it unless you understand the implications (see linkgit:git-rebase[1]
pull" is run. See "branch.<name>.rebase" for setting this on a
per-branch basis.
+
- When preserve, also pass `--preserve-merges` along to 'git rebase'
- so that locally committed merge commits will not be flattened
- by running 'git pull'.
+When preserve, also pass `--preserve-merges` along to 'git rebase'
+so that locally committed merge commits will not be flattened
+by running 'git pull'.
+
*NOTE*: this is a possibly dangerous operation; do *not* use
it unless you understand the implications (see linkgit:git-rebase[1]
--edit-description::
Open an editor and edit the text to explain what the branch is
- for, to be used by various other commands (e.g. `request-pull`).
+ for, to be used by various other commands (e.g. `format-patch`,
+ `request-pull`, and `merge` (if enabled)). Multi-line explanations
+ may be used.
--contains [<commit>]::
Only list branches which contain the specified commit (HEAD
--[no-]cover-letter::
In addition to the patches, generate a cover letter file
- containing the shortlog and the overall diffstat. You can
+ containing the branch description, shortlog and the overall diffstat. You can
fill in a description in the file before sending it out.
--notes[=<ref>]::
+
The 'git fmt-merge-msg' command can be
used to give a good default for automated 'git merge'
-invocations.
+invocations. The automated message can include the branch description.
--[no-]rerere-autoupdate::
Allow the rerere mechanism to update the index with the
-----------
Generate a request asking your upstream project to pull changes into
-their tree. The request, printed to the standard output, summarizes
+their tree. The request, printed to the standard output,
+begins with the branch description, summarizes
the changes and indicates from where they can be pulled.
The upstream project is expected to have the commit named by
branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:v2.5.2/git.html[documentation for release 2.5.2]
+* link:v2.5.3/git.html[documentation for release 2.5.3]
* release notes for
+ link:RelNotes/2.5.3.txt[2.5.3],
link:RelNotes/2.5.2.txt[2.5.2],
link:RelNotes/2.5.1.txt[2.5.1],
link:RelNotes/2.5.0.txt[2.5].
static HANDLE hEvent;
WSANETWORKEVENTS ev;
HANDLE h, handle_array[FD_SETSIZE + 2];
- DWORD ret, wait_timeout, nhandles;
+ DWORD ret, wait_timeout, nhandles, start = 0, elapsed, orig_timeout = 0;
fd_set rfds, wfds, xfds;
BOOL poll_again;
MSG msg;
return -1;
}
+ if (timeout != INFTIM)
+ {
+ orig_timeout = timeout;
+ start = GetTickCount();
+ }
+
if (!hEvent)
hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
rc++;
}
- if (!rc && timeout == INFTIM)
+ if (!rc && orig_timeout && timeout != INFTIM)
+ {
+ elapsed = GetTickCount() - start;
+ timeout = elapsed >= orig_timeout ? 0 : orig_timeout - elapsed;
+ }
+
+ if (!rc && timeout)
{
SleepEx (1, TRUE);
goto restart;