Junio C Hamano  committed c444c16 Merge

Merge "Move 'builtin-*' into a 'builtin/' subdirectory"

  • Participants
  • Parent commits 77f143b, 81b50f3

Comments (0)

Files changed (1029)

File .gitattributes

 * whitespace=!indent,trail,space
-*.[ch] whitespace
+*.[ch] whitespace=indent,trail,space
+*.sh whitespace=indent,trail,space
 Nanako Shiraishi <>
 Nanako Shiraishi <>
 Nguyễn Thái Ngọc Duy <>
+<> <>
 Philippe Bruhat <>
 Ramsay Allan Jones <>
 René Scharfe <>
 		       Version 2, June 1991
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
   When we speak of free software, we are referring to freedom, not
   The precise terms and conditions for copying, distribution and
 modification follow.
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
 	    How to Apply These Terms to Your New Programs
   If you develop a new program, and you want it to be of the greatest
     GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 Also add information on how to contact you by electronic and paper mail.
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.

File Documentation/.gitignore


File Documentation/Makefile

 ARTICLES = howto-index
 ARTICLES += everyday
 ARTICLES += git-tools
+ARTICLES += git-bisect-lk2009
 # with their own formatting rules.
 SP_ARTICLES = howto/revert-branch-rebase howto/using-merge-subtree user-manual
 API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
 ifdef ASCIIDOC8
-ASCIIDOC_EXTRA += -a asciidoc7compatible
+ASCIIDOC_EXTRA += -a asciidoc7compatible -a no-inline-literal
 ifdef DOCBOOK_XSL_172
 ASCIIDOC_EXTRA += -a git-asciidoc-no-roff
 XMLTO_EXTRA += -m manpage-suppress-sp.xsl
