Skip to content

Commit

Permalink
Merge commit 'v1.7.5' into svn-fe
Browse files Browse the repository at this point in the history
* commit 'v1.7.5': (436 commits)
  Git 1.7.5
  Git 1.7.5-rc3
  Git 1.7.4.5
  git-svn.txt: Document --mergeinfo
  Revert "run-command: prettify -D_FORTIFY_SOURCE workaround"
  ...
  • Loading branch information
Jonathan Nieder committed May 3, 2011
2 parents 6908e99 + ec014ea commit 59445b0
Show file tree
Hide file tree
Showing 435 changed files with 11,364 additions and 5,013 deletions.
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
/git-fast-export
/git-fast-import
/git-fetch
/git-fetch--tool
/git-fetch-pack
/git-filter-branch
/git-fmt-merge-msg
Expand Down Expand Up @@ -107,7 +106,6 @@
/git-reflog
/git-relink
/git-remote
/git-remote-curl
/git-remote-http
/git-remote-https
/git-remote-ftp
Expand Down
2 changes: 1 addition & 1 deletion Documentation/CodingGuidelines
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ Writing Documentation:
when writing or modifying command usage strings and synopsis sections
in the manual pages:

Placeholders are enclosed in angle brackets:
Placeholders are spelled in lowercase and enclosed in angle brackets:
<file>
--sort=<key>
--abbrev[=<n>]
Expand Down
58 changes: 58 additions & 0 deletions Documentation/RelNotes/1.7.4.2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
Git v1.7.4.2 Release Notes
==========================

Fixes since v1.7.4.1
--------------------

* Many documentation updates to match "git cmd -h" output and the
git-cmd manual page.

* We used to keep one file descriptor open for each and every packfile
that we have a mmap window on it (read: "in use"), even when for very
tiny packfiles. We now close the file descriptor early when the entire
packfile fits inside one mmap window.

* "git bisect visualize" tried to run "gitk" in windowing
environments even when "gitk" is not installed, resulting in a
strange error message.

* "git clone /no/such/path" did not fail correctly.

* "git commit" did not correctly error out when the user asked to use a
non existent file as the commit message template.

* "git diff --stat -B" ran on binary files counted the changes in lines,
which was nonsensical.

* "git diff -M" opportunistically detected copies, which was not
necessarily a good thing, especially when it is internally run by
recursive merge.

* "git difftool" didn't tell (g)vimdiff that the files it is reading are
to be opened read-only.

* "git merge" didn't pay attention to prepare-commit-msg hook, even
though if a merge is conflicted and manually resolved, the subsequent
"git commit" would have triggered the hook, which was inconsistent.

* "git patch-id" (and commands like "format-patch --ignore-in-upstream"
that use it as their internal logic) handled changes to files that end
with incomplete lines incorrectly.

* The official value to tell "git push" to push the current branch back
to update the upstream branch it forked from is now called "upstream".
The old name "tracking" is and will be supported.

* "git submodule update" used to honor the --merge/--rebase option (or
corresponding configuration variables) even for a newly cloned
subproject, which made no sense (so/submodule-no-update-first-time).

* gitweb's "highlight" interface mishandled tabs.

* gitweb didn't understand timezones with GMT offset that is not
multiple of a whole hour.

* gitweb had a few forward-incompatible syntactic constructs and
also used incorrect variable when showing the file mode in a diff.

And other minor fixes and documentation updates.
32 changes: 32 additions & 0 deletions Documentation/RelNotes/1.7.4.3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Git v1.7.4.3 Release Notes
==========================

Fixes since v1.7.4.2
--------------------

* "git apply" used to confuse lines updated by previous hunks as lines
that existed before when applying a hunk, contributing misapplication
of patches with offsets.

* "git branch --track" (and "git checkout --track --branch") used to
allow setting up a random non-branch that does not make sense to follow
as the "upstream". The command correctly diagnoses it as an error.

* "git checkout $other_branch" silently removed untracked symbolic links
in the working tree that are in the way in order to check out paths
under it from the named branch.

* "git cvsimport" did not bail out immediately when the cvs server cannot
be reached, spewing unnecessary error messages that complain about the
server response that it never got.

* "git diff --quiet" did not work very well with the "--diff-filter"
option.

* "git grep -n" lacked a long-hand synonym --line-number.

