d3ac359 | Junio C Hamano | 19 August 2015, 21:41:29 UTC | Merge branch 'ib/scripted-parse-opt-better-hint-string' into maint The "rev-parse --parseopt" mode parsed the option specification and the argument hint in a strange way to allow '=' and other special characters in the option name while forbidding them from the argument hint. This made it impossible to define an option like "--pair <key>=<value>" with "pair=key=value" specification, which instead would have defined a "--pair=key <value>" option. * ib/scripted-parse-opt-better-hint-string: rev-parse --parseopt: allow [*=?!] in argument hints | 19 August 2015, 21:41:29 UTC |
204ea3c | Junio C Hamano | 19 August 2015, 21:41:28 UTC | Merge branch 'se/doc-checkout-ours-theirs' into maint A "rebase" replays changes of the local branch on top of something else, as such they are placed in stage #3 and referred to as "theirs", while the changes in the new base, typically a foreign work, are placed in stage #2 and referred to as "ours". Clarify the "checkout --ours/--theirs". * se/doc-checkout-ours-theirs: checkout: document subtlety around --ours/--theirs | 19 August 2015, 21:41:28 UTC |
b083703 | Junio C Hamano | 19 August 2015, 21:41:27 UTC | Merge branch 'cb/uname-in-untracked' into maint An experimental "untracked cache" feature used uname(2) in a slightly unportable way. * cb/uname-in-untracked: untracked: fix detection of uname(2) failure | 19 August 2015, 21:41:28 UTC |
4f66e44 | Junio C Hamano | 19 August 2015, 21:41:27 UTC | Merge branch 'as/sparse-checkout-removal' into maint "sparse checkout" misbehaved for a path that is excluded from the checkout when switching between branches that differ at the path. * as/sparse-checkout-removal: unpack-trees: don't update files with CE_WT_REMOVE set | 19 August 2015, 21:41:27 UTC |
7e7ce32 | Junio C Hamano | 19 August 2015, 21:41:26 UTC | Merge branch 'db/send-pack-user-signingkey' into maint The low-level "git send-pack" did not honor 'user.signingkey' configuration variable when sending a signed-push. * db/send-pack-user-signingkey: builtin/send-pack.c: respect user.signingkey | 19 August 2015, 21:41:26 UTC |
17850ef | Junio C Hamano | 19 August 2015, 21:41:26 UTC | Merge branch 'jx/do-not-crash-receive-pack-wo-head' into maint An attempt to delete a ref by pushing into a repositorywhose HEAD symbolic reference points at an unborn branch that cannot be created due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD points at refs/heads/a) failed. * jx/do-not-crash-receive-pack-wo-head: receive-pack: crash when checking with non-exist HEAD | 19 August 2015, 21:41:26 UTC |
5a30374 | Junio C Hamano | 19 August 2015, 21:41:24 UTC | Merge branch 'da/subtree-date-confusion' into maint "git subtree" (in contrib/) depended on "git log" output to be stable, which was a no-no. Apply a workaround to force a particular date format. * da/subtree-date-confusion: contrib/subtree: ignore log.date configuration | 19 August 2015, 21:41:25 UTC |
73f9145 | Nguyễn Thái Ngọc Duy | 19 August 2015, 13:01:26 UTC | untracked cache: fix entry invalidation First, the current code in untracked_cache_invalidate_path() is wrong because it can only handle paths "a" or "a/b", not "a/b/c" because lookup_untracked() only looks for entries directly under the given directory. In the last case, it will look for the entry "b/c" in directory "a" instead. This means if you delete or add an entry in a subdirectory, untracked cache may become out of date because it does not invalidate properly. This is noticed by David Turner. The second problem is about invalidation inside a fully untracked/excluded directory. In this case we may have to invalidate back to root. See the comment block for detail. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2015, 17:40:55 UTC |
2e5910f | David Turner | 19 August 2015, 13:01:25 UTC | untracked-cache: fix subdirectory handling Previously, some calls lookup_untracked would pass a full path. But lookup_untracked assumes that the portion of the path up to and including to the untracked_cache_dir has been removed. So lookup_untracked would be looking in the untracked_cache for 'foo' for 'foo/bar' (instead of just looking for 'bar'). This would cause untracked cache corruption. Instead, treat_directory learns to track the base length of the parent directory, so that only the last path component is passed to lookup_untracked. Helped-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2015, 17:40:24 UTC |
f178136 | Nguyễn Thái Ngọc Duy | 19 August 2015, 13:01:24 UTC | t7063: use --force-untracked-cache to speed up a bit When in the middle of t7063, we are sure untracked cache is supported, so we can use --force-untracked-cache to skip the support detection phase and save a few seconds. It's also good that --force-untracked-cache is exercised in the test suite. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2015, 17:37:13 UTC |
a6926b8 | Philip Oakley | 16 August 2015, 07:56:56 UTC | po/README: Update directions for l10n contributors Some Linux distributions (such as Ubuntu) have their own l10n workflows, and their translations may be different. Add notes for this case for l10n translators. Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 August 2015, 19:12:26 UTC |
54d160e | Sven Strickroth | 14 August 2015, 20:21:17 UTC | config: close config file handle in case of error When updating an existing configuration file, we did not always close the filehandle that is reading from the current configuration file when we encountered an error (e.g. when unsetting a variable that does not exist). Signed-off-by: Sven Strickroth <email@cs-ware.de> Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com> Reviewed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2015, 20:49:41 UTC |
dff6f28 | Clemens Buchacher | 04 August 2015, 08:24:29 UTC | git_open_noatime: return with errno=0 on success In read_sha1_file_extended we die if read_object fails with a fatal error. We detect a fatal error if errno is non-zero and is not ENOENT. If the object could not be read because it does not exist, this is not considered a fatal error and we want to return NULL. Somewhere down the line, read_object calls git_open_noatime to open a pack index file, for example. We first try open with O_NOATIME. If O_NOATIME fails with EPERM, we retry without O_NOATIME. When the second open succeeds, errno is however still set to EPERM from the first attempt. When we finally determine that the object does not exist, read_object returns NULL and read_sha1_file_extended dies with a fatal error: fatal: failed to read object <sha1>: Operation not permitted Fix this by resetting errno to zero before we call open again. Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Clemens Buchacher <clemens.buchacher@intel.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 August 2015, 20:56:19 UTC |
b3325df | Johannes Sixt | 11 August 2015, 20:38:46 UTC | t2019: skip test requiring '*' in a file name non Windows A test case introduced by ae454f61 (Add tests for wildcard "path vs ref" disambiguation) allocates a file named '*.c'. This does not work on Windows, because the OS forbids file names containing wildcard characters. The test case fails where the shell attempts to allocate the file. Skip the test on Windows. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 August 2015, 22:17:30 UTC |
f4c3edc | Jeff King | 11 August 2015, 18:13:59 UTC | vreportf: avoid intermediate buffer When we call "die(fmt, args...)", we end up in vreportf with two pieces of information: 1. The prefix "fatal: " 2. The original fmt and va_list of args. We format item (2) into a temporary buffer, and then fprintf the prefix and the temporary buffer, along with a newline. This has the unfortunate side effect of truncating any error messages that are longer than 4096 bytes. Instead, let's use separate calls for the prefix and newline, letting us hand the item (2) directly to vfprintf. This is essentially undoing d048a96 (print warning/error/fatal messages in one shot, 2007-11-09), which tried to have the whole output end up in a single `write` call. But we can address this instead by explicitly requesting line-buffering for the output handle, and by making sure that the buffer is empty before we start (so that outputting the prefix does not cause a flush due to hitting the buffer limit). We may still break the output into two writes if the content is larger than our buffer, but there's not much we can do there; depending on the stdio implementation, that might have happened even with a single fprintf call. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 August 2015, 21:29:36 UTC |
3b331e9 | Jeff King | 11 August 2015, 18:06:15 UTC | vreportf: report to arbitrary filehandles The vreportf function always goes to stderr, but run-command wants child errors to go to the parent's original stderr. To solve this, commit a5487dd duplicates the stderr fd and installs die and error handlers to direct the output appropriately (which later turned into the vwritef function). This has two downsides, though: - we make multiple calls to write(), which contradicts the "write at once" logic from d048a96 (print warning/error/fatal messages in one shot, 2007-11-09). - the custom handlers basically duplicate the normal handlers. They're only a few lines of code, but we should not have to repeat the magic "exit(128)", for example. We can solve the first by using fdopen() on the duplicated descriptor. We can't pass this to vreportf, but we could introduce a new vreportf_to to handle it. However, to fix the second problem, we instead introduce a new "set_error_handle" function, which lets the normal vreportf calls output to a handle besides stderr. Thus we can get rid of our custom handlers entirely, and just ask the regular handlers to output to our new descriptor. And as vwritef has no more callers, it can just go away. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 August 2015, 21:24:50 UTC |
3ebbd00 | Jim Hill | 31 May 2015, 18:16:45 UTC | strbuf_read(): skip unnecessary strbuf_grow() at eof The loop in strbuf_read() uses xread() repeatedly while extending the strbuf until the call returns zero. If the buffer is sufficiently large to begin with, this results in xread() returning the remainder of the file to the end (returning non-zero), the loop extending the strbuf, and then making another call to xread() to have it return zero. By using read_in_full(), we can tell when the read reached the end of file: when it returns less than was requested, it's eof. This way we can avoid an extra iteration that allocates an extra 8kB that is never used. Signed-off-by: Jim Hill <gjthill@gmail.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 August 2015, 19:51:13 UTC |
db2e220 | Jeff King | 10 August 2015, 15:48:22 UTC | clone: use computed length in guess_dir_name Commit 7e837c6 (clone: simplify string handling in guess_dir_name(), 2015-07-09) changed clone to use strip_suffix instead of hand-rolled pointer manipulation. However, strip_suffix will strip from the end of a NUL-terminated string, and we may have already stripped some characters (like directory separators, or "/.git"). This leads to commands like: git clone host:foo.git/ failing to strip the ".git". We must instead convert our pointer arithmetic into a computed length and feed that to strip_suffix_mem, which will then reduce the length further for us. It would be nicer if we could drop the pointer manipulation entirely, and just continually strip using strip_suffix. But that doesn't quite work for two reasons: 1. The early suffixes we're stripping are not constant; we need to look for is_dir_sep, which could be one of several characters. 2. Mid-way through the stripping we compute the pointer "start", which shows us the beginning of the pathname. Which really give us two lengths to work with: the offset from the start of the string, and from the start of the path. By using pointers for the early part, we can just compute the length from "start" when we need it. Signed-off-by: Jeff King <peff@peff.net> Acked-by: Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 August 2015, 18:01:05 UTC |
d6a31e0 | Jeff King | 10 August 2015, 15:48:21 UTC | clone: add tests for output directory When we run "git clone $url", clone guesses from the $url what to name the local output directory. We don't have any test coverage of this, so let's add some basic tests. This reveals a few problems: - cloning "foo.git/" does not properly remove the ".git"; this is a recent regression from 7e837c6 (clone: simplify string handling in guess_dir_name(), 2015-07-09) - likewise, cloning foo/.git does not seem to handle the bare case (we should end up in foo.git, but we try to use foo/.git on the local end), which also comes from 7e837c6. - cloning the root is not very smart about URL parsing, and usernames and port numbers may end up in the directory name All of these tests are marked as failures. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 August 2015, 17:59:30 UTC |
9b5fe78 | Jeff King | 06 August 2015, 05:33:57 UTC | test-lib: disable trace when test is not verbose The "-x" test-script option turns on the shell's "-x" tracing, which can help show why a particular test is failing. Unfortunately, this can create false negatives in some tests if they invoke a shell function with its stderr redirected. t5512.10 is such a test, as it does: test_must_fail git ls-remote refs*master >actual 2>&1 && test_cmp exp actual The "actual" file gets the "-x" trace for the test_must_fail function, which prevents it from matching the expected output. There's no way to avoid this without managing the trace flag inside each sub-function, which isn't really a workable solution. But unless you specifically care about t5512.10, we can work around it by enabling tracing only for the specific tests we want. You can already do: ./t5512-ls-remote.sh -x --verbose-only=16 to see the trace only for a specific test. But that doesn't _disable_ the tracing in the other tests; it just sends it to /dev/null. However, there's no point in generating a trace that the user won't see, so we can simply disable tracing whenever it doesn't have a matching verbose flag. The normal case of just "./t5512-ls-remote.sh -x" stays the same, as "-x" already implies "--verbose" (and "--verbose-only" overrides "--verbose", which is why this works at all). And for our test, we need only check $verbose, as maybe_setup_verbose will have already set that flag based on the $verbose_only list). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 August 2015, 18:52:46 UTC |
2a01ef8 | Jeff King | 06 August 2015, 05:31:47 UTC | test-lib: turn off "-x" tracing during chain-lint check Now that GIT_TEST_CHAIN_LINT is on by default, running: ./t0000-basic.sh -x --verbose-only=1 starts with: expecting success: find .git/objects -type f -print >should-be-empty && test_line_count = 0 should-be-empty + exit 117 error: last command exited with $?=117 + find .git/objects -type f -print + test_line_count = 0 should-be-empty + test 3 != 3 + wc -l + test 0 = 0 ok 1 - .git/objects should be empty after git init in an empty repo This is confusing, as the "exit 117" line and the error line (which is printed in red, no less!) are not part of the test at all, but are rather in the separate chain-lint test_eval. Let's unset the "trace" variable when eval-ing the chain lint check, which avoids this. Note that we cannot just do a one-shot variable like: trace= test_eval ... as the behavior of one-shot variables for function calls is not portable. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 August 2015, 18:50:28 UTC |
faacc5a | Patrick Steinhardt | 05 August 2015, 09:43:51 UTC | tests: fix cleanup after tests in t1509-root-worktree During cleanup we do a simple 'rm /*' to remove leftover files from previous tests. As 'rm' errors out when there is anything it cannot delete and there are directories present at '/' it will throw an error, causing the '&&' chain to fail. Fix this by explicitly removing the files. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2015, 20:00:04 UTC |
24ca45f | Patrick Steinhardt | 05 August 2015, 09:43:50 UTC | tests: fix broken && chains in t1509-root-worktree Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2015, 19:59:56 UTC |
ae25fd3 | Stefan Beller | 31 July 2015, 23:57:57 UTC | transport-helper: die on errors reading refs. We check the return value of read_ref in 19 out of 21 cases. This adds checks to the missing cases. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 August 2015, 20:03:58 UTC |
e88b858 | Junio C Hamano | 03 August 2015, 17:45:34 UTC | Sync with 2.4.8 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 August 2015, 17:45:34 UTC |
8545932 | Junio C Hamano | 03 August 2015, 17:40:37 UTC | Git 2.4.8 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 August 2015, 17:43:01 UTC |
29dce32 | Junio C Hamano | 03 August 2015, 17:41:34 UTC | Merge branch 'js/rebase-i-clean-up-upon-continue-to-skip' into maint Abandoning an already applied change in "git rebase -i" with "--continue" left CHERRY_PICK_HEAD and confused later steps. * js/rebase-i-clean-up-upon-continue-to-skip: rebase -i: do not leave a CHERRY_PICK_HEAD file behind t3404: demonstrate CHERRY_PICK_HEAD bug | 03 August 2015, 17:41:34 UTC |
de67af4 | Junio C Hamano | 03 August 2015, 17:41:33 UTC | Merge branch 'ss/clone-guess-dir-name-simplify' into maint Code simplification. * ss/clone-guess-dir-name-simplify: clone: simplify string handling in guess_dir_name() | 03 August 2015, 17:41:33 UTC |
44737c4 | Junio C Hamano | 03 August 2015, 17:41:33 UTC | Merge branch 'sg/completion-commit-cleanup' into maint * sg/completion-commit-cleanup: completion: teach 'scissors' mode to 'git commit --cleanup=' | 03 August 2015, 17:41:33 UTC |
c36e465 | Junio C Hamano | 03 August 2015, 17:41:32 UTC | Merge branch 'pt/am-abort-fix' into maint Various fixes around "git am" that applies a patch to a history that is not there yet. * pt/am-abort-fix: am --abort: keep unrelated commits on unborn branch am --abort: support aborting to unborn branch am --abort: revert changes introduced by failed 3way merge am --skip: support skipping while on unborn branch am -3: support 3way merge on unborn branch am --skip: revert changes introduced by failed 3way merge | 03 August 2015, 17:41:32 UTC |
0533a9b | Junio C Hamano | 03 August 2015, 17:41:31 UTC | Merge branch 'mh/reporting-broken-refs-from-for-each-ref' into maint "git for-each-ref" reported "missing object" for 0{40} when it encounters a broken ref. The lack of object whose name is 0{40} is not the problem; the ref being broken is. * mh/reporting-broken-refs-from-for-each-ref: read_loose_refs(): treat NULL_SHA1 loose references as broken read_loose_refs(): simplify function logic for-each-ref: report broken references correctly t6301: new tests of for-each-ref error handling | 03 August 2015, 17:41:31 UTC |
a94594d | Junio C Hamano | 03 August 2015, 17:41:30 UTC | Merge branch 'sg/commit-cleanup-scissors' into maint "git commit --cleanup=scissors" was not careful enough to protect against getting fooled by a line that looked like scissors. * sg/commit-cleanup-scissors: commit: cope with scissors lines in commit message | 03 August 2015, 17:41:30 UTC |
7687252 | David Turner | 31 July 2015, 17:35:01 UTC | untracked-cache: support sparse checkout Remove a check that would disable the untracked cache for sparse checkouts. Add tests that ensure that the untracked cache works with sparse checkouts -- specifically considering the case that a file foo/bar is checked out, but foo/.gitignore is not. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 July 2015, 17:56:18 UTC |
45abdee | Stefan Beller | 31 July 2015, 00:19:16 UTC | add: remove dead code Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 July 2015, 15:49:33 UTC |
22d6857 | Matthieu Moy | 30 July 2015, 20:40:03 UTC | pull.sh: quote $upload_pack when passing it to git-fetch The previous code broke for example git pull --upload-pack 'echo --foo' Reported-by: Joey Hess <id@joeyh.name> Fix-suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2015, 21:14:32 UTC |
14691e3 | Stefan Beller | 29 July 2015, 20:18:37 UTC | parse-options: align curly braces for all options Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 July 2015, 20:31:51 UTC |
bc598c3 | Michael Haggerty | 28 July 2015, 21:08:21 UTC | get_remote_group(): use skip_prefix() Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 21:39:26 UTC |
5f65499 | Michael Haggerty | 28 July 2015, 21:08:20 UTC | get_remote_group(): eliminate superfluous call to strcspn() There is no need to call it if value is the empty string. This also eliminates code duplication. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 21:39:24 UTC |
e286542 | Michael Haggerty | 28 July 2015, 21:08:19 UTC | get_remote_group(): rename local variable "space" to "wordlen" Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 21:39:21 UTC |
c26f7d7 | Michael Haggerty | 28 July 2015, 21:08:18 UTC | get_remote_group(): handle remotes with single-character names The code for splitting a whitespace-separated list of values in "remotes.<name>" had an off-by-one error that caused it to skip over remotes whose names consist of a single character. Also remove unnecessary braces. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 21:39:10 UTC |
1c601af | Eric Sunshine | 28 July 2015, 20:06:15 UTC | Documentation/git-tools: retire manually-maintained list When Git was young, people looking for third-party Git-related tools came to the Git project itself to find them, so it made sense to maintain a list of tools here. These days, however, search engines fill that role much more efficiently, so retire the manually-maintained list. The list of front-ends and tools on the Git wiki rates perhaps a distant second to search engines, and may still have value, so retain a reference to it. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 20:21:59 UTC |
dd7961c | Eric Sunshine | 28 July 2015, 20:06:14 UTC | Documentation/git-tools: drop references to defunct tools Cogito -- unmaintained since late 2006[1] pg -- URL dead; web searches reveal no information quilt2git -- URL dead; web searches reveal no information (h)gct -- URL dead; no repository activity since 2007[2] [1]: http://git.or.cz/cogito/ [2]: http://repo.or.cz/w/hgct.git Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 20:21:42 UTC |
e810f93 | Eric Sunshine | 28 July 2015, 20:06:13 UTC | Documentation/git-tools: fix item text formatting Descriptive text for each tool item is incorrectly formatted using a fixed width font. Fix formatting to use a variable width font by unindenting the item text. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 20:21:13 UTC |
fd8c620 | Eric Sunshine | 28 July 2015, 20:06:12 UTC | Documentation/git-tools: improve discoverability of Git wiki These days, the best way to find Git-related tools is via a search engine. The Git wiki may be a distant second, and git-tools.txt falls in last place. Therefore, promote the Git wiki reference to the top of git-tools.txt so the reader will encounter it first, rather than hiding it away at the very bottom. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 20:20:51 UTC |
da4c5ad | Thomas Ackermann | 28 July 2015, 17:45:14 UTC | typofix for index-format.txt Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2015, 18:05:41 UTC |
a17c56c | Junio C Hamano | 27 July 2015, 19:29:47 UTC | Git 2.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 July 2015, 19:29:47 UTC |
7a2c87b | Junio C Hamano | 27 July 2015, 19:26:36 UTC | Sync with 2.4.7 | 27 July 2015, 19:26:40 UTC |
ca00f80 | Junio C Hamano | 27 July 2015, 19:25:42 UTC | Git 2.4.7 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 July 2015, 19:25:42 UTC |
caac7a3 | Junio C Hamano | 27 July 2015, 19:21:48 UTC | Merge branch 'jk/pretty-encoding-doc' into maint Doc update. * jk/pretty-encoding-doc: docs: clarify that --encoding can produce invalid sequences | 27 July 2015, 19:21:48 UTC |
ff132a1 | Junio C Hamano | 27 July 2015, 19:21:47 UTC | Merge branch 'tb/checkout-doc' into maint Doc update. * tb/checkout-doc: git-checkout.txt: document "git checkout <pathspec>" better | 27 July 2015, 19:21:47 UTC |
3afcec9 | Junio C Hamano | 27 July 2015, 19:21:47 UTC | Merge branch 'ls/hint-rev-list-count' into maint * ls/hint-rev-list-count: rev-list: add --count to usage guide | 27 July 2015, 19:21:47 UTC |
315b3ba | Junio C Hamano | 27 July 2015, 19:21:46 UTC | Merge branch 'mm/branch-doc-updates' into maint * mm/branch-doc-updates: Documentation/branch: document -M and -D in terms of --force Documentation/branch: document -d --force and -m --force | 27 July 2015, 19:21:46 UTC |
bde6a72 | Junio C Hamano | 27 July 2015, 19:21:45 UTC | Merge branch 'jc/fsck-retire-require-eoh' into maint A fix to a minor regression to "git fsck" in v2.2 era that started complaining about a body-less tag object when it lacks a separator empty line after its header to separate it with a non-existent body. * jc/fsck-retire-require-eoh: fsck: it is OK for a tag and a commit to lack the body | 27 July 2015, 19:21:46 UTC |
c185936 | Junio C Hamano | 27 July 2015, 19:21:44 UTC | Merge branch 'et/http-proxyauth' into maint We used to ask libCURL to use the most secure authentication method available when talking to an HTTP proxy only when we were told to talk to one via configuration variables. We now ask libCURL to always use the most secure authentication method, because the user can tell libCURL to use an HTTP proxy via an environment variable without using configuration variables. * et/http-proxyauth: http: always use any proxy auth method available | 27 July 2015, 19:21:44 UTC |
342c14d | Junio C Hamano | 27 July 2015, 19:21:43 UTC | Merge branch 'jc/unexport-git-pager-in-use-in-pager' into maint When you say "!<ENTER>" while running say "git log", you'd confuse yourself in the resulting shell, that may look as if you took control back to the original shell you spawned "git log" from but that isn't what is happening. To that new shell, we leaked GIT_PAGER_IN_USE environment variable that was meant as a local communication between the original "Git" and subprocesses that was spawned by it after we launched the pager, which caused many "interesting" things to happen, e.g. "git diff | cat" still paints its output in color by default. Stop leaking that environment variable to the pager's half of the fork; we only need it on "Git" side when we spawn the pager. * jc/unexport-git-pager-in-use-in-pager: pager: do not leak "GIT_PAGER_IN_USE" to the pager | 27 July 2015, 19:21:44 UTC |
3b175fb | Junio C Hamano | 27 July 2015, 19:21:43 UTC | Merge branch 'mh/strbuf-read-file-returns-ssize-t' into maint Avoid possible ssize_t to int truncation. * mh/strbuf-read-file-returns-ssize-t: strbuf: strbuf_read_file() should return ssize_t | 27 July 2015, 19:21:43 UTC |
6f402a9 | Junio C Hamano | 27 July 2015, 19:21:42 UTC | Merge branch 'kb/config-unmap-before-renaming' into maint "git config" failed to update the configuration file when the underlying filesystem is incapable of renaming a file that is still open. * kb/config-unmap-before-renaming: config.c: fix writing config files on Windows network shares | 27 July 2015, 19:21:42 UTC |
726359b | Junio C Hamano | 27 July 2015, 19:21:42 UTC | Merge branch 'jk/rev-list-no-bitmap-while-pruning' into maint A minor bugfix when pack bitmap is used with "rev-list --count". * jk/rev-list-no-bitmap-while-pruning: rev-list: disable --use-bitmap-index when pruning commits | 27 July 2015, 19:21:42 UTC |
aa0b816 | Junio C Hamano | 27 July 2015, 19:21:41 UTC | Merge branch 'rh/test-color-avoid-terminfo-in-original-home' into maint An ancient test framework enhancement to allow color was not entirely correct; this makes it work even when tput needs to read from the ~/.terminfo under the user's real HOME directory. * rh/test-color-avoid-terminfo-in-original-home: test-lib.sh: fix color support when tput needs ~/.terminfo Revert "test-lib.sh: do tests for color support after changing HOME" | 27 July 2015, 19:21:41 UTC |
7c69600 | Junio C Hamano | 27 July 2015, 19:21:40 UTC | Merge branch 'jk/fix-refresh-utime' into maint Fix a small bug in our use of umask() return value. * jk/fix-refresh-utime: check_and_freshen_file: fix reversed success-check | 27 July 2015, 19:21:40 UTC |
3f8b439 | Junio C Hamano | 27 July 2015, 19:21:39 UTC | Merge branch 'cb/rebase-am-exit-code' into maint "git rebase" did not exit with failure when format-patch it invoked failed for whatever reason. * cb/rebase-am-exit-code: rebase: return non-zero error code if format-patch fails | 27 July 2015, 19:21:39 UTC |
de62fe8 | Junio C Hamano | 27 July 2015, 19:21:38 UTC | Merge branch 'jk/index-pack-reduce-recheck' into maint Disable "have we lost a race with competing repack?" check while receiving a huge object transfer that runs index-pack. * jk/index-pack-reduce-recheck: index-pack: avoid excessive re-reading of pack directory | 27 July 2015, 19:21:38 UTC |
f25b98e | Eric Sunshine | 24 July 2015, 04:00:54 UTC | Documentation/git: drop outdated Cogito reference Cogito hasn't been maintained since late 2006, so drop the reference to it. The warning that SCMS front-ends might override listed environment variables, however, may still be valuable, so keep it but generalize the wording. Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 July 2015, 17:47:11 UTC |
6f9504c | Junio C Hamano | 24 July 2015, 21:31:23 UTC | RelNotes: am.threeWay does not exist (yet) Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2015, 21:31:23 UTC |
15dc5b5 | Junio C Hamano | 24 July 2015, 17:55:24 UTC | Revert "git-am: add am.threeWay config variable" This reverts commit d96a275b91bae1800cd43be0651e886e7e042a17. It used to be possible to apply a patch series with "git am mbox" and then only after seeing a failure, switch to three-way mode via "git am -3" (no other options or arguments). The commit being reverted broke this workflow. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2015, 17:55:24 UTC |
e7aac44 | David Aguilar | 22 July 2015, 00:01:02 UTC | contrib/subtree: ignore log.date configuration git-subtree's log format string uses "%ad" and "%cd", which respect the user's configured log.date value. This is problematic for git-subtree because it needs to use real dates so that copied commits come through unchanged. Add a test and tweak the format strings to use %aD and %cD so that the default date format is used instead. Reported-by: Bryan Jacobs <b@q3q.us> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 July 2015, 22:08:41 UTC |
b112b14 | Jiang Xin | 22 July 2015, 01:49:40 UTC | receive-pack: crash when checking with non-exist HEAD If HEAD of a repository points to a conflict reference, such as: * There exist a reference named 'refs/heads/jx/feature1', but HEAD points to 'refs/heads/jx', or * There exist a reference named 'refs/heads/feature', but HEAD points to 'refs/heads/feature/bad'. When we push to delete a reference for this repo, such as: git push /path/to/bad-head-repo.git :some/good/reference The git-receive-pack process will crash. This is because if HEAD points to a conflict reference, the function `resolve_refdup("HEAD", ...)` does not return a valid reference name, but a null buffer. Later matching the delete reference against the null buffer will cause git-receive-pack crash. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 July 2015, 21:18:22 UTC |
d830d39 | Junio C Hamano | 21 July 2015, 22:06:43 UTC | builtin/send-pack.c: respect user.signingkey When git-send-pack is exec'ed, as is done by git-remote-http, it does not read the config, and configured value of user.signingkey is ignored. Thus it was impossible to specify a signing key over HTTP, other than the default key in the keyring having a User ID matching the "Name <email>" format. This patch at least partially fixes the problem by reading in the GPG config from within send-pack. It does not address the related problem of plumbing a value for this configuration option using `git -c user.signingkey push ...`. Signed-off-by: Dave Borowitz <dborowitz@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 July 2015, 22:24:27 UTC |
f99a38c | Junio C Hamano | 21 July 2015, 21:11:54 UTC | Git 2.5.0-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 July 2015, 21:11:54 UTC |
7d78241 | David Turner | 17 July 2015, 21:19:27 UTC | unpack-trees: don't update files with CE_WT_REMOVE set Don't update files in the worktree from cache entries which are flagged with CE_WT_REMOVE. When a user does a sparse checkout, git removes files that are marked with CE_WT_REMOVE (because they are out-of-scope for the sparse checkout). If those files are also marked CE_UPDATE (for instance, because they differ in the branch that is being checked out and the outgoing branch), git would previously recreate them. This patch prevents them from being recreated. These erroneously-created files would also interfere with merges, causing pre-merge revisions of out-of-scope files to appear in the worktree. apply_sparse_checkout() is the function where all "action" manipulation (add, delete, update files..) for sparse checkout occurs; it should not ask to delete and update both at the same time. Signed-off-by: Anatole Shaw <git-devel@omni.poc.net> Signed-off-by: David Turner <dturner@twopensource.com> Helped-by: Duy Nguyen <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 July 2015, 20:19:20 UTC |
c5918ab | Junio C Hamano | 21 July 2015, 19:45:27 UTC | Merge branch 'tf/gitweb-typofix' * tf/gitweb-typofix: gitweb: fix typo in man page | 21 July 2015, 19:45:27 UTC |
83d3330 | Junio C Hamano | 21 July 2015, 17:27:33 UTC | Merge tag 'l10n-2.5.0-rnd2' of git://github.com/git-l10n/git-po l10n-2.5.0-rnd2 * tag 'l10n-2.5.0-rnd2' of git://github.com/git-l10n/git-po: l10n: ca.po: update translation l10n: de.po: translate 9 new messages l10n: Updated Bulgarian translation of git (2359t,0f,0u) l10n: zh_CN: for git v2.5.0 l10n round 2 l10n: sv.po: Update Swedish translation (2359t0f0u) l10n: fr v2.5.0 round 2 (2359t) l10n: ru.po: update Russian translation l10n: Updated Vietnamese translation (2359t) l10n: git.pot: v2.5.0 round 2 (9 new, 5 removed) | 21 July 2015, 17:27:33 UTC |
cdab3ca | Alex Henrie | 20 July 2015, 17:54:40 UTC | l10n: ca.po: update translation Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> | 20 July 2015, 17:54:40 UTC |
100e433 | Charles Bailey | 17 July 2015, 17:09:41 UTC | untracked: fix detection of uname(2) failure According to POSIX specification uname(2) must return -1 on failure and a non-negative value on success. Although many implementations do return 0 on success it is valid to return any positive value for success. In particular, Solaris returns 1. Signed-off-by: Charles Bailey <cbailey32@bloomberg.net> Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 July 2015, 21:39:59 UTC |
fbdeabf | Junio C Hamano | 17 July 2015, 17:44:56 UTC | Merge branch 'jk/still-interesting' Code clean-up. * jk/still-interesting: revision.c: remove unneeded check for NULL | 17 July 2015, 17:44:56 UTC |
4d9f744 | Junio C Hamano | 17 July 2015, 17:44:54 UTC | Merge branch 'es/worktree-add' Update to the "linked checkout" in 2.5.0-rc1. Instead of "checkout --to" that does not do what "checkout" normally does, move the functionality to "git worktree add". As this makes the end-user experience of the "worktree add" more or less complete, I am tempted to say we should cook the other topic that removes the internal "new-worktree-mode" hack from "checkout" a bit longer in 'next', and release 2.5 final without that one. * es/worktree-add: Documentation/git: fix stale "MULTIPLE CHECKOUT MODE" reference worktree: caution that this is still experimental Documentation/git-worktree: fix stale "git checkout --to" references | 17 July 2015, 17:44:55 UTC |
1eaca7a | Eric Sunshine | 17 July 2015, 00:17:02 UTC | Documentation/git: fix stale "MULTIPLE CHECKOUT MODE" reference This should have been changed by 93a3649 (Documentation: move linked worktree description from checkout to worktree, 2015-07-06). Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 July 2015, 17:05:36 UTC |
18b22db | Junio C Hamano | 16 July 2015, 22:59:48 UTC | worktree: caution that this is still experimental Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 July 2015, 22:59:48 UTC |
4d5a3c5 | Eric Sunshine | 16 July 2015, 22:09:43 UTC | Documentation/git-worktree: fix stale "git checkout --to" references These should have been changed to "git worktree add" by fc56361 (worktree: introduce "add" command, 2015-07-06. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 July 2015, 22:59:17 UTC |
01d597f | Jiang Xin | 15 July 2015, 23:44:43 UTC | Merge branch 'master' of https://github.com/ralfth/git-po-de * 'master' of https://github.com/ralfth/git-po-de: l10n: de.po: translate 9 new messages | 15 July 2015, 23:44:43 UTC |
6003e7f | Junio C Hamano | 15 July 2015, 19:32:37 UTC | Sync with 2.4.6 | 15 July 2015, 19:32:37 UTC |
bb3e7b1 | Junio C Hamano | 15 July 2015, 18:45:42 UTC | Git 2.4.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 July 2015, 19:31:07 UTC |
abecdde | Junio C Hamano | 15 July 2015, 19:30:14 UTC | Merge branch 'jc/diff-ws-error-highlight' A hotfix to a new feature in 2.5.0-rc. * jc/diff-ws-error-highlight: diff: parse ws-error-highlight option more strictly | 15 July 2015, 19:30:14 UTC |
b7abfac | Junio C Hamano | 15 July 2015, 18:41:26 UTC | Merge branch 'mm/describe-doc' into maint Docfix. * mm/describe-doc: Documentation/describe: improve one-line summary | 15 July 2015, 18:41:26 UTC |
51d5980 | Junio C Hamano | 15 July 2015, 18:41:26 UTC | Merge branch 'jc/prompt-document-ps1-state-separator' into maint Docfix. * jc/prompt-document-ps1-state-separator: git-prompt.sh: document GIT_PS1_STATESEPARATOR | 15 July 2015, 18:41:26 UTC |
3f20927 | Junio C Hamano | 15 July 2015, 18:41:24 UTC | Merge branch 'es/osx-header-pollutes-mask-macro' into maint * es/osx-header-pollutes-mask-macro: ewah: use less generic macro name ewah/bitmap: silence warning about MASK macro redefinition | 15 July 2015, 18:41:24 UTC |
71a8af6 | Junio C Hamano | 15 July 2015, 18:41:23 UTC | Merge branch 'es/utf8-stupid-compiler-workaround' into maint A compilation workaround. * es/utf8-stupid-compiler-workaround: utf8: NO_ICONV: silence uninitialized variable warning | 15 July 2015, 18:41:23 UTC |
a15ebbc | Junio C Hamano | 15 July 2015, 18:41:22 UTC | Merge branch 'fk/doc-format-patch-vn' into maint Docfix. * fk/doc-format-patch-vn: doc: format-patch: fix typo | 15 July 2015, 18:41:22 UTC |
e9da4e6 | Junio C Hamano | 15 July 2015, 18:41:21 UTC | Merge branch 'pt/t0302-needs-sanity' into maint * pt/t0302-needs-sanity: t0302: "unreadable" test needs SANITY prereq | 15 July 2015, 18:41:21 UTC |
eca143b | Junio C Hamano | 15 July 2015, 18:41:20 UTC | Merge branch 'me/fetch-into-shallow-safety' into maint "git fetch --depth=<depth>" and "git clone --depth=<depth>" issued a shallow transfer request even to an upload-pack that does not support the capability. * me/fetch-into-shallow-safety: fetch-pack: check for shallow if depth given | 15 July 2015, 18:41:20 UTC |
697f67a | Junio C Hamano | 15 July 2015, 18:41:19 UTC | Merge branch 'mh/fsck-reflog-entries' into maint "git fsck" used to ignore missing or invalid objects recorded in reflog. * mh/fsck-reflog-entries: fsck: report errors if reflog entries point at invalid objects fsck_handle_reflog_sha1(): new function | 15 July 2015, 18:41:19 UTC |
ada9ecd | Junio C Hamano | 15 July 2015, 18:41:18 UTC | Merge branch 'af/tcsh-completion-noclobber' into maint The tcsh completion writes a bash scriptlet but that would have failed for users with noclobber set. * af/tcsh-completion-noclobber: git-completion.tcsh: fix redirect with noclobber | 15 July 2015, 18:41:18 UTC |
7c62118 | Junio C Hamano | 15 July 2015, 18:41:17 UTC | Merge branch 'pa/auto-gc-mac-osx' into maint Recent Mac OS X updates breaks the logic to detect that the machine is on the AC power in the sample pre-auto-gc script. * pa/auto-gc-mac-osx: hooks/pre-auto-gc: adjust power checking for newer OS X | 15 July 2015, 18:41:17 UTC |
93eba05 | Junio C Hamano | 15 July 2015, 18:41:16 UTC | Merge branch 'jc/do-not-feed-tags-to-clear-commit-marks' into maint "git format-patch --ignore-if-upstream A..B" did not like to be fed tags as boundary commits. * jc/do-not-feed-tags-to-clear-commit-marks: format-patch: do not feed tags to clear_commit_marks() | 15 July 2015, 18:41:16 UTC |
f1e80c0 | Ralf Thielow | 14 July 2015, 17:41:07 UTC | l10n: de.po: translate 9 new messages Translate 9 new messages came from git.pot update in a4156d2 (l10n: git.pot: v2.5.0 round 2 (9 new, 5 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Phillip Sz <phillip.szelat@gmail.com> | 15 July 2015, 18:30:52 UTC |
619b8f8 | Alexander Shopov | 14 July 2015, 16:09:55 UTC | l10n: Updated Bulgarian translation of git (2359t,0f,0u) Signed-off-by: Alexander Shopov <ash@kambanaria.org> | 15 July 2015, 17:34:23 UTC |
2d893df | Ilya Bobyr | 14 July 2015, 08:17:44 UTC | rev-parse --parseopt: allow [*=?!] in argument hints A line in the input to "rev-parse --parseopt" describes an option by listing a short and/or long name, optional flags [*=?!], argument hint, and then whitespace and help string. We did not allow any of the [*=?!] characters in the argument hints. The following input pair=key=value equals sign in the hint used to generate a help line like this: --pair=key <value> equals sign in the hint and used to expect "pair=key" as the argument name. That is not very helpful as we generally do not want any of the [*=?!] characters in the argument names. But we do want to use at least the equals sign in the argument hints. Update the parser to make long argument names stop at the first [*=?!] character. Add test case with equals sign in the argument hint and update the test to perform all the operations in test_expect_success matching the t/README requirements and allowing commands like ./t1502-rev-parse-parseopt.sh --run=1-2 to stop at the test case 2 without any further modification of the test state area. Signed-off-by: Ilya Bobyr <ilya.bobyr@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 July 2015, 17:30:54 UTC |
5bb01d4 | Jiang Xin | 13 July 2015, 23:33:09 UTC | l10n: zh_CN: for git v2.5.0 l10n round 2 Update 9 translations (2359t0f0u) for git v2.5.0-rc2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 15 July 2015, 15:21:08 UTC |
e557179 | Peter Krefting | 15 July 2015, 11:54:11 UTC | l10n: sv.po: Update Swedish translation (2359t0f0u) Signed-off-by: Peter Krefting <peter@softwolves.pp.se> | 15 July 2015, 11:54:11 UTC |
297230d | Jiang Xin | 14 July 2015, 23:06:49 UTC | Merge branch 'fr_v2.5.0-round2' of git://github.com/jnavila/git * 'fr_v2.5.0-round2' of git://github.com/jnavila/git: l10n: fr v2.5.0 round 2 (2359t) | 14 July 2015, 23:06:49 UTC |