+# Newer DocBook stylesheet emits warning cruft in the output when
+# this is not set, and if set it shows an absolute link.  Older
+# stylesheets simply ignore this parameter.
+# Distros may want to use MAN_BASE_URL=file:///path/to/git/docs/
+# or similar.
+ifndef MAN_BASE_URL
+MAN_BASE_URL = file://$(htmldir)/
+XMLTO_EXTRA += -m manpage-base-url.xsl
+# If your target system uses GNU groff, it may try to render
+# apostrophes as a "pretty" apostrophe using unicode.  This breaks
+# cut&paste, so you should set GNU_ROFF to force them to be ASCII
+# apostrophes.  Unfortunately does not work with non-GNU roff.
+ifdef GNU_ROFF
+XMLTO_EXTRA += -m manpage-quote-apos.xsl
 # Shell quote;
 SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
 install-html: html
 	'$(SHELL_PATH_SQ)' ./ $(DESTDIR)$(htmldir)
 -include ../GIT-VERSION-FILE
 	$(RM) howto-index.txt howto/*.html doc.dep
 	$(RM) technical/api-*.html technical/api-index.txt
 	$(RM) $(cmds_txt) *.made
+	$(RM) manpage-base-url.xsl
 $(MAN_HTML): %.html : %.txt
 	$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
 		$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
 	mv $@+ $@
-%.1 %.5 %.7 : %.xml
+	sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
+%.1 %.5 %.7 : %.xml manpage-base-url.xsl
 	$(QUIET_XMLTO)$(RM) $@ && \
 	xmlto -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
 	'$(SHELL_PATH_SQ)' ./ $(HTML_REF) $(DESTDIR)$(htmldir)

File Documentation/RelNotes-

 Fixes since v1.6.3
-exec >/var/tmp/1
-echo O=$(git describe maint)
-git shortlog $O..maint
+* "git checkout -b new-branch" with a staged change in the index
+  incorrectly primed the in-index cache-tree, resulting a wrong tree
+  object to be written out of the index.  This is a grave regression
+  since the last 1.6.2.X maintenance release.

File Documentation/RelNotes-

+GIT v1.6.3.2 Release Notes
+Fixes since v1.6.3.1
+ * A few codepaths picked up the first few bytes from an sha1[] by
+   casting the (char *) pointer to (int *); GCC 4.4 did not like this,
+   and aborted compilation.
+ * Some unlink(2) failures went undiagnosed.
+ * The "recursive" merge strategy misbehaved when faced rename/delete
+   conflicts while coming up with an intermediate merge base.
+ * The low-level merge algorithm did not handle a degenerate case of
+   merging a file with itself using itself as the common ancestor
+   gracefully.  It should produce the file itself, but instead
+   produced an empty result.
+ * GIT_TRACE mechanism segfaulted when tracing a shell-quoted aliases.
+ * OpenBSD also uses st_ctimspec in "struct stat", instead of "st_ctim".
+ * With NO_CROSS_DIRECTORY_HARDLINKS, "make install" can be told not to
+   create hardlinks between $(gitexecdir)/git-$builtin_commands and
+   $(bindir)/git.
+ * command completion code in bash did not reliably detect that we are
+   in a bare repository.
+ * "git add ." in an empty directory complained that pathspec "." did not
+   match anything, which may be technically correct, but not useful.  We
+   silently make it a no-op now.
+ * "git add -p" (and "patch" action in "git add -i") was broken when
+   the first hunk that adds a line at the top was split into two and
+   both halves are marked to be used.
+ * "git blame path" misbehaved at the commit where path became file
+   from a directory with some files in it.
+ * "git for-each-ref" had a segfaulting bug when dealing with a tag object
+   created by an ancient git.
+ * "git format-patch -k" still added patch numbers if format.numbered
+   configuration was set.
+ * "git grep --color ''" did not terminate.  The command also had
+   subtle bugs with its -w option.
+ * http-push had a small use-after-free bug.
+ * "git push" was converting OFS_DELTA pack representation into less
+   efficient REF_DELTA representation unconditionally upon transfer,
+   making the transferred data unnecessarily larger.
+ * "git remote show origin" segfaulted when origin was still empty.
+Many other general usability updates around help text, diagnostic messages
+and documentation are included as well.

File Documentation/RelNotes-

+GIT v1.6.3.3 Release Notes
+Fixes since v1.6.3.2
+ * "git archive" running on Cygwin can get stuck in an infinite loop.
+ * "git daemon" did not correctly parse the initial line that carries
+   virtual host request information.
+ * "git diff --textconv" leaked memory badly when the textconv filter
+   errored out.
+ * The built-in regular expressions to pick function names to put on
+   hunk header lines for java and objc were very inefficiently written.
+ * in certain error situations git-fetch (and git-clone) on Windows didn't
+   detect connection abort and ended up waiting indefinitely.
+ * import-tars script (in contrib) did not import symbolic links correctly.
+ * http.c used CURLOPT_SSLKEY even on libcURL version 7.9.2, even though
+   it was only available starting 7.9.3.
+ * low-level filelevel merge driver used return value from strdup()
+   without checking if we ran out of memory.
+ * "git rebase -i" left stray closing parenthesis in its reflog message.
+ * "git remote show" did not show all the URLs associated with the named
+   remote, even though "git remote -v" did.  Made them consistent by
+   making the former show all URLs.
+ * "whitespace" attribute that is set was meant to detect all errors known
+   to git, but it told git to ignore trailing carriage-returns.
+Includes other documentation fixes.

File Documentation/RelNotes-

+GIT v1.6.3.4 Release Notes
+Fixes since v1.6.3.3
+ * "git add --no-ignore-errors" did not override configured
+   add.ignore-errors configuration.
+ * "git apply --whitespace=fix" did not fix trailing whitespace on an
+   incomplete line.
+ * "git branch" opened too many commit objects unnecessarily.
+ * "git checkout -f $commit" with a path that is a file (or a symlink) in
+   the work tree to a commit that has a directory at the path issued an
+   unnecessary error message.
+ * "git diff -c/--cc" was very inefficient in coalescing the removed lines
+   shared between parents.
+ * "git diff -c/--cc" showed removed lines at the beginning of a file
+   incorrectly.
+ * "git remote show nickname" did not honor configured
+   remote.nickname.uploadpack when inspecting the branches at the remote.
+ * "git request-pull" when talking to the terminal for a preview
+   showed some of the output in the pager.
+ * "git request-pull start nickname [end]" did not honor configured
+   remote.nickname.uploadpack when it ran git-ls-remote against the remote
+   repository to learn the current tip of branches.
+Includes other documentation updates and minor fixes.

File Documentation/RelNotes-

+GIT v1.6.4.1 Release Notes
+Fixes since v1.6.4
+ * An unquoted value in the configuration file, when it contains more than
+   one whitespaces in a row, got them replaced with a single space.
+ * "git am" used to accept a single piece of e-mail per file (not a mbox)
+   as its input, but multiple input format support in v1.6.4 broke it.
+   Apparently many people have been depending on this feature.
+ * The short help text for "git filter-branch" command was a single long
+   line, wrapped by terminals, and was hard to read.
+ * The "recursive" strategy of "git merge" segfaulted when a merge has
+   more than one merge-bases, and merging of these merge-bases involves
+   a rename/rename or a rename/add conflict.
+ * "git pull --rebase" did not use the right fork point when the
+   repository has already fetched from the upstream that rewinds the
+   branch it is based on in an earlier fetch.
+ * Explain the concept of fast-forward more fully in "git push"
+   documentation, and hint to refer to it from an error message when the
+   command refuses an update to protect the user.
+ * The default value for pack.deltacachesize, used by "git repack", is now
+   256M, instead of unbounded.  Otherwise a repack of a moderately sized
+   repository would needlessly eat into swap.
+ * Document how "git repack" (hence "git gc") interacts with a repository
+   that borrows its objects from other repositories (e.g. ones created by
+   "git clone -s").
+ * "git show" on an annotated tag lacked a delimiting blank line between
+   the tag itself and the contents of the object it tags.
+ * "git verify-pack -v" erroneously reported number of objects with too
+   deep delta depths as "chain length 0" objects.
+ * Long names of authors and committers outside US-ASCII were sometimes
+   incorrectly shown in "gitweb".
+Other minor documentation updates are included.

File Documentation/RelNotes-

+GIT v1.6.4.2 Release Notes
+Fixes since v1.6.4.1
+* --date=relative output between 1 and 5 years ago rounded the number of
+    years when saying X years Y months ago, instead of rounding it down.
+* "git add -p" did not handle changes in executable bits correctly
+  (a regression around 1.6.3).
+* "git apply" did not honor GNU diff's convention to mark the creation/deletion
+  event with UNIX epoch timestamp on missing side.
+* "git checkout" incorrectly removed files in a directory pointed by a
+  symbolic link during a branch switch that replaces a directory with
+  a symbolic link.
+* "git clean -d -f" happily descended into a subdirectory that is managed by a
+  separate git repository.  It now requires two -f options for safety.
+* "git fetch/push" over http transports had two rather grave bugs.
+* "git format-patch --cover-letter" did not prepare the cover letter file
+  for use with non-ASCII strings when there are the series contributors with
+  non-ASCII names.
+* "git pull origin branch" and "git fetch origin && git merge origin/branch"
+  left different merge messages in the resulting commit.
+Other minor documentation updates are included.

File Documentation/RelNotes-

+GIT v1.6.4.3 Release Notes
+Fixes since v1.6.4.2
+* "git clone" from an empty repository gave unnecessary error message,
+  even though it did everything else correctly.
+* "git cvsserver" invoked git commands via "git-foo" style, which has long
+  been deprecated.
+* "git fetch" and "git clo