Commit Graph

41601 Commits

Author SHA1 Message Date
Michael Haggerty
a935ebd4a7 pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref()
is_per_worktree_ref() will soon be made private, so use the public
interface, ref_type(), in its place. And now that we're using
ref_type(), we can make it clear that we won't pack pseudorefs. This was
the case before, but due to the not-so-obvious reason that this function
is applied to references via the loose reference cache, which only
includes references that live inside "refs/".

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 04:52:01 -05:00
David Turner
f4a5721ccb copy_msg(): rename to copy_reflog_msg()
We will soon increase the visibility of this function, so make its name
more distinctive.

Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 04:52:01 -05:00
Ronnie Sahlberg
d336123160 verify_refname_available(): new function
Add a new verify_refname_available() function, which checks whether the
refname is available for use, taking all references (both packed and
loose) into account. This function, unlike the old
verify_refname_available(), has semantics independent of the choice of
reference storage, and can therefore be implemented by alternative
reference backends.

Use the new function in a couple of places.

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 04:52:01 -05:00
Ronnie Sahlberg
7003b3ce21 verify_refname_available(): rename function
Rename verify_refname_available() to verify_refname_available_dir() to
make the old name available for a more general purpose.

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 04:52:01 -05:00
Clemens Buchacher
af65f68cdf allow hooks to ignore their standard input stream
Since ec7dbd145 (receive-pack: allow hooks to ignore its
standard input stream) the pre-receive and post-receive
hooks ignore SIGPIPE. Do the same for the remaining hooks
pre-push and post-rewrite, which read from standard input.
The same arguments for ignoring SIGPIPE apply.

Include test by Jeff King which checks that SIGPIPE does not
cause pre-push hook failure. With the use of git update-ref
--stdin it is fast enough to be enabled by default.

Signed-off-by: Clemens Buchacher <clemens.buchacher@intel.com>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-16 08:59:19 -05:00
Fredrik Medley
fe9394ad3e rebase-i-exec: Allow space in SHELL_PATH
On Windows, when Git is installed under "C:\Program Files\Git",
SHELL_PATH will include a space. Fix "git rebase --interactive --exec"
so that it works with spaces in SHELL_PATH.

Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-13 17:51:39 -05:00
Techlive Zheng
d16031caf1 contrib/subtree: Handle '--prefix' argument with a slash appended
'git subtree merge' will fail if the argument of '--prefix' has a slash
appended.

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
43711746bd contrib/subtree: Make each test self-contained
Each test runs a full repository creation and any subtree actions
needed to perform the test.  Each test starts with a clean slate,
making debugging and post-mortem analysis much easier.

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
4fe2e33cc9 contrib/subtree: Add split tests
Add tests to check various options to split.  Check combinations of
--prefix, --message, --annotate, --branch and --rejoin.

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
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