* "git stash apply" reported the result of its operation by running
"git status" from the top-level of the working tree; it should (and
now does) run it from the user's working directory.

And other minor fixes and documentation updates.
35 changes: 35 additions & 0 deletions Documentation/RelNotes/1.7.4.4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Git v1.7.4.4 Release Notes
==========================

Fixes since v1.7.4.3
--------------------

* Compilation of sha1_file.c on BSD platforms were broken due to our
recent use of getrlimit() without including <sys/resource.h>.

* "git config" did not diagnose incorrect configuration variable names.

* "git format-patch" did not wrap a long subject line that resulted from
rfc2047 encoding.

* "git instaweb" should work better again with plackup.

* "git log --max-count=4 -Sfoobar" now shows 4 commits that changes the
number of occurrences of string "foobar"; it used to scan only for 4
commits and then emitted only matching ones.

* "git log --first-parent --boundary $c^..$c" segfaulted on a merge.

* "git pull" into an empty branch should have behaved as if
fast-forwarding from emptiness to the version being pulled, with
the usual protection against overwriting untracked files.

* "git submodule" that is run while a merge in the superproject is in
conflicted state tried to process each conflicted submodule up to
three times.

* "git status" spent all the effort to notice racily-clean index entries
but didn't update the index file to help later operations go faster in
some cases.

And other minor fixes and documentation updates.
4 changes: 4 additions & 0 deletions Documentation/RelNotes/1.7.4.5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Git v1.7.4.5 Release Notes
==========================

This contains only minor documentation fixes accumulated since 1.7.4.4.
132 changes: 132 additions & 0 deletions Documentation/RelNotes/1.7.5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
Git v1.7.5 Release Notes
========================

Updates since v1.7.4
--------------------

* Various MinGW portability fixes.

* Various git-p4 enhancements (in contrib).

* Various vcs-svn, git-svn and gitk enhancements and fixes.

* Various git-gui updates (0.14.0).

* Update to more modern HP-UX port.

* The codebase is getting prepared for i18n/l10n; no translated
strings nor translation mechanism in the code yet, but the strings
are being marked for l10n.

* The bash completion script can now complete symmetric difference
for "git diff" command, e.g. "git diff ...bra<TAB>".

* The default minimum length of abbreviated and unique object names
can now be configured by setting the core.abbrev configuration
variable.

* "git apply -v" reports offset lines when the patch does not apply at
the exact location recorded in the diff output.

* "git config" used to be also known as "git repo-config", but the old
name is now officially deprecated.

* "git checkout --detach <commit>" is a more user friendly synonym for
"git checkout <commit>^0".

* "git checkout" performed on detached HEAD gives a warning and
advice when the commit being left behind will become unreachable from
any branch or tag.

* "git cherry-pick" and "git revert" can be told to use a custom merge
strategy, similar to "git rebase".

* "git cherry-pick" remembers which commit failed to apply when it is
stopped by conflicts, making it unnecessary to use "commit -c $commit"
to conclude it.

* "git cvsimport" bails out immediately when the cvs server cannot be
reached, without spewing unnecessary error messages that complain about
the server response it never got.

* "git fetch" vs "git upload-pack" transfer learned 'no-done'
protocol extension to save one round-trip after the content
negotiation is done. This saves one HTTP RPC, reducing the overall
latency for a trivial fetch.

* "git fetch" can be told to recursively fetch submodules on-demand.

* "git grep -f <filename>" learned to treat "-" as "read from the
standard input stream".

* "git grep --no-index" did not honor pathspecs correctly, returning
paths outside the specified area.

* "git init" learned the --separate-git-dir option to allow the git
directory for a new repository created elsewhere and linked via the
gitdir mechanism. This is primarily to help submodule support later
to switch between a branch of superproject that has the submodule
and another that does not.

* "git log" type commands now understand globbing pathspecs. You
can say "git log -- '*.txt'" for example.

* "git log" family of commands learned --cherry and --cherry-mark
options that can be used to view two diverged branches while omitting
or highlighting equivalent changes that appear on both sides of a
symmetric difference (e.g. "log --cherry A...B").

* A lazy "git merge" that didn't say what to merge used to be an error.
When run on a branch that has an upstream defined, however, the command
now merges from the configured upstream.

* "git mergetool" learned how to drive "beyond compare 3" as well.

* "git rerere forget" without pathspec used to forget all the saved
conflicts that relate to the current merge; it now requires you to
give it pathspecs.

