Commit Graph

41643 Commits

Author SHA1 Message Date
Techlive Zheng
4f96fcc9a2 contrib/subtree: Add merge tests
Add some tests for various merge operations.  Test combinations of merge
with --message, --prefix and --squash.

Signed-off-by: Techlive Zheng <techlivezheng@gmail.com>
Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-13 00:02:56 -05:00
Techlive Zheng
c9924996c9 contrib/subtree: Add tests for subtree add
Add some tests to check various options to subtree add.  These test
various combinations of --message, --prefix and --squash.

Signed-off-by: Techlive Zheng <techlivezheng@gmail.com>
Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-13 00:02:56 -05:00
Techlive Zheng
a686701184 contrib/subtree: Add test for missing subtree
Test that a merge from a non-existant subtree fails.

Signed-off-by: Techlive Zheng <techlivezheng@gmail.com>
Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-13 00:02:56 -05:00
Techlive Zheng
b0638aa2f8 contrib/subtree: Clean and refactor test code
Mostly prepare for the later tests refactoring.  This moves some
common code to helper functions and generally cleans things up to be
more presentable.

Signed-off-by: Techlive Zheng <techlivezheng@gmail.com>
Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-13 00:02:56 -05:00
YOKOTA Hiroshi
a1420cd320 gitk: Update revision date in Japanese PO file
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 15:17:20 +09:00
YOKOTA Hiroshi
e25f12247e gitk: Update "Language:" header
msgfmt(1) wants this header.

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 15:17:20 +09:00
YOKOTA Hiroshi
e82470ac8c gitk: Improve translation message
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 15:17:20 +09:00
YOKOTA Hiroshi
0f8b604f91 gitk: Remove unused line
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 15:17:19 +09:00
YOKOTA Hiroshi
0ded623a5f gitk: Update year
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 15:17:19 +09:00
YOKOTA Hiroshi
6c54103e77 gitk: Change last translator line
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 15:17:19 +09:00
YOKOTA Hiroshi
c670cf3518 gitk: Update fuzzy messages
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 15:17:12 +09:00
YOKOTA Hiroshi
b9d3c9652e gitk: Update Japanese translation
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 14:52:27 +09:00
YOKOTA Hiroshi
8032ab360a gitk: Fix translation around copyright sign
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 14:52:27 +09:00
YOKOTA Hiroshi
a23630dec5 gitk: Update Japanese translation
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 14:52:27 +09:00
YOKOTA Hiroshi
3cc4c11007 gitk: Fix wrong translation
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 14:52:27 +09:00
YOKOTA Hiroshi
ecfeeed5a7 gitk: Translate Japanese catalog
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 14:52:27 +09:00
YOKOTA Hiroshi
cf2d5a0904 gitk: Translate more to Japanese catalog
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 14:52:21 +09:00
YOKOTA Hiroshi
640495bd89 gitk: Update Japanese message catalog
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 13:12:11 +09:00
YOKOTA Hiroshi
b34df2f9bc gitk: Re-sync line number in Japanese message catalogue
Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 13:12:11 +09:00
YOKOTA Hiroshi
66db14c94c gitk: Color name update
Color name "green" was darken since Tcl/Tk 7.6.
 Because color name scheme was changed from "X11 colors" to "Web colors".

 Use "lime" to keep colors.

See also:
http://www.tcl.tk/cgi-bin/tct/tip/403.html

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
2015-11-12 12:54:49 +09:00
Ramsay Jones
838ecf0b0f http: fix some printf format warnings
Commit f8117f55 ("http: use off_t to store partial file size",
02-11-2015) changed the type of some variables from long to off_t.
Unfortunately, the off_t type is not portable and can be represented
by several different actual types (even multiple types on the same
platform). This makes it difficult to print an off_t variable in
a platform independent way. As a result, this commit causes gcc to
issue some printf format warnings on a couple of different platforms.

In order to suppress the warnings, change the format specifier to use
the PRIuMAX macro and cast the off_t argument to uintmax_t. (See also
the http_opt_request_remainder() function, which uses the same
solution).

Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-11 19:10:41 -05:00
Андрей Рыбак
6dedd8001b Documentation: make environment variable formatting more consistent
Documentation/git.txt is not consistent in the way it
stylizes mentions of Environment Variables. Most of them are
enclosed in single quotes, some are enclosed in backticks,
some are not enclosed.

