Skip to content

Commit

Permalink
Merge branch 'master' (early part) into pd/bash-4-completion
Browse files Browse the repository at this point in the history
* 'master' (early part): (529 commits)
  completion: fix zsh check under bash with 'set -u'
  Fix copy-pasted comments related to tree diff handling.
  Git 1.7.3.2
  {cvs,svn}import: use the new 'git read-tree --empty'
  t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To'
  Clarify and extend the "git diff" format documentation
  git-show-ref.txt: clarify the pattern matching
  documentation: git-config minor cleanups
  Update test script annotate-tests.sh to handle missing/extra authors
  Better advice on using topic branches for kernel development
  Documentation: update implicit "--no-index" behavior in "git diff"
  Documentation: expand 'git diff' SEE ALSO section
  Documentation: diff can compare blobs
  Documentation: gitrevisions is in section 7
  fast-import: Allow filemodify to set the root
  shell portability: no "export VAR=VAL"
  CodingGuidelines: reword parameter expansion section
  Documentation: update-index: -z applies also to --index-info
  gitweb: Improve behavior for actionless path_info gitweb URLs
  gitweb: Fix bug in evaluate_path_info
  ...

Conflicts:
	GIT-VERSION-GEN
	RelNotes
	contrib/completion/git-completion.bash
  • Loading branch information
Jonathan Nieder committed Dec 15, 2010

Unverified

No user is associated with the committer email.
2 parents dbda3b1 + ca20906 commit 52c9d8e
Showing 584 changed files with 25,027 additions and 9,761 deletions.
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -166,12 +166,17 @@
/test-dump-cache-tree
/test-genrandom
/test-index-version
/test-line-buffer
/test-match-trees
/test-obj-pool
/test-parse-options
/test-path-utils
/test-run-command
/test-sha1
/test-sigchain
/test-string-pool
/test-svn-fe
/test-treap
/common-cmds.h
*.tar.gz
*.dsc
@@ -181,6 +186,12 @@
*.[aos]
*.py[co]
.depend/
*.gcda
*.gcno
*.gcov
/coverage-untested-functions
/cover_db/
/cover_db_html/
*+
/config.mak
/autom4te.cache
2 changes: 1 addition & 1 deletion .mailmap
Original file line number Diff line number Diff line change
@@ -36,7 +36,7 @@ Lars Doelle <lars.doelle@on-line ! de>
Lars Doelle <lars.doelle@on-line.de>
Li Hong <leehong@pku.edu.cn>
Lukas Sandström <lukass@etek.chalmers.se>
Martin Langhoff <martin@catalyst.net.nz>
Martin Langhoff <martin@laptop.org>
Michael Coleman <tutufan@gmail.com>
Michael J Gruber <git@drmicha.warpmail.net> <michaeljgruber+gmane@fastmail.fm>
Michael W. Olson <mwolson@gnu.org>
25 changes: 16 additions & 9 deletions Documentation/CodingGuidelines
Original file line number Diff line number Diff line change
@@ -35,21 +35,28 @@ For shell scripts specifically (not exhaustive):
properly nests. It should have been the way Bourne spelled
it from day one, but unfortunately isn't.

- We use ${parameter-word} and its [-=?+] siblings, and their
colon'ed "unset or null" form.
- We use POSIX compliant parameter substitutions and avoid bashisms;
namely:

- We use ${parameter#word} and its [#%] siblings, and their
doubled "longest matching" form.
- We use ${parameter-word} and its [-=?+] siblings, and their
colon'ed "unset or null" form.

- We use Arithmetic Expansion $(( ... )).
- We use ${parameter#word} and its [#%] siblings, and their
doubled "longest matching" form.

- No "Substring Expansion" ${parameter:offset:length}.

- No "Substring Expansion" ${parameter:offset:length}.
- No shell arrays.

- No shell arrays.
- No strlen ${#parameter}.

- No strlen ${#parameter}.
- No pattern replacement ${parameter/pattern/string}.

- We use Arithmetic Expansion $(( ... )).

- No regexp ${parameter/pattern/string}.
- Inside Arithmetic Expansion, spell shell variables with $ in front
of them, as some shells do not grok $((x)) while accepting $(($x))
just fine (e.g. dash older than 0.5.4).

- We do not use Process Substitution <(list) or >(list).

2 changes: 1 addition & 1 deletion Documentation/Makefile
Original file line number Diff line number Diff line change
@@ -279,7 +279,7 @@ $(patsubst %,%.html,$(API_DOCS) technical/api-index): %.html : %.txt
XSLT = docbook.xsl
XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css

user-manual.html: user-manual.xml
user-manual.html: user-manual.xml $(XSLT)
$(QUIET_XSLTPROC)$(RM) $@+ $@ && \
xsltproc $(XSLTOPTS) -o $@+ $(XSLT) $< && \
mv $@+ $@
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
14 changes: 14 additions & 0 deletions Documentation/RelNotes/1.7.3.1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Git v1.7.3.1 Release Notes
==========================

Fixes since v1.7.3
------------------

* "git stash show stash@{$n}" was accidentally broken in 1.7.3 ("git
stash show" without any argument still worked, though).

* "git stash branch $branch stash@{$n}" was accidentally broken in
1.7.3 and started dropping the named stash even when branch creation
failed.

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

This is primarily to push out many documentation fixes accumulated since
the 1.7.3.1 release.
76 changes: 76 additions & 0 deletions Documentation/RelNotes/1.7.3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Git v1.7.3 Release Notes
========================

Updates since v1.7.2
--------------------

* git-gui, now at version 0.13.0, got various updates and a new
maintainer, Pat Thoyts.

* Gitweb allows its configuration to change per each request; it used to
read the configuration once upon startup.

* When git finds a corrupt object, it now reports the file that contains
it.

* "git checkout -B <it>" is a shorter way to say "git branch -f <it>"
followed by "git checkout <it>".

* When "git checkout" or "git merge" refuse to proceed in order to
protect local modification to your working tree, they used to stop
after showing just one path that might be lost. They now show all,
in a format that is easier to read.

* "git clean" learned "-e" ("--exclude") option.

* Hunk headers produced for C# files by "git diff" and friends show more
relevant context than before.

* diff.ignoresubmodules configuration variable can be used to squelch the
differences in submodules reported when running commands (e.g. "diff",
"status", etc.) at the superproject level.

* http.useragent configuration can be used to lie who you are to your
restrictive firewall.

* "git rebase --strategy <s>" learned "-X" option to pass extra options
that are understood by the chosen merge strategy.

* "git rebase -i" learned "exec" that you can insert into the insn sheet
to run a command between its steps.

* "git rebase" between branches that have many binary changes that do
not conflict should be faster.

* "git rebase -i" peeks into rebase.autosquash configuration and acts as
if you gave --autosquash from the command line.


Also contains various documentation updates.


Fixes since v1.7.2
------------------

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

* "git merge -s recursive" (which is the default) did not handle cases
where a directory becomes a file (or vice versa) very well.

* "git fetch" and friends were accidentally broken for url with "+" in
its path, e.g. "git://git.gnome.org/gtk+".

* "git fetch $url" (i.e. without refspecs) was broken for quite some
time, if the current branch happen to be tracking some remote.

* "git ls-tree dir dirgarbage", when "dir" was a directory,
incorrectly recursed into "dir".

* "git note remove" created unnecessary extra commit when named object
did not have any note to begin with.

* "git rebase" did not work well if you had diff.noprefix configured.

* "git -c foo=bar subcmd" did not work well for subcmd that is not
implemented as a built-in command.
54 changes: 54 additions & 0 deletions Documentation/RelNotes/1.7.4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
Git v1.7.4 Release Notes (draft)
================================

Updates since v1.7.3
--------------------

* The option parsers of various commands that create new branch (or
rename existing ones to a new name) were too loose and users were
allowed to call a branch with a name that begins with a dash by
creative abuse of their command line options, which only lead to
burn themselves. The name of a branch cannot begin with a dash
now.

* System-wide fallback default attributes can be stored in
/etc/gitattributes; core.attributesfile configuration variable can
be used to customize the path to this file.

* "git diff" and "git grep" learned how functions and subroutines
in Fortran look like.

* "git log -G<pattern>" limits the output to commits whose change has
added or deleted lines that match the given pattern.

* "git read-tree" with no argument as a way to empty the index is
deprecated; we might want to remove it in the future. Users can
use the new --empty option to be more explicit instead.

* "git merge --log" used to limit the resulting merge log to 20
entries; this is now customizable by giving e.g. "--log=47".

* you can extend "git shell", which is often used on boxes that allow
git-only login over ssh as login shell, with custom set of
commands.

Also contains various documentation updates.


Fixes since v1.7.3
------------------

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

* "git log --author=me --author=her" did not find commits written by
me or by her; instead it looked for commits written by me and by
her, which is impossible.


---
exec >/var/tmp/1
O=v1.7.3
O=v1.7.3.1-42-g34289ec
echo O=$(git describe master)
git shortlog --no-merges ^maint ^$O master
32 changes: 20 additions & 12 deletions Documentation/SubmittingPatches
Original file line number Diff line number Diff line change
@@ -7,17 +7,16 @@ Checklist (and a short version for the impatient):
before committing
- do not check in commented out code or unneeded files
- the first line of the commit message should be a short
description and should skip the full stop
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
- if you want your work included in git.git, 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
- 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
- make sure that you have tests for the bug you are fixing
- make sure that the test suite passes after your commit

@@ -265,12 +264,21 @@ the change to its true author (see (2) above).
Also notice that a real name is used in the Signed-off-by: line. Please
don't hide your real name.

Some people also put extra tags at the end.

"Acked-by:" says that the patch was reviewed by the person who
is more familiar with the issues and the area the patch attempts
to modify. "Tested-by:" says the patch was tested by the person
and found to have the desired effect.
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
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.
3. "Reviewed-by:", unlike the other tags, can only be offered by the
reviewer and means that she is completely satisfied that the patch
is ready for application. It is usually offered only after a
detailed review.
4. "Tested-by:" is used to indicate that the person applied the patch
and found it to have the desired effect.

You can also create your own tag or use one that's in common usage
such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".

------------------------------------------------
An ideal patch flow
3 changes: 3 additions & 0 deletions Documentation/asciidoc.conf
Original file line number Diff line number Diff line change
@@ -16,8 +16,11 @@ plus=&#43;
caret=&#94;
startsb=&#91;
endsb=&#93;
backslash=&#92;
tilde=&#126;
apostrophe=&#39;
backtick=&#96;
litdd=&#45;&#45;

ifdef::backend-docbook[]
[linkgit-inlinemacro]
Loading

0 comments on commit 52c9d8e

Please sign in to comment.