Skip to content

Commit ee96969

Browse files
committed
Merge branch 'master' into sb/opt-filename
* master: (654 commits) http-push.c::remove_locks(): fix use after free t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C post-receive-email: hooks.showrev: show how to include both web link and patch MinGW: Fix compiler warning in merge-recursive MinGW: Add a simple getpass() MinGW: use POSIX signature of waitpid() MinGW: the path separator to split GITPERLLIB is ';' on Win32 MinGW: Scan for \r in addition to \n when reading shbang lines gitweb: Sanitize title attribute in format_subject_html Terminate argv with NULL before calling setup_revisions() doc/git-rebase.txt: remove mention of multiple strategies git-send-email: Handle quotes when parsing .mailrc files git-svn: add --authors-prog option git-svn: Set svn.authorsfile if it is passed to git svn clone git-svn: Correctly report max revision when following deleted paths git-svn: Fix for svn paths removed > log-window-size revisions ago git-svn testsuite: use standard configuration for Subversion tools grep: fix word-regexp colouring completion: use git rev-parse to detect bare repos Cope better with a _lot_ of packs ...
2 parents 4c8d4c1 + 9619ff1 commit ee96969

448 files changed

Lines changed: 16187 additions & 6304 deletions

File tree

Some content is hidden

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

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ git-apply
1111
git-archimport
1212
git-archive
1313
git-bisect
14+
git-bisect--helper
1415
git-blame
1516
git-branch
1617
git-bundle
@@ -35,6 +36,8 @@ git-diff
3536
git-diff-files
3637
git-diff-index
3738
git-diff-tree
39+
git-difftool
40+
git-difftool--helper
3841
git-describe
3942
git-fast-export
4043
git-fast-import
@@ -78,6 +81,7 @@ git-merge-recursive
7881
git-merge-resolve
7982
git-merge-subtree
8083
git-mergetool
84+
git-mergetool--lib
8185
git-mktag
8286
git-mktree
8387
git-name-rev

Documentation/CodingGuidelines

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,6 @@ For C programs:
129129
used in the git core command set (unless your command is clearly
130130
separate from it, such as an importer to convert random-scm-X
131131
repositories to git).
132+
133+
- When we pass <string, length> pair to functions, we should try to
134+
pass them in that order.

Documentation/Makefile

Lines changed: 107 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ man7dir=$(mandir)/man7
4141

4242
ASCIIDOC=asciidoc
4343
ASCIIDOC_EXTRA =
44-
MANPAGE_XSL = callouts.xsl
44+
MANPAGE_XSL = manpage-normal.xsl
45+
XMLTO_EXTRA =
4546
INSTALL?=install
4647
RM ?= rm -f
4748
DOC_REF = origin/man
@@ -59,13 +60,52 @@ endif
5960
-include ../config.mak.autogen
6061
-include ../config.mak
6162

63+
#
64+
# For asciidoc ...
65+
# -7.1.2, no extra settings are needed.
66+
# 8.0-, set ASCIIDOC8.
67+
#
68+
69+
#
70+
# For docbook-xsl ...
71+
# -1.68.1, set ASCIIDOC_NO_ROFF? (based on changelog from 1.73.0)
72+
# 1.69.0, no extra settings are needed?
73+
# 1.69.1-1.71.0, set DOCBOOK_SUPPRESS_SP?
74+
# 1.71.1, no extra settings are needed?
75+
# 1.72.0, set DOCBOOK_XSL_172.
76+
# 1.73.0-, set ASCIIDOC_NO_ROFF
77+
#
78+
79+
#
80+
# If you had been using DOCBOOK_XSL_172 in an attempt to get rid
81+
# of 'the ".ft C" problem' in your generated manpages, and you
82+
# instead ended up with weird characters around callouts, try
83+
# using ASCIIDOC_NO_ROFF instead (it works fine with ASCIIDOC8).
84+
#
85+
6286
ifdef ASCIIDOC8
6387
ASCIIDOC_EXTRA += -a asciidoc7compatible
6488
endif
6589
ifdef DOCBOOK_XSL_172
66-
ASCIIDOC_EXTRA += -a docbook-xsl-172
90+
ASCIIDOC_EXTRA += -a git-asciidoc-no-roff
6791
MANPAGE_XSL = manpage-1.72.xsl
92+
else
93+
ifdef ASCIIDOC_NO_ROFF
94+
# docbook-xsl after 1.72 needs the regular XSL, but will not
95+
# pass-thru raw roff codes from asciidoc.conf, so turn them off.
96+
ASCIIDOC_EXTRA += -a git-asciidoc-no-roff
97+
endif
6898
endif
99+
ifdef MAN_BOLD_LITERAL
100+
XMLTO_EXTRA += -m manpage-bold-literal.xsl
101+
endif
102+
ifdef DOCBOOK_SUPPRESS_SP
103+
XMLTO_EXTRA += -m manpage-suppress-sp.xsl
104+
endif
105+
106+
SHELL_PATH ?= $(SHELL)
107+
# Shell quote;
108+
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
69109