Signed-off-by: Andrey Rybak <rybak.a.v@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-11 16:46:34 -05:00
Dair Grant
8262574822 git-svn: improve rebase/mkdirs performance
Processing empty_dir directives becomes extremely slow for svn
repositories with a large enough history.

This is due to using a single hash to store the list of empty
directories, with the expensive step being purging items from
that hash using grep+delete.

Storing directories in a hash of hashes improves the performance
of this purge step and removes a potentially lengthy delay after
every rebase/mkdirs command.

The svn repository with this behaviour has 110K commits with
unhandled.log containing 170K empty_dir directives.

This takes 10 minutes to process when using a single hash, vs
3 seconds with a hash of hashes.

Signed-off-by: Dair Grant <dair@feralinteractive.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
2015-11-10 01:35:01 +00:00
Rainer M. Canavan
bac2c5bf1a configure.ac: use $LIBS not $CFLAGS when testing -lpthread
Some linkers, namely the one on IRIX are rather strict concerning
the order or arguments for symbol resolution, i.e. no libraries
listed before objects or other libraries on the command line are
considered for symbol resolution.  Therefore, -lpthread can't work
if it's put in CFLAGS, because it will not be considered for
resolving pthread_key_create in conftest.o. Use $LIBS instead.

Signed-off-by: Rainer Canavan <git@canavan.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-06 09:41:08 -08:00
Jeff King
348d4f2fc5 filter-branch: skip index read/write when possible
If the user specifies an index filter but not a tree filter,
filter-branch cleverly avoids checking out the tree
entirely. But we don't do the next level of optimization: if
you have no index or tree filter, we do not need to read the
index at all.

This can greatly speed up cases where we are only changing
the commit objects (e.g., cementing a graft into place).
Here are numbers from the newly-added perf test:

  Test                  HEAD^              HEAD
  ---------------------------------------------------------------
  7000.2: noop filter   13.81(4.95+0.83)   5.43(0.42+0.43) -60.7%

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-06 09:35:49 -08:00
Fabio Porcedda
4547039649 contrib/subtree: remove "push" command from the "todo" file
Because the "push" command is already available, remove it from the
"todo" file.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-06 09:32:33 -08:00
Junio C Hamano
f34be46e47 Eleventh batch for 2.7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 15:26:08 -08:00
Junio C Hamano
6a38bd6268 Merge branch 'ea/checkout-progress'
"git checkout" did not follow the usual "--[no-]progress"
convention and implemented only "--quiet" that is essentially
a superset of "--no-progress".  Extend the command to support the
usual "--[no-]progress".

* ea/checkout-progress:
  checkout: add --progress option
2015-11-05 15:24:28 -08:00
Junio C Hamano
848cdba579 Merge branch 'dt/http-range'
A Range: request can be responded with a full response and when
asked properly libcurl knows how to strip the result down to the
requested range.  However, we were hand-crafting a range request
and it did not kick in.

* dt/http-range:
  http: use off_t to store partial file size
  http.c: use CURLOPT_RANGE for range requests
2015-11-05 15:24:27 -08:00
Junio C Hamano
2c78628255 Git 2.6.3
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWO7oaAAoJELC16IaWr+bLwiQQANoJ1mtinMYQjqq4oNTKTNw1
 YTPCg1CF+QglubvywBSWxujhpdou/Ibup6DSKnGQKiueRbCZZXkxWSgGaTY5mpi1
 N9Y6NaQDlTwdZIF6LYv+5PrKFw2Ad2n3Pcj8EELsw7FnC5EiiBwmagJPzuwsyznK
 07pJ5kySJW3Zq06jiv1xKKiqKhMyYiLtlqFsrevAnOm5WFG2eNPLMneBrcXE4/yV
 u4DCAuXtfjiXq3zLMdjXNgRia64SQ+TukIbBox7hAh+TFaPiE9ZB+dM4dlSJM8DP
 lHQT/WjMJx0AgkUdFsF7HZ/K3I3yoXGR4oe/2QH+Tu6UXCeb+ol1Xm0JhqX7xDXN
 /59DPdGEgZQe5OJ2swh4kqIYlkKLKE6QW+n2ZhUAZzAG08br8h0IE3afap90Lh1M
 E4qS2NpT28ig++FXcfvYUNYHrZzVp/bEsMZjQv9zX76FCsBgjr7FDptm+VyBgL/+
 8PXOcBsBBTdf+hUDO84XV1IWkXi2icOgSRBmY76AYHnCxMguiPnzaKhIG4MnGyyp
 VwkBWm/gjg3dNuO2XhyELdlxw+jO4B6ULrku3oN1NmIpkbEIc4dyVwWRF4dvNq8F
 eFZLbXSAWPDBIB9fLuSbg7YW2f/NFigycQEISzsJrlhXqCTTzkVeBqgJFp9+wFJw
 4Ue+XxrFgz7dW15B4Ggi
 =ohVR
 -----END PGP SIGNATURE-----

