Skip to content

Commit 59445b0

Browse files
committed
Merge commit 'v1.7.5' into svn-fe
* 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" ...
2 parents 6908e99 + ec014ea commit 59445b0

File tree

435 files changed

+11364
-5013
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

435 files changed

+11364
-5013
lines changed

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
/git-fast-export
4444
/git-fast-import
4545
/git-fetch
46-
/git-fetch--tool
4746
/git-fetch-pack
4847
/git-filter-branch
4948
/git-fmt-merge-msg
@@ -107,7 +106,6 @@
107106
/git-reflog
108107
/git-relink
109108
/git-remote
110-
/git-remote-curl
111109
/git-remote-http
112110
/git-remote-https
113111
/git-remote-ftp

Documentation/CodingGuidelines

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ Writing Documentation:
152152
when writing or modifying command usage strings and synopsis sections
153153
in the manual pages:
154154

155-
Placeholders are enclosed in angle brackets:
155+
Placeholders are spelled in lowercase and enclosed in angle brackets:
156156
<file>
157157
--sort=<key>
158158
--abbrev[=<n>]

Documentation/RelNotes/1.7.4.2.txt

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
Git v1.7.4.2 Release Notes
2+
==========================
3+
4+
Fixes since v1.7.4.1
5+
--------------------
6+
7+
* Many documentation updates to match "git cmd -h" output and the
8+
git-cmd manual page.
9+
10+
* We used to keep one file descriptor open for each and every packfile
11+
that we have a mmap window on it (read: "in use"), even when for very
12+
tiny packfiles. We now close the file descriptor early when the entire
13+
packfile fits inside one mmap window.
14+
15+
* "git bisect visualize" tried to run "gitk" in windowing
16+
environments even when "gitk" is not installed, resulting in a
17+
strange error message.
18+
19+
* "git clone /no/such/path" did not fail correctly.
20+
21+
* "git commit" did not correctly error out when the user asked to use a
22+
non existent file as the commit message template.
23+
24+
* "git diff --stat -B" ran on binary files counted the changes in lines,
25+
which was nonsensical.
26+
27+
* "git diff -M" opportunistically detected copies, which was not
28+
necessarily a good thing, especially when it is internally run by
29+
recursive merge.
30+
31+
* "git difftool" didn't tell (g)vimdiff that the files it is reading are
32+
to be opened read-only.
33+
34+
* "git merge" didn't pay attention to prepare-commit-msg hook, even
35+
though if a merge is conflicted and manually resolved, the subsequent
36+
"git commit" would have triggered the hook, which was inconsistent.
37+
38+
* "git patch-id" (and commands like "format-patch --ignore-in-upstream"
39+
that use it as their internal logic) handled changes to files that end
40+
with incomplete lines incorrectly.
41+
42+
* The official value to tell "git push" to push the current branch back
43+
to update the upstream branch it forked from is now called "upstream".
44+
The old name "tracking" is and will be supported.
45+
46+
* "git submodule update" used to honor the --merge/--rebase option (or
47+
corresponding configuration variables) even for a newly cloned
48+
subproject, which made no sense (so/submodule-no-update-first-time).
49+
50+
* gitweb's "highlight" interface mishandled tabs.
51+
52+
* gitweb didn't understand timezones with GMT offset that is not
53+
multiple of a whole hour.
54+
55+
* gitweb had a few forward-incompatible syntactic constructs and
56+
also used incorrect variable when showing the file mode in a diff.
57+
58+
And other minor fixes and documentation updates.

Documentation/RelNotes/1.7.4.3.txt

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Git v1.7.4.3 Release Notes
2+
==========================
3+
4+
Fixes since v1.7.4.2
5+
--------------------
6+
7+
* "git apply" used to confuse lines updated by previous hunks as lines
8+
that existed before when applying a hunk, contributing misapplication
9+
of patches with offsets.
10+
11+
* "git branch --track" (and "git checkout --track --branch") used to
12+
allow setting up a random non-branch that does not make sense to follow
13+
as the "upstream". The command correctly diagnoses it as an error.
14+
15+
* "git checkout $other_branch" silently removed untracked symbolic links
16+
in the working tree that are in the way in order to check out paths
17+
under it from the named branch.
18+
19+
* "git cvsimport" did not bail out immediately when the cvs server cannot
20+
be reached, spewing unnecessary error messages that complain about the
21+
server response that it never got.
22+
23+
* "git diff --quiet" did not work very well with the "--diff-filter"
24+
option.
25+
26+
* "git grep -n" lacked a long-hand synonym --line-number.
27+
28+
* "git stash apply" reported the result of its operation by running
29+
"git status" from the top-level of the working tree; it should (and
30+
now does) run it from the user's working directory.
31+
32+
And other minor fixes and documentation updates.