70110
#
71111
# Please note that there is a minor bug in asciidoc.
@@ -76,6 +116,32 @@ endif
76116
# yourself - yes, all 6 characters of it!
77117
#
78118

119+
QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
120+
QUIET_SUBDIR1 =
121+
122+
ifneq ($(findstring $(MAKEFLAGS),w),w)
123+
PRINT_DIR = --no-print-directory
124+
else # "make -w"
125+
NO_SUBDIR = :
126+
endif
127+
128+
ifneq ($(findstring $(MAKEFLAGS),s),s)
129+
ifndef V
130+
QUIET_ASCIIDOC = @echo ' ' ASCIIDOC $@;
131+
QUIET_XMLTO = @echo ' ' XMLTO $@;
132+
QUIET_DB2TEXI = @echo ' ' DB2TEXI $@;
133+
QUIET_MAKEINFO = @echo ' ' MAKEINFO $@;
134+
QUIET_DBLATEX = @echo ' ' DBLATEX $@;
135+
QUIET_XSLTPROC = @echo ' ' XSLTPROC $@;
136+
QUIET_GEN = @echo ' ' GEN $@;
137+
QUIET_STDERR = 2> /dev/null
138+
QUIET_SUBDIR0 = +@subdir=
139+
QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \
140+
$(MAKE) $(PRINT_DIR) -C $$subdir
141+
export V
142+
endif
143+
endif
144+
79145
all: html man
80146

81147
html: $(DOC_HTML)
@@ -116,19 +182,19 @@ install-pdf: pdf
116182
$(INSTALL) -m 644 user-manual.pdf $(DESTDIR)$(pdfdir)
117183

118184
install-html: html
119-
sh ./install-webdoc.sh $(DESTDIR)$(htmldir)
185+
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir)
120186

121187
../GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
122-
$(MAKE) -C ../ GIT-VERSION-FILE
188+
$(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) GIT-VERSION-FILE
123189

124190
-include ../GIT-VERSION-FILE
125191

126192
#
127193
# Determine "include::" file references in asciidoc files.
128194
#
129195
doc.dep : $(wildcard *.txt) build-docdep.perl
130-
$(RM) $@+ $@
131-
$(PERL_PATH) ./build-docdep.perl >$@+
196+
$(QUIET_GEN)$(RM) $@+ $@ && \
197+
$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
132198
mv $@+ $@
133199

134200
-include doc.dep
@@ -146,102 +212,105 @@ cmds_txt = cmds-ancillaryinterrogators.txt \
146212
$(cmds_txt): cmd-list.made
147213

148214
cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
149-
$(RM) $@
150-
$(PERL_PATH) ./cmd-list.perl ../command-list.txt
215+
$(QUIET_GEN)$(RM) $@ && \
216+
$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \
151217
date >$@
152218