Sync with 2.6.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 12:22:34 -08:00
Junio C Hamano
af40944bda Git 2.6.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 12:20:34 -08:00
Junio C Hamano
b8f5242592 Merge branch 'rs/daemon-plug-child-leak' into maint
"git daemon" uses "run_command()" without "finish_command()", so it
needs to release resources itself, which it forgot to do.

* rs/daemon-plug-child-leak:
  daemon: plug memory leak
  run-command: factor out child_process_clear()
2015-11-05 12:18:17 -08:00
Junio C Hamano
db43891ce6 Merge branch 'rs/wt-status-detached-branch-fix' into maint
"git status --branch --short" accessed beyond the constant string
"HEAD", which has been corrected.

* rs/wt-status-detached-branch-fix:
  wt-status: use skip_prefix() to get rid of magic string length constants
  wt-status: don't skip a magical number of characters blindly
  wt-status: avoid building bogus branch name with detached HEAD
  wt-status: exit early using goto in wt_shortstatus_print_tracking()
  t7060: add test for status --branch on a detached HEAD
2015-11-05 12:18:15 -08:00
Junio C Hamano
f97aee1f94 Merge branch 'jk/initialization-fix-to-add-submodule-odb' into maint
We peek objects from submodule's object store by linking it to the
list of alternate object databases, but the code to do so forgot to
correctly initialize the list.

* jk/initialization-fix-to-add-submodule-odb:
  add_submodule_odb: initialize alt_odb list earlier
2015-11-05 12:18:14 -08:00
Junio C Hamano
ace5348dcb Merge branch 'js/misc-fixes' into maint
Various compilation fixes and squelching of warnings.

* js/misc-fixes:
  Correct fscanf formatting string for I64u values
  Silence GCC's "cast of pointer to integer of a different size" warning
  Squelch warning about an integer overflow
2015-11-05 12:18:13 -08:00
Junio C Hamano
a878e7e62b Merge branch 'jc/add-u-A-default-to-top' into maint
"git --literal-pathspecs add -u/-A" without any command line
argument misbehaved ever since Git 2.0.

* jc/add-u-A-default-to-top:
  add: simplify -u/-A without pathspec
2015-11-05 12:18:12 -08:00
Junio C Hamano
5e6154fb14 Merge branch 'jk/delete-modechange-conflict' into maint
Merging a branch that removes a path and another that changes the
mode bits on the same path should have conflicted at the path, but
it didn't and silently favoured the removal.

* jk/delete-modechange-conflict:
  merge: detect delete/modechange conflict
  t6031: generalize for recursive and resolve strategies
  t6031: move triple-rename test to t3030
2015-11-05 12:18:11 -08:00
Junio C Hamano
c378862b1e Merge branch 'js/imap-send-curl-compilation-fix' into maint
"git imap-send" did not compile well with older version of cURL library.

* js/imap-send-curl-compilation-fix:
  imap-send: only use CURLOPT_LOGIN_OPTIONS if it is actually available
2015-11-05 12:18:10 -08:00
Junio C Hamano
3897d2d906 Merge branch 'rp/link-curl-before-ssl' into maint
The linkage order of libraries was wrong in places around libcurl.

* rp/link-curl-before-ssl:
  configure.ac: detect ssl need with libcurl
  Makefile: make curl-config path configurable
  Makefile: link libcurl before zlib
2015-11-05 12:18:09 -08:00
Junio C Hamano
4349f597f0 Merge branch 'nd/clone-linked-checkout' into maint
It was not possible to use a repository-lookalike created by "git
worktree add" as a local source of "git clone".

* nd/clone-linked-checkout:
  clone: better error when --reference is a linked checkout
  clone: allow --local from a linked checkout
  enter_repo: allow .git files in strict mode
  enter_repo: avoid duplicating logic, use is_git_directory() instead
  t0002: add test for enter_repo(), non-strict mode
  path.c: delete an extra space