Documentation/RelNotes/1.7.4.4.txt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Git v1.7.4.4 Release Notes
2+
==========================
3+
4+
Fixes since v1.7.4.3
5+
--------------------
6+
7+
* Compilation of sha1_file.c on BSD platforms were broken due to our
8+
recent use of getrlimit() without including <sys/resource.h>.
9+
10+
* "git config" did not diagnose incorrect configuration variable names.
11+
12+
* "git format-patch" did not wrap a long subject line that resulted from
13+
rfc2047 encoding.
14+
15+
* "git instaweb" should work better again with plackup.
16+
17+
* "git log --max-count=4 -Sfoobar" now shows 4 commits that changes the
18+
number of occurrences of string "foobar"; it used to scan only for 4
19+
commits and then emitted only matching ones.
20+
21+
* "git log --first-parent --boundary $c^..$c" segfaulted on a merge.
22+
23+
* "git pull" into an empty branch should have behaved as if
24+
fast-forwarding from emptiness to the version being pulled, with
25+
the usual protection against overwriting untracked files.
26+
27+
* "git submodule" that is run while a merge in the superproject is in
28+
conflicted state tried to process each conflicted submodule up to
29+
three times.
30+
31+
* "git status" spent all the effort to notice racily-clean index entries
32+
but didn't update the index file to help later operations go faster in
33+
some cases.
34+
35+
And other minor fixes and documentation updates.

Documentation/RelNotes/1.7.4.5.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Git v1.7.4.5 Release Notes
2+
==========================
3+
4+
This contains only minor documentation fixes accumulated since 1.7.4.4.