153219
clean:
154220
$(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7
155-
$(RM) *.texi *.texi+ git.info gitman.info
221+
$(RM) *.texi *.texi+ *.texi++ git.info gitman.info
156222
$(RM) howto-index.txt howto/*.html doc.dep
157223
$(RM) technical/api-*.html technical/api-index.txt
158224
$(RM) $(cmds_txt) *.made
159225

160226
$(MAN_HTML): %.html : %.txt
161-
$(RM) $@+ $@
227+
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
162228
$(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf \
163-
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $<
229+
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
164230
mv $@+ $@
165231

166232
%.1 %.5 %.7 : %.xml
167-
$(RM) $@
168-
xmlto -m $(MANPAGE_XSL) man $<
233+
$(QUIET_XMLTO)$(RM) $@ && \
234+
xmlto -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
169235

170236
%.xml : %.txt
171-
$(RM) $@+ $@
237+
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
172238
$(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
173-
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $<
239+
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
174240
mv $@+ $@
175241

176242
user-manual.xml: user-manual.txt user-manual.conf
177-
$(ASCIIDOC) -b docbook -d book $<
243+
$(QUIET_ASCIIDOC)$(ASCIIDOC) $(ASCIIDOC_EXTRA) -b docbook -d book $<
178244

179245
technical/api-index.txt: technical/api-index-skel.txt \
180246
technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS))
181-
cd technical && sh ./api-index.sh
247+
$(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh
182248

183249
$(patsubst %,%.html,$(API_DOCS) technical/api-index): %.html : %.txt
184-
$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
250+
$(QUIET_ASCIIDOC)$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
185251
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) $*.txt
186252

187253
XSLT = docbook.xsl
188254
XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css
189255

190256
user-manual.html: user-manual.xml
191-
xsltproc $(XSLTOPTS) -o $@ $(XSLT) $<
257+
$(QUIET_XSLTPROC)xsltproc $(XSLTOPTS) -o $@ $(XSLT) $<
192258

193259
git.info: user-manual.texi
194-
$(MAKEINFO) --no-split -o $@ user-manual.texi
260+
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi
195261

196262
user-manual.texi: user-manual.xml
197-
$(RM) $@+ $@
198-
$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout | \
199-
$(PERL_PATH) fix-texi.perl >$@+
263+
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
264+
$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@++ && \
265+
$(PERL_PATH) fix-texi.perl <$@++ >$@+ && \
266+
rm $@++ && \
200267
mv $@+ $@
201268

202269
user-manual.pdf: user-manual.xml
203-
$(RM) $@+ $@
204-
$(DBLATEX) -o $@+ -p /etc/asciidoc/dblatex/asciidoc-dblatex.xsl -s /etc/asciidoc/dblatex/asciidoc-dblatex.sty $<
270+
$(QUIET_DBLATEX)$(RM) $@+ $@ && \
271+
$(DBLATEX) -o $@+ -p /etc/asciidoc/dblatex/asciidoc-dblatex.xsl -s /etc/asciidoc/dblatex/asciidoc-dblatex.sty $< && \
205272
mv $@+ $@
206273

207274
gitman.texi: $(MAN_XML) cat-texi.perl
208-
$(RM) $@+ $@
275+
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
209276
($(foreach xml,$(MAN_XML),$(DOCBOOK2X_TEXI) --encoding=UTF-8 \
210-
--to-stdout $(xml);)) | $(PERL_PATH) cat-texi.perl $@ >$@+
277+
--to-stdout $(xml) &&) true) > $@++ && \
278+
$(PERL_PATH) cat-texi.perl $@ <$@++ >$@+ && \
279+
rm $@++ && \
211280
mv $@+ $@
212281

213282
gitman.info: gitman.texi
214-
$(MAKEINFO) --no-split --no-validate $*.texi
283+
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi
215284

216285
$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
217-
$(RM) $@+ $@
218-
$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@+
286+
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
287+
$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@+ && \
219288
mv $@+ $@
220289

221290
howto-index.txt: howto-index.sh $(wildcard howto/*.txt)
222-
$(RM) $@+ $@
223-
sh ./howto-index.sh $(wildcard howto/*.txt) >$@+
291+
$(QUIET_GEN)$(RM) $@+ $@ && \
292+
'$(SHELL_PATH_SQ)' ./howto-index.sh $(wildcard howto/*.txt) >$@+ && \
224293
mv $@+ $@
225294

226295
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
227-
$(ASCIIDOC) -b xhtml11 $*.txt
296+
$(QUIET_ASCIIDOC)$(ASCIIDOC) $(ASCIIDOC_EXTRA) -b xhtml11 $*.txt
228297

229298
WEBDOC_DEST = /pub/software/scm/git/docs
230299

231300
$(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
232-
$(RM) $@+ $@
233-
sed -e '1,/^$$/d' $< | $(ASCIIDOC) -b xhtml11 - >$@+
301+
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
302+
sed -e '1,/^$$/d' $< | $(ASCIIDOC) $(ASCIIDOC_EXTRA) -b xhtml11 - >$@+ && \
234303
mv $@+ $@
235304

236305
install-webdoc : html
237-
sh ./install-webdoc.sh $(WEBDOC_DEST)
306+
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
238307

239308
quick-install: quick-install-man
240309

241310
quick-install-man:
242-
sh ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir)
311+
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir)
243312

244313
quick-install-html:
245-
sh ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir)
314+
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir)
246315

247316
.PHONY: .FORCE-GIT-VERSION-FILE

Documentation/RelNotes-1.6.3.1.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
GIT v1.6.3.1 Release Notes
2+
==========================
3+
4+
Fixes since v1.6.3
5+
------------------
6+
7+
* "git checkout -b new-branch" with a staged change in the index
8+
incorrectly primed the in-index cache-tree, resulting a wrong tree
9+
object to be written out of the index. This is a grave regression
10+
since the last 1.6.2.X maintenance release.

0 commit comments

Comments
 (0)