2015-11-05 12:18:08 -08:00
Junio C Hamano
53be145209 Merge branch 'sa/send-email-smtp-batch-data-limit' into maint
When "git send-email" wanted to talk over Net::SMTP::SSL,
Net::Cmd::datasend() did not like to be fed too many bytes at the
same time and failed to send messages.  Send the payload one line
at a time to work around the problem.

* sa/send-email-smtp-batch-data-limit:
  git-send-email.perl: Fixed sending of many/huge changes/patches
2015-11-05 12:18:06 -08:00
Lukas Fleischer
948bfa2c0f t5509: add basic tests for hideRefs
Test whether regular and full hideRefs patterns work as expected when
namespaces are used.

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 11:25:02 -08:00
Lukas Fleischer
78a766ab6e hideRefs: add support for matching full refs
In addition to matching stripped refs, one can now add hideRefs
patterns that the full (unstripped) ref is matched against. To
distinguish between stripped and full matches, those new patterns
must be prefixed with a circumflex (^).

This commit also removes support for the undocumented and unintended
hideRefs settings ".have" (suppressing all "have" lines) and
"capabilities^{}" (suppressing the capabilities line).

Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 11:25:02 -08:00
Lukas Fleischer
00b293e519 upload-pack: strip refs before calling ref_is_hidden()
Make hideRefs handling in upload-pack consistent with the behavior
described in the documentation by stripping refs before comparing them
with prefixes in hideRefs.

Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 11:25:02 -08:00
Lukas Fleischer
92cab492ba config.txt: document the semantics of hideRefs with namespaces
Right now, there is no clear definition of how transfer.hideRefs should
behave when a namespace is set. Explain that hideRefs prefixes match
stripped names in that case. This is how hideRefs patterns are currently
handled in receive-pack.

Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 11:25:00 -08:00
Atousa Pahlevan Duprat
001fd7a90b sha1: allow limiting the size of the data passed to SHA1_Update()
Using the previous commit's inredirection mechanism for SHA1,
support a chunked implementation of SHA1_Update() that limits the
amount of data in the chunk passed to SHA1_Update().

This is enabled by using the Makefile variable SHA1_MAX_BLOCK_SIZE
to specify chunk size.  When using Apple's CommonCrypto library this
is set to 1GiB (the implementation cannot handle more 4GiB).

Signed-off-by: Atousa Pahlevan Duprat <apahlevan@ieee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 10:35:11 -08:00
Atousa Pahlevan Duprat
3bc72fde3f sha1: provide another level of indirection for the SHA-1 functions
The git source uses git_SHA1_Update() and friends to call into the
code that computes the hashes.  Traditionally, we used to map these
directly to underlying implementation of the SHA-1 hash (e.g.
SHA1_Update() from OpenSSL or blk_SHA1_Update() from block-sha1/).

This arrangement however makes it hard to tweak behaviour of the
underlying implementation without fully replacing.  If we want to
introduce a tweaked_SHA1_Update() wrapper to implement the "Update"
in a slightly different way, for example, the implementation of the
wrapper still would want to call into the underlying implementation,
but tweaked_SHA1_Update() cannot call git_SHA1_Update() to get to
the underlying implementation (often but not always SHA1_Update()).

Add another level of indirection that maps platform_SHA1_Update()
and friends to their underlying implementations, and by default make
git_SHA1_Update() and friends map to platform_SHA1_* functions.

Doing it this way will later allow us to map git_SHA1_Update() to
tweaked_SHA1_Update(), and the latter can use platform_SHA1_Update()
in its implementation.

Signed-off-by: Atousa Pahlevan Duprat <apahlevan@ieee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05 10:35:11 -08:00
Junio C Hamano
259b5e6d33 Sync with maint
* maint:
2015-11-04 14:21:41 -08:00
Junio C Hamano
684fea3794 Merge branch 'xf/user-manual-ff' into maint
* xf/user-manual-ff:
  user-manual: fix the description of fast-forward
2015-11-04 14:20:49 -08:00
Junio C Hamano
6c66686e0b Merge branch 'xf/user-manual-markup' into maint
AsciiDoc markup fixes.

* xf/user-manual-markup:
  Documentation: match undefline with the text in old release notes
  Documentation: match underline with the text
  Documentation: fix header markup
2015-11-04 14:20:47 -08:00