Documentation/RelNotes/1.7.5.txt

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
Git v1.7.5 Release Notes
2+
========================
3+
4+
Updates since v1.7.4
5+
--------------------
6+
7+
* Various MinGW portability fixes.
8+
9+
* Various git-p4 enhancements (in contrib).
10+
11+
* Various vcs-svn, git-svn and gitk enhancements and fixes.
12+
13+
* Various git-gui updates (0.14.0).
14+
15+
* Update to more modern HP-UX port.
16+
17+
* The codebase is getting prepared for i18n/l10n; no translated
18+
strings nor translation mechanism in the code yet, but the strings
19+
are being marked for l10n.
20+
21+
* The bash completion script can now complete symmetric difference
22+
for "git diff" command, e.g. "git diff ...bra<TAB>".
23+
24+
* The default minimum length of abbreviated and unique object names
25+
can now be configured by setting the core.abbrev configuration
26+
variable.
27+
28+
* "git apply -v" reports offset lines when the patch does not apply at
29+
the exact location recorded in the diff output.
30+
31+
* "git config" used to be also known as "git repo-config", but the old
32+
name is now officially deprecated.
33+
34+
* "git checkout --detach <commit>" is a more user friendly synonym for
35+
"git checkout <commit>^0".
36+
37+
* "git checkout" performed on detached HEAD gives a warning and
38+
advice when the commit being left behind will become unreachable from
39+
any branch or tag.
40+
41+
* "git cherry-pick" and "git revert" can be told to use a custom merge
42+
strategy, similar to "git rebase".
43+
44+
* "git cherry-pick" remembers which commit failed to apply when it is
45+
stopped by conflicts, making it unnecessary to use "commit -c $commit"
46+
to conclude it.
47+
48+
* "git cvsimport" bails out immediately when the cvs server cannot be
49+
reached, without spewing unnecessary error messages that complain about
50+
the server response it never got.
51+
52+
* "git fetch" vs "git upload-pack" transfer learned 'no-done'
53+
protocol extension to save one round-trip after the content
54+
negotiation is done. This saves one HTTP RPC, reducing the overall
55+
latency for a trivial fetch.
56+
57+
* "git fetch" can be told to recursively fetch submodules on-demand.
58+
59+
* "git grep -f <filename>" learned to treat "-" as "read from the
60+
standard input stream".
61+
62+
* "git grep --no-index" did not honor pathspecs correctly, returning
63+
paths outside the specified area.
64+
65+
* "git init" learned the --separate-git-dir option to allow the git
66+
directory for a new repository created elsewhere and linked via the
67+
gitdir mechanism. This is primarily to help submodule support later
68+
to switch between a branch of superproject that has the submodule
69+
and another that does not.
70+
71+
* "git log" type commands now understand globbing pathspecs. You
72+
can say "git log -- '*.txt'" for example.
73+
74+
* "git log" family of commands learned --cherry and --cherry-mark
75+
options that can be used to view two diverged branches while omitting
76+
or highlighting equivalent changes that appear on both sides of a
77+
symmetric difference (e.g. "log --cherry A...B").
78+
79+
* A lazy "git merge" that didn't say what to merge used to be an error.
80+
When run on a branch that has an upstream defined, however, the command
81+
now merges from the configured upstream.
82+
83+
* "git mergetool" learned how to drive "beyond compare 3" as well.
84+
85+
* "git rerere forget" without pathspec used to forget all the saved
86+
conflicts that relate to the current merge; it now requires you to
87+
give it pathspecs.
88+
89+
* "git rev-list --objects $revs -- $pathspec" now limits the objects listed
90+
in its output properly with the pathspec, in preparation for narrow
91+
clones.
92+
93+
* "git push" with no parameters gives better advice messages when
94+
"tracking" is used as the push.default semantics or there is no remote
95+
configured yet.
96+
97+
* A possible value to the "push.default" configuration variable,
98+
'tracking', gained a synonym that more naturally describes what it
99+
does, 'upstream'.
100+
101+
* "git rerere" learned a new subcommand "remaining" that is similar to
102+
"status" and lists the paths that had conflicts which are known to
103+
rerere, but excludes the paths that have already been marked as
104+
resolved in the index from its output. "git mergetool" has been
105+
updated to use this facility.
106+
107+
Also contains various documentation updates.
108+
109+
110+
Fixes since v1.7.4
111+
------------------
112+
113+
All of the fixes in the v1.7.4.X maintenance series are included in this
114+
release, unless otherwise noted.
115+
116+
* "git fetch" from a client that is mostly following the remote
117+
needlessly told all of its refs to the server for both sides to
118+
compute the set of objects that need to be transferred efficiently,
119+
instead of stopping when the server heard enough. In a project with
120+
many tags, this turns out to be extremely wasteful, especially over
121+
the smart HTTP transport (sp/maint-{upload,fetch}-pack-stop-early~1).
122+
123+
* "git fetch" run from a repository that uses the same repository as
124+
its alternate object store as the repository it is fetching from
125+
did not tell the server that it already has access to objects
126+
reachable from the refs in their common alternate object store,
127+
causing it to fetch unnecessary objects (jc/maint-fetch-alt).
128+
129+
* "git remote add --mirror" created a configuration that is suitable for
130+
doing both a mirror fetch and a mirror push at the same time, which
131+
made little sense. We now warn and require the command line to specify
132+
either --mirror=fetch or --mirror=push.

Documentation/SubmittingPatches

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,18 @@ Checklist (and a short version for the impatient):
1010
description (50 characters is the soft limit, see DISCUSSION
1111
in git-commit(1)), and should skip the full stop
1212
- the body should provide a meaningful commit message, which:
13-
- uses the imperative, present tense: "change",
14-
not "changed" or "changes".
15-
- includes motivation for the change, and contrasts
16-
its implementation with previous behaviour
13+
. explains the problem the change tries to solve, iow, what
14+
is wrong with the current code without the change.
15+
. justifies the way the change solves the problem, iow, why
16+
the result with the change is better.
17+
. alternate solutions considered but discarded, if any.
18+
- describe changes in imperative mood, e.g. "make xyzzy do frotz"
19+
instead of "[This patch] makes xyzzy do frotz" or "[I] changed
20+
xyzzy to do frotz", as if you are giving orders to the codebase
21+
to change its behaviour.
22+
- try to make sure your explanation can be understood without
23+
external resources. Instead of giving a URL to a mailing list
24+
archive, summarize the relevant points of the discussion.
1725
- add a "Signed-off-by: Your Name <[email protected]>" line to the
1826
commit message (or just use the option "-s" when committing)
1927
to confirm that you agree to the Developer's Certificate of Origin
@@ -90,7 +98,10 @@ your commit head. Instead, always make a commit with complete
9098
commit message and generate a series of patches from your
9199
repository. It is a good discipline.
92100

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

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

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

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

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

0 commit comments

Comments
 (0)