* "git rev-list --objects $revs -- $pathspec" now limits the objects listed
in its output properly with the pathspec, in preparation for narrow
clones.

* "git push" with no parameters gives better advice messages when
"tracking" is used as the push.default semantics or there is no remote
configured yet.

* A possible value to the "push.default" configuration variable,
'tracking', gained a synonym that more naturally describes what it
does, 'upstream'.

* "git rerere" learned a new subcommand "remaining" that is similar to
"status" and lists the paths that had conflicts which are known to
rerere, but excludes the paths that have already been marked as
resolved in the index from its output. "git mergetool" has been
updated to use this facility.

Also contains various documentation updates.


Fixes since v1.7.4
------------------

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

* "git fetch" from a client that is mostly following the remote
needlessly told all of its refs to the server for both sides to
compute the set of objects that need to be transferred efficiently,
instead of stopping when the server heard enough. In a project with
many tags, this turns out to be extremely wasteful, especially over
the smart HTTP transport (sp/maint-{upload,fetch}-pack-stop-early~1).

* "git fetch" run from a repository that uses the same repository as
its alternate object store as the repository it is fetching from
did not tell the server that it already has access to objects
reachable from the refs in their common alternate object store,
causing it to fetch unnecessary objects (jc/maint-fetch-alt).

* "git remote add --mirror" created a configuration that is suitable for
doing both a mirror fetch and a mirror push at the same time, which
made little sense. We now warn and require the command line to specify
either --mirror=fetch or --mirror=push.
29 changes: 19 additions & 10 deletions Documentation/SubmittingPatches
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,18 @@ Checklist (and a short version for the impatient):
description (50 characters is the soft limit, see DISCUSSION
in git-commit(1)), and should skip the full stop
- the body should provide a meaningful commit message, which:
- uses the imperative, present tense: "change",
not "changed" or "changes".
- includes motivation for the change, and contrasts
its implementation with previous behaviour
. explains the problem the change tries to solve, iow, what
is wrong with the current code without the change.
. justifies the way the change solves the problem, iow, why
the result with the change is better.
. alternate solutions considered but discarded, if any.
- describe changes in imperative mood, e.g. "make xyzzy do frotz"
instead of "[This patch] makes xyzzy do frotz" or "[I] changed
xyzzy to do frotz", as if you are giving orders to the codebase
to change its behaviour.
- try to make sure your explanation can be understood without
external resources. Instead of giving a URL to a mailing list
archive, summarize the relevant points of the discussion.
- add a "Signed-off-by: Your Name <you@example.com>" line to the
commit message (or just use the option "-s" when committing)
to confirm that you agree to the Developer's Certificate of Origin
Expand Down Expand Up @@ -90,7 +98,10 @@ your commit head. Instead, always make a commit with complete
commit message and generate a series of patches from your
repository. It is a good discipline.

Describe the technical detail of the change(s).
Give an explanation for the change(s) that is detailed enough so
that people can judge if it is good thing to do, without reading
the actual patch text to determine how well the code does what
the explanation promises to do.

If your description starts to get too long, that's a sign that you
probably need to split up your commit to finer grained pieces.
Expand All @@ -99,9 +110,8 @@ help reviewers check the patch, and future maintainers understand
the code, are the most beautiful patches. Descriptions that summarise
the point in the subject well, and describe the motivation for the
change, the approach taken by the change, and if relevant how this
differs substantially from the prior version, can be found on Usenet
archives back into the late 80's. Consider it like good Netiquette,
but for code.
differs substantially from the prior version, are all good things
to have.

Oh, another thing. I am picky about whitespaces. Make sure your
changes do not trigger errors with the sample pre-commit hook shipped
Expand Down Expand Up @@ -266,7 +276,7 @@ don't hide your real name.

If you like, you can put extra tags at the end:

1. "Reported-by:" is used to to credit someone who found the bug that
1. "Reported-by:" is used to credit someone who found the bug that
the patch attempts to fix.
2. "Acked-by:" says that the person who is more familiar with the area
the patch attempts to modify liked the patch.
Expand Down Expand Up @@ -598,4 +608,3 @@ following commands:
Just make sure to disable line wrapping in the email client (GMail web
interface will line wrap no matter what, so you need to use a real
IMAP client).

Loading

0 comments on commit 59445b0

Please sign in to comment.