aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-10-10submodule: ignore trailing slash in relative urlStefan Beller2-0/+3
This is similar to the previous patch, though no user reported a bug and I could not find a regressive behavior. However it is a good thing to be strict on the output and for that we always omit a trailing slash. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-10-10submodule: ignore trailing slash on superproject URLStefan Beller2-2/+5
Before 63e95beb0 (2016-04-15, submodule: port resolve_relative_url from shell to C), it did not matter if the superprojects URL had a trailing slash or not. It was just chopped off as one of the first steps (The "remoteurl=${remoteurl%/}" near the beginning of resolve_relative_url(), which was removed in said commit). When porting this to the C version, an off-by-one error was introduced and we did not check the actual last character to be a slash, but the NULL delimiter. Reintroduce the behavior from before 63e95beb0, to ignore the trailing slash. Reported-by: <venv21@gmail.com> Helped-by: Dennis Kaarsemaker <dennis@kaarsemaker.net> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-05-03submodule init: redirect stdout to stderrStefan Beller2-7/+20
Reroute the output of stdout to stderr as it is just informative messages, not to be consumed by machines. This should not regress any scripts that try to parse the current output, as the output is already internationalized and therefore unstable. We want to init submodules from the helper for `submodule update` in a later patch and the stdout output of said helper is consumed by the parts of `submodule update` which are still written in shell. So we have to be careful which messages are on stdout. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-29submodule--helper update-clone: abort gracefully on missing .gitmodulesStefan Beller2-13/+33
When there is no .gitmodules file availabe to initialize a submodule from, `submodule_from_path` just returns NULL. We need to check for that and abort gracefully. When `git submodule update` was implemented in shell, this error out with the warning Submodule path '%s' not initialized Maybe you want to use 'update --init'? Replicate that behavior for now instead of crashing. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-29submodule init: fail gracefully with a missing .gitmodules fileStefan Beller2-3/+15
When there is no .gitmodules file availabe to initialize a submodule from, `submodule_from_path` just returns NULL. We need to check for that and abort gracefully. When `submodule init` was implemented in shell, a missing .gitmodules file would result in an error message No url found for submodule path '%s' in .gitmodules Replicate that error message for now. When the .gitmodules file is missing we can probably fail even earlier for all of the submodules with an improved error message. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-16submodule: port init from shell to CStefan Beller4-45/+140
By having the `submodule init` functionality in C, we can reference it easier from other parts in the code in later patches. The code is split up to have one function to initialize one submodule and a calling function that takes care of the rest, such as argument handling and translating the arguments to the paths of the submodules. This is the first submodule subcommand that is fully converted to C except for the usage string, so this is actually removing a call to the `submodule--helper list` function, which is supposed to be used in this transition. Instead we'll make a direct call to `module_list_compute`. An explanation why we need to edit the prefixes in cmd_update in git-submodule.sh in this patch: By having no processing in the shell part, we need to convey the notion of wt_prefix and prefix to the C parts, which former patches punted on and did the processing of displaying path in the shell. `wt_prefix` used to hold the path from the repository root to the current directory, e.g. wt_prefix would be t/ if the user invoked the `git submodule` command in ~/repo/t and ~repo is the GIT_DIR. `prefix` used to hold the relative path from the repository root to the operation, e.g. if you have recursive submodules, the shell script would modify the `prefix` in each recursive step by adding the submodule path. We will pass `wt_prefix` into the C helper via `git -C <dir>` as that will setup git in the directory the user actually called git-submodule.sh from. The `prefix` will be passed in via the `--prefix` option. Having `prefix` and `wt_prefix` relative to the GIT_DIR of the calling superproject is unfortunate with this patch as the C code doesn't know about a possible recursion from a superproject via `submodule update --init --recursive`. To fix this, we change the meaning of `wt_prefix` to point to the current project instead of the superproject and `prefix` to include any relative paths issues in the superproject. That way `prefix` will become the leading part for displaying paths and `wt_prefix` will be empty in recursive calls for now. The new notion of `wt_prefix` and `prefix` still allows us to reconstruct the calling directory in the superproject by just traveling reverse of `prefix`. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-16submodule: port resolve_relative_url from shell to CStefan Beller3-78/+258
Later on we want to automatically call `git submodule init` from other commands, such that the users don't have to initialize the submodule themselves. As these other commands are written in C already, we'd need the init functionality in C, too. The `resolve_relative_url` function is a large part of that init functionality, so start by porting this function to C. To create the tests in t0060, the function `resolve_relative_url` was temporarily enhanced to write all inputs and output to disk when running the test suite. The added tests in this patch are a small selection thereof. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-14Merge branch 'sb/submodule-path-misc-bugs' into sb/submodule-initJunio C Hamano461-26356/+54828
"git submodule" reports the paths of submodules the command recurses into, but this was incorrect when the command was not run from the root level of the superproject. Any further comments? Otherwise will merge to 'next'. * sb/submodule-path-misc-bugs: (600 commits) t7407: make expectation as clear as possible submodule update: test recursive path reporting from subdirectory submodule update: align reporting path for custom command execution submodule status: correct path handling in recursive submodules submodule update --init: correct path handling in recursive submodules submodule foreach: correct path display in recursive submodules Git 2.8 Documentation: fix git-p4 AsciiDoc formatting mingw: skip some tests in t9115 due to file name issues t1300: fix the new --show-origin tests on Windows t1300-repo-config: make it resilient to being run via 'sh -x' config --show-origin: report paths with forward slashes submodule: fix regression for deinit without submodules l10n: pt_PT: Update and add new translations l10n: ca.po: update translation Git 2.8-rc4 Documentation: fix broken linkgit to git-config Documentation: use ASCII quotation marks in git-p4 Revert "config.mak.uname: use clang for Mac OS X 10.6" git-compat-util: st_add4: work around gcc 4.2.x compiler crash ...
2016-04-14Merge branch 'sb/submodule-helper-clone-regression-fix' into sb/submodule-initJunio C Hamano2-23/+59
* sb/submodule-helper-clone-regression-fix: submodule--helper, module_clone: catch fprintf failure submodule--helper: do not borrow absolute_path() result for too long submodule--helper, module_clone: always operate on absolute paths submodule--helper clone: create the submodule path just once submodule--helper: fix potential NULL-dereference recursive submodules: test for relative paths
2016-04-01submodule--helper, module_clone: catch fprintf failureStefan Beller1-2/+2
The return value of fprintf is unchecked, which may lead to unreported errors. Use fprintf_or_die to report the error to the user. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-01submodule--helper: do not borrow absolute_path() result for too longJunio C Hamano1-5/+4
absolute_path() is designed to allow its callers to take a brief peek of the result (typically, to be fed to functions like strbuf_add() and relative_path() as a parameter) without having to worry about freeing it, but the other side of the coin of that memory model is that the caller shouldn't rely too much on the result living forever--there may be a helper function the caller subsequently calls that makes its own call to absolute_path(), invalidating the earlier result. Use xstrdup() to make our own copy, and free(3) it when we are done. While at it, remove an unnecessary sm_gitdir_rel variable that was only used to as a parameter to call absolute_path() and never used again. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-01submodule--helper, module_clone: always operate on absolute pathsStefan Beller2-15/+15
When giving relative paths to `relative_path` to compute a relative path from one directory to another, this may fail in `relative_path`. Make sure both arguments to `relative_path` are always absolute. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-31submodule--helper clone: create the submodule path just onceStefan Beller1-4/+0
We make sure that the parent directory of path exists (or create it otherwise) and then do the same for path + "/.git". That is equivalent to just making sure that the parent directory of path + "/.git" exists (or create it otherwise). Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-31submodule--helper: fix potential NULL-dereferenceStefan Beller1-4/+4
Don't dereference NULL 'path' if it was never assigned. Also protect against an empty --path argument. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-31recursive submodules: test for relative pathsStefan Beller1-0/+41
"git submodule update --init --recursive" uses full path to refer to the true location of the repository in the "gitdir:" pointer for nested submodules; the command used to use relative paths. This was reported by Norio Nomura in $gmane/290280. The root cause for that bug is in using recursive submodules as their relative path handling was broken in ee8838d (2015-09-08, submodule: rewrite `module_clone` shell function in C). Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-30t7407: make expectation as clear as possibleStefan Beller1-2/+6
Not everyone (including me) grasps the sed expression in a split second as they would grasp the 4 lines printed as is. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-30submodule update: test recursive path reporting from subdirectoryStefan Beller1-0/+20
This patch is just a test and fixes no bug as there is currently no bug in the path handling of `submodule update`. In `submodule update` we make a call to `submodule--helper list --prefix "$wt_prefix"` which looks a bit brittle and likely to introduce a bug for the path handling. It is not a bug as the prefix is ignored inside the submodule helper for now. If this test breaks eventually, we want to make sure the `wt_prefix` is passed correctly into recursive submodules. Hint: In recursive submodules we expect `wt_prefix` to be empty. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-30submodule update: align reporting path for custom command executionStefan Beller2-5/+28
In the predefined actions (merge, rebase, none, checkout), we use the display path, which is relative to the current working directory. Also use the display path when running a custom command. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-30submodule status: correct path handling in recursive submodulesStefan Beller2-0/+22
The new test which is a replica of the previous test except that it executes from a sub directory. Prior to this patch the test failed by having too many '../' prefixed: --- expect 2016-03-29 19:02:33.087336115 +0000 +++ actual 2016-03-29 19:02:33.359343311 +0000 @@ -1,7 +1,7 @@ b23f134787d96fae589a6b76da41f4db112fc8db ../nested1 (heads/master) -+25d56d1ddfb35c3e91ff7d8f12331c2e53147dcc ../nested1/nested2 (file2) - 5ec83512b76a0b8170b899f8e643913c3e9b72d9 ../nested1/nested2/nested3 (heads/master) - 509f622a4f36a3e472affcf28fa959174f3dd5b5 ../nested1/nested2/nested3/submodule (heads/master) ++25d56d1ddfb35c3e91ff7d8f12331c2e53147dcc ../../nested1/nested2 (file2) + 5ec83512b76a0b8170b899f8e643913c3e9b72d9 ../../../nested1/nested2/nested3 (heads/master) + 509f622a4f36a3e472affcf28fa959174f3dd5b5 ../../../../nested1/nested2/nested3/submodule (heads/master) 0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f ../sub1 (0c90624) 0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f ../sub2 (0c90624) 509f622a4f36a3e472affcf28fa959174f3dd5b5 ../sub3 (heads/master) The path code in question: displaypath=$(relative_path "$prefix$sm_path") prefix=$displaypath if recursive: eval cmd_status That way we change `prefix` each iteration to contain another '../', because of the the relative_path computation is done on an already computed relative path. We must call relative_path exactly once with `wt_prefix` non empty. Further calls in recursive instances to to calculate the displaypath already incorporate the correct prefix from before. Fix the issue by clearing `wt_prefix` in recursive calls. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-30submodule update --init: correct path handling in recursive submodulesStefan Beller2-1/+34
When calling `git submodule init` from a recursive instance of `git submodule update --recursive`, the reported path is wrong as it skips the nested submodules. The new test demonstrates a failure in the code prior to this patch. Instead of getting the expected Submodule 'submodule' (${pwd}/submodule) registered for path '../super/submodule' the `super` directory is omitted and you get Submodule 'submodule' (${pwd}/submodule) registered for path '../submodule' instead. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-30submodule foreach: correct path display in recursive submodulesStefan Beller2-3/+23
The `prefix` was put in front of the display path unconditionally. This is wrong as any relative path computation would need to be at the front, so include the prefix into the display path. The new test replicates the previous test with the difference of executing from a sub directory. By executing from a sub directory all we would expect all displayed paths to be prefixed by '../'. Prior to this patch the test would report Entering 'nested1/nested2/../nested3' instead of the expected Entering '../nested1/nested2/nested3' Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-28Git 2.8v2.8.0Junio C Hamano3-9/+14
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-24Merge branch 'ls/p4-doc-markup'Junio C Hamano1-6/+4
* ls/p4-doc-markup: Documentation: fix git-p4 AsciiDoc formatting Documentation: use ASCII quotation marks in git-p4
2016-03-24Merge branch 'js/mingw-tests-2.8'Junio C Hamano4-11/+19
* js/mingw-tests-2.8: mingw: skip some tests in t9115 due to file name issues t1300: fix the new --show-origin tests on Windows t1300-repo-config: make it resilient to being run via 'sh -x' config --show-origin: report paths with forward slashes
2016-03-24Merge branch 'sb/submodule-module-list-pathspec-fix'Junio C Hamano2-3/+16
A fix for a small regression in "module_list" helper that was rewritten in C (also applies to 2.7.x). * sb/submodule-module-list-pathspec-fix: submodule: fix regression for deinit without submodules
2016-03-23Merge branch 'master' of git://github.com/git-l10n/git-poJunio C Hamano3-3761/+11533
* 'master' of git://github.com/git-l10n/git-po: l10n: pt_PT: Update and add new translations l10n: ca.po: update translation l10n: vi.po (2530t): Update translation
2016-03-23Documentation: fix git-p4 AsciiDoc formattingLars Schneider1-5/+3
Noticed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23mingw: skip some tests in t9115 due to file name issuesJohannes Schindelin1-2/+2
These two tests wanted to write file names which are incompatible with Windows' file naming rules (even if they pass using Cygwin due to Cygwin's magic path mangling). While at it, skip the same tests also on MacOSX/HFS, as pointed out by Torsten Bögershausen. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Torsten Bögershausen <tboegi@web.de> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23t1300: fix the new --show-origin tests on WindowsJohannes Schindelin1-3/+6
On Windows, we have that funny situation where the test script can refer to POSIX paths because it runs in a shell that uses a POSIX emulation layer ("MSYS2 runtime"). Yet, git.exe does *not* understand POSIX paths at all but only pure Windows paths. So let's just convert the POSIX paths to Windows paths before passing them on to Git, using `pwd` (which is already modified on Windows to output Windows paths). While fixing the new tests on Windows, we also have to exclude the tests that want to write a file with a name that is illegal on Windows (unfortunately, there is more than one test trying to make use of that file). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23t1300-repo-config: make it resilient to being run via 'sh -x'Johannes Schindelin1-6/+2
One way to diagnose broken regression tests is to run the test script using 'sh -x t... -i -v' to find out which call actually demonstrates the symptom. Hence it is pretty counterproductive if the test script behaves differently when being run via 'sh -x', in particular when using test_cmp or test_i18ncmp on redirected stderr. A more recent way "sh tXXXX -i -v -x" has the same issue. So let's use test_i18ngrep (as suggested by Jonathan Nieder) instead of test_cmp/test_i18ncmp to verify that stderr looks as expected. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23config --show-origin: report paths with forward slashesJohannes Schindelin2-0/+9
On Windows, the backslash is the native directory separator, but all supported Windows versions also accept the forward slash in most circumstances. Our tests expect forward slashes. Relative paths are generated by Git using forward slashes. So let's try to be consistent and use forward slashes in the $HOME part of the paths reported by `git config --show-origin`, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23Merge branch 'master' of https://github.com/vnwildman/gitJiang Xin1-30/+125
* 'master' of https://github.com/vnwildman/git: l10n: vi.po (2530t): Update translation
2016-03-23Merge branch 'master' of git://github.com/alexhenrie/git-poJiang Xin1-1365/+1581
* 'master' of git://github.com/alexhenrie/git-po: l10n: ca.po: update translation
2016-03-22submodule: fix regression for deinit without submodulesStefan Beller2-3/+16
Per Cederqvist wrote: > It used to be possible to run > > git submodule deinit -f . > > to remove any submodules, no matter how many submodules you had. That > is no longer possible in projects that don't have any submodules at > all. The command will fail with: > > error: pathspec '.' did not match any file(s) known to git. This regression was introduced in 74703a1e4dfc (submodule: rewrite `module_list` shell function in C, 2015-09-02), as we changed the order of checking in new module listing to first check whether it is a gitlin before feeding it to match_pathspec(). It used to be that a pathspec that does not match any path were diagnosed as an error, but the new code complains for a pathspec that does not match any submodule path. Arguably the new behaviour may give us a better diagnosis, but that is inconsistent with the suggestion "deinit" gives, and also this was an unintended accident. The new behaviour hopefully can be redesigned and implemented better in future releases, but for now, switch these two checks to restore the same behavior as before. In an empty repository, giving the pathspec '.' will still get the same "did not match" error, but that is the same bug we had before 1.7.0. Reported-by: Per Cederqvist <cederp@opera.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-22l10n: pt_PT: Update and add new translationsVasco Almeida1-2366/+9827
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
2016-03-21l10n: ca.po: update translationAlex Henrie1-1365/+1581
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2016-03-21Git 2.8-rc4v2.8.0-rc4Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-21Sync with maintJunio C Hamano2-3/+3
* maint: Documentation: fix broken linkgit to git-config git-compat-util: st_add4: work around gcc 4.2.x compiler crash
2016-03-21Merge branch 'mm/doc-hooks-linkgit-fix' into maintJunio C Hamano1-1/+1
* mm/doc-hooks-linkgit-fix: Documentation: fix broken linkgit to git-config
2016-03-21Documentation: fix broken linkgit to git-configMatthieu Moy1-1/+1
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-21Documentation: use ASCII quotation marks in git-p4Lars Schneider1-1/+1
Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-21Merge branch 'tb/avoid-gcc-on-darwin-10-6'Junio C Hamano1-3/+0
* tb/avoid-gcc-on-darwin-10-6: Revert "config.mak.uname: use clang for Mac OS X 10.6"
2016-03-21Revert "config.mak.uname: use clang for Mac OS X 10.6"Eric Sunshine1-3/+0
This reverts commit 7b6daf8d2fee1a9866b1d4eddbfaa5dbc42c5dbb. Now that st_add4() has been patched to work around the gcc 4.2.x compiler crash, revert the sledge-hammer approach of forcing Mac OS X 10.6 to unconditionally use 'clang' rather than the default compiler (gcc). Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-21Merge branch 'es/st-add4-gcc-4.2-workaround' into maintJunio C Hamano1-2/+2
* es/st-add4-gcc-4.2-workaround: git-compat-util: st_add4: work around gcc 4.2.x compiler crash
2016-03-21git-compat-util: st_add4: work around gcc 4.2.x compiler crashEric Sunshine1-2/+2
Although changes by 5b442c4 (tree-diff: catch integer overflow in combine_diff_path allocation, 2016-02-19) are perfectly valid, they unfortunately trigger an internal compiler error in gcc 4.2.x: combine-diff.c: In function 'diff_tree_combined': combine-diff.c:1391: internal compiler error: Segmentation fault: 11 Experimentation reveals that changing st_add4()'s argument evaluation order is sufficient to sidestep this problem. Although st_add3() does not trigger the compiler bug, for style consistency, change its argument evaluation order to match. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-20Merge tag 'l10n-2.8.0-rnd3' of git://github.com/git-l10n/git-poJunio C Hamano6-82/+283
l10n-2.8.0-rnd3 * tag 'l10n-2.8.0-rnd3' of git://github.com/git-l10n/git-po: l10n: zh_CN: review for git v2.8.0 l10n round 2 l10n: de.po: add missing newlines l10n: de.po: translate 22 new messages l10n: ko.po: Update Korean translation l10n: fr.po v2.8.0 round 3 l10n: sv.po: Update Swedish translation (2530t0f0u) l10n: ru.po: update Russian translation
2016-03-20Merge branch 'master' of git://ozlabs.org/~paulus/gitkJunio C Hamano4-804/+788
* 'master' of git://ozlabs.org/~paulus/gitk: gitk: Follow themed bgcolor in help dialogs gitk: fr.po: Sync translations with git gitk: Update French translation (311t) gitk: Update German translation gitk: Update Bulgarian translation (311t)
2016-03-21l10n: vi.po (2530t): Update translationTran Ngoc Quan1-30/+125
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2016-03-20l10n: zh_CN: review for git v2.8.0 l10n round 2Ray Chen1-5/+5
Signed-off-by: Ray Chen <oldsharp@gmail.com>
2016-03-19gitk: Follow themed bgcolor in help dialogsGuillermo S. Romero1-4/+4
Make Help > About & Key bindings dialogs readable if theme has changed font color to something incompatible with white. Signed-off-by: Guillermo S. Romero <gsromero@infernal-iceberg.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-19gitk: fr.po: Sync translations with gitJean-Noel Avila1-50/+46
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-19gitk: Update French translation (311t)Jean-Noel Avila1-388/+373
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-19gitk: Update German translationRalf Thielow1-46/+33
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-19gitk: Update Bulgarian translation (311t)Alexander Shopov1-320/+336
Signed-off-by: Alexander Shopov <ash@kambanaria.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-18RelNotes: remove the mention of !reinclusionJunio C Hamano1-5/+0
We will be postponing this to a later cycle. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-18Revert "Merge branch 'nd/exclusion-regression-fix'"Junio C Hamano7-378/+12
This reverts commit 5e57f9c3dfe7dd44a1b56bb5b3327d7a1356ec7c, reversing changes made to e79112d21024beb997951381db21a70b087d459d. We will be postponing nd/exclusion-regression-fix topic to later cycle.
2016-03-18Revert "Merge branch 'jc/exclusion-doc'"Junio C Hamano1-37/+1
This reverts commit e80aae51f2be908e37fca47ea0dff6d7861c8497, reversing changes made to 68846a92eafa6b2bfae778d0a656443a9fa61e59. We will be postponing nd/exclusion-regression-fix topic to later cycle.
2016-03-17Sync with Git 2.7.4Junio C Hamano5-3/+50
* maint: Git 2.7.4 Git 2.6.6 Git 2.5.5 Git 2.4.11
2016-03-17Git 2.7.4v2.7.4Junio C Hamano3-2/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17l10n: de.po: add missing newlinesRalf Thielow1-2/+3
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2016-03-17Sync with Git 2.6.6Junio C Hamano4-3/+39
* maint-2.6: Git 2.6.6 Git 2.5.5 Git 2.4.11
2016-03-17Git 2.6.6v2.6.6Junio C Hamano4-3/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17Merge branch 'maint-2.5' into maint-2.6Junio C Hamano16-148/+110
* maint-2.5: Git 2.5.5 Git 2.4.11 list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-17Git 2.5.5v2.5.5Junio C Hamano4-3/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17Merge branch 'maint-2.4' into maint-2.5Junio C Hamano15-147/+97
* maint-2.4: Git 2.4.11 list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-17Git 2.4.11v2.4.11Junio C Hamano4-3/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17Merge branch 'jk/path-name-safety-2.4' into maint-2.4Junio C Hamano13-146/+84
Bugfix patches were backported from the 'master' front to plug heap corruption holes, to catch integer overflow in the computation of pathname lengths, and to get rid of the name_path API. Both of these would have resulted in writing over an under-allocated buffer when formulating pathnames while tree traversal. * jk/path-name-safety-2.4: list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-17l10n: de.po: translate 22 new messagesRalf Thielow1-37/+136
Translate 22 new messages came from git.pot update in f1522b2 (l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)) and a5a4168 (l10n: git.pot: Add one new message for Git 2.8.0). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Matthias Rüster <matthias.ruester@gmail.com>
2016-03-16Git 2.8-rc3v2.8.0-rc3Junio C Hamano2-1/+18
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-16Merge branch 'master' of git://bogomips.org/git-svnJunio C Hamano2-6/+14
* 'master' of git://bogomips.org/git-svn: git-svn: fix URL canonicalization during init w/ SVN 1.7+ t9117: test specifying full url to git svn init -T
2016-03-16Sync with maintJunio C Hamano0-0/+0
* maint: list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-16Merge branch 'jc/sane-grep'Junio C Hamano5-4/+17
Recent versions of GNU grep is pickier than before to decide if a file is "binary" and refuse to give line-oriented hits when we expect it to, unless explicitly told with "-a" option. As our scripted Porcelains use sane_grep wrapper for line-oriented data, even when the line may contain non-ASCII payload we took from end-user data, use "grep -a" to implement sane_grep wrapper when using an implementation of "grep" that takes the "-a" option. * jc/sane-grep: rebase-i: clarify "is this commit relevant?" test sane_grep: pass "-a" if grep accepts it
2016-03-16Merge branch 'cn/deprecate-ssh-git-url'Junio C Hamano3-5/+6
The two alternative ways to spell "ssh://" transport have been deprecated for a long time. The last mention of them has finally removed from the documentation. * cn/deprecate-ssh-git-url: Disown ssh+git and git+ssh
2016-03-16git-svn: fix URL canonicalization during init w/ SVN 1.7+Eric Wong2-7/+9
URL canonicalization when full URLs are passed became broken when using SVN::_Core::svn_dirent_canonicalize under SVN 1.7. Ensure we canonicalize paths and URLs with appropriate functions for each type from now on as the path/URL-agnostic SVN::_Core::svn_path_canonicalize function is deprecated in SVN. Tested with the following commands: git svn init -T svn://svn.code.sf.net/p/squirrelmail/code/trunk git svn init -b svn://svn.code.sf.net/p/squirrelmail/code/branches Reported-by: Adam Dinwoodie <adam@dinwoodie.org> http://mid.gmane.org/20160315162344.GM29016@dinwoodie.org Signed-off-by: Eric Wong <normalperson@yhbt.net>
2016-03-16Merge branch 'jk/path-name-safety-2.7' into maintJunio C Hamano10-142/+46
* jk/path-name-safety-2.7: list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-16t9117: test specifying full url to git svn init -TAdam Dinwoodie1-0/+6
According to the documentation, full URLs can be specified in the `-T` argument to `git svn init`. However, the canonicalization of such arguments squashes together consecutive "/"s, which unsurprisingly breaks http://, svn://, etc URLs. Add a failing test case to provide evidence of that. On systems where Subversion provides svn_path_canonicalize but not svn_dirent_canonicalize (Subversion 1.6 and earlier?), this test passes, as svn_path_canonicalize doesn't mangle the consecutive "/"s. [ew: fixed whitespace] Signed-off-by: Adam Dinwoodie <adam@dinwoodie.org> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2016-03-16Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7Junio C Hamano10-142/+46
* jk/path-name-safety-2.6: list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-16Merge branch 'jk/path-name-safety-2.5' into jk/path-name-safety-2.6Junio C Hamano13-146/+84
* jk/path-name-safety-2.5: list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-16Merge branch 'jk/path-name-safety-2.4' into jk/path-name-safety-2.5Junio C Hamano13-146/+84
* jk/path-name-safety-2.4: list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-16list-objects: pass full pathname to callbacksJeff King9-58/+26
When we find a blob at "a/b/c", we currently pass this to our show_object_fn callbacks as two components: "a/b/" and "c". Callbacks which want the full value then call path_name(), which concatenates the two. But this is an inefficient interface; the path is a strbuf, and we could simply append "c" to it temporarily, then roll back the length, without creating a new copy. So we could improve this by teaching the callsites of path_name() this trick (and there are only 3). But we can also notice that no callback actually cares about the broken-down representation, and simply pass each callback the full path "a/b/c" as a string. The callback code becomes even simpler, then, as we do not have to worry about freeing an allocated buffer, nor rolling back our modification to the strbuf. This is theoretically less efficient, as some callbacks would not bother to format the final path component. But in practice this is not measurable. Since we use the same strbuf over and over, our work to grow it is amortized, and we really only pay to memcpy a few bytes. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-16list-objects: drop name_path entirelyJeff King9-25/+19
In the previous commit, we left name_path as a thin wrapper around a strbuf. This patch drops it entirely. As a result, every show_object_fn callback needs to be adjusted. However, none of their code needs to be changed at all, because the only use was to pass it to path_name(), which now handles the bare strbuf. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-16list-objects: convert name_path to a strbufJeff King3-36/+15
The "struct name_path" data is examined in only two places: we generate it in process_tree(), and we convert it to a single string in path_name(). Everyone else just passes it through to those functions. We can further note that process_tree() already keeps a single strbuf with the leading tree path, for use with tree_entry_interesting(). Instead of building a separate name_path linked list, let's just use the one we already build in "base". This reduces the amount of code (especially tricky code in path_name() which did not check for integer overflows caused by deep or large pathnames). It is also more efficient in some instances. Any time we were using tree_entry_interesting, we were building up the strbuf anyway, so this is an immediate and obvious win there. In cases where we were not, we trade off storing "pathname/" in a strbuf on the heap for each level of the path, instead of two pointers and an int on the stack (with one pointer into the tree object). On a 64-bit system, the latter is 20 bytes; so if path components are less than that on average, this has lower peak memory usage. In practice it probably doesn't matter either way; we are already holding in memory all of the tree objects leading up to each pathname, and for normal-depth pathnames, we are only talking about hundreds of bytes. This patch leaves "struct name_path" as a thin wrapper around the strbuf, to avoid disrupting callbacks. We should fix them, but leaving it out makes this diff easier to view. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-16show_object_with_name: simplify by using path_name()Jeff King1-34/+6
When "git rev-list" shows an object with its associated path name, it does so by walking the name_path linked list and printing each component (stopping at any embedded NULs or newlines). We'd like to eventually get rid of name_path entirely in favor of a single buffer, and dropping this custom printing code is part of that. As a first step, let's use path_name() to format the list into a single buffer, and print that. This is strictly less efficient than the original, but it's a temporary step in the refactoring; our end game will be to get the fully formatted name in the first place. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-16add helpers for detecting size_t overflowJeff King1-0/+34
Performing computations on size_t variables that we feed to xmalloc and friends can be dangerous, as an integer overflow can cause us to allocate a much smaller chunk than we realized. We already have unsigned_add_overflows(), but let's add unsigned_mult_overflows() to that. Furthermore, rather than have each site manually check and die on overflow, we can provide some helpers that will: - promote the arguments to size_t, so that we know we are doing our computation in the same size of integer that will ultimately be fed to xmalloc - check and die on overflow - return the result so that computations can be done in the parameter list of xmalloc. These functions are a lot uglier to use than normal arithmetic operators (you have to do "st_add(foo, bar)" instead of "foo + bar"). To at least limit the damage, we also provide multi-valued versions. So rather than: st_add(st_add(a, b), st_add(c, d)); you can write: st_add4(a, b, c, d); This isn't nearly as elegant as a varargs function, but it's a lot harder to get it wrong. You don't have to remember to add a sentinel value at the end, and the compiler will complain if you get the number of arguments wrong. This patch adds only the numbered variants required to convert the current code base; we can easily add more later if needed. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-16http-push: stop using name_pathJeff King1-16/+7
The graph traversal code here passes along a name_path to build up the pathname at which we find each blob. But we never actually do anything with the resulting names, making it a waste of code and memory. This usage came in aa1dbc9 (Update http-push functionality, 2006-03-07), and originally the result was passed to "add_object" (which stored it, but didn't really use it, either). But we stopped using that function in 1f1e895 (Add "named object array" concept, 2006-06-19) in favor of storing just the objects themselves. Moreover, the generation of the name in process_tree() is buggy. It sticks "name" onto the end of the name_path linked list, and then passes it down again as it recurses (instead of "entry.path"). So it's a good thing this was unused, as the resulting path for "a/b/c/d" would end up as "a/a/a/a". Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-16tree-diff: catch integer overflow in combine_diff_path allocationJeff King2-4/+4
A combine_diff_path struct has two "flex" members allocated alongside the struct: a string to hold the pathname, and an array of parent pointers. We use an "int" to compute this, meaning we may easily overflow it if the pathname is extremely long. We can fix this by using size_t, and checking for overflow with the st_add helper. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17Merge branch 'fr_v2.8.0_r3' of git://github.com/jnavila/gitJiang Xin1-5/+7
* 'fr_v2.8.0_r3' of git://github.com/jnavila/git: l10n: fr.po v2.8.0 round 3
2016-03-17Merge branch 'ko/merge-l10n' of https://github.com/changwoo/git-l10n-koJiang Xin1-3/+7
* 'ko/merge-l10n' of https://github.com/changwoo/git-l10n-ko: l10n: ko.po: Update Korean translation
2016-03-17Merge branch 'master' of git://github.com/nafmo/git-l10n-svJiang Xin1-31/+122
* 'master' of git://github.com/nafmo/git-l10n-sv: l10n: sv.po: Update Swedish translation (2530t0f0u)
2016-03-16l10n: ko.po: Update Korean translationChangwoo Ryu1-3/+7
Signed-off-by: Changwoo Ryu <cwryu@debian.org>
2016-03-15l10n: fr.po v2.8.0 round 3Jean-Noel Avila1-5/+7
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2016-03-15l10n: sv.po: Update Swedish translation (2530t0f0u)Peter Krefting1-31/+122
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2016-03-15l10n: ru.po: update Russian translationDimitriy Ryazantcev1-2/+6
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
2016-03-15RelNotes for 2.8.0: typofixJunio C Hamano1-14/+10
Helped-by: Max Horn Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-15Merge branch 'svn-glob' of git://bogomips.org/git-svnJunio C Hamano5-13/+258
* 'svn-glob' of git://bogomips.org/git-svn: git-svn: shorten glob error message git-svn: loosen config globs limitations
2016-03-15Merge tag 'l10n-2.8.0-rnd2' of git://github.com/git-l10n/git-poJunio C Hamano9-11003/+12830
l10n-2.8.0-rnd2 * tag 'l10n-2.8.0-rnd2' of git://github.com/git-l10n/git-po: (22 commits) l10n: zh_CN: for git v2.8.0 l10n round 3 l10n: git.pot: Add one new message for Git 2.8.0 l10n: zh_CN: for git v2.8.0 l10n round 2 l10n: fr.po v2.8.0 round 2 l10n: ru.po: update Russian translation l10n: ko: Update Korean translation l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed) l10n: zh_CN: for git v2.8.0 l10n round 1 l10n: de.po: translate 48 new messages l10n: de.po: translate "command" as "Befehl" l10n: de.po: fix interactive rebase message l10n: de.po: add space to abbreviation "z. B." l10n: de.po: fix typo l10n: TEAMS: update Ralf Thielow's email address l10n: sv.po: Update Swedish translation (2509t0f0u) l10n: sv.po: Fix inconsistent translation of "progress meter" l10n: ko.po: Update Korean translation l10n: ru.po: update Russian translation l10n: vi.po (2509t): Updated Vietnamese translation l10n: fr.po v2.8.0 round 1 2509t ...
2016-03-16l10n: zh_CN: for git v2.8.0 l10n round 3Jiang Xin1-2/+6
Update 1 new translations (2530t0f0u) for git v2.8.0-rc2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-16l10n: git.pot: Add one new message for Git 2.8.0Jiang Xin1-1/+5
Add one new message came from this commit: * df22724 wt-status: allow "ahead " to be picked up by l10n Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-16Merge branch 'master' of git://github.com/git-l10n/git-poJiang Xin9-11003/+12822
* 'master' of git://github.com/git-l10n/git-po: l10n: zh_CN: for git v2.8.0 l10n round 2 l10n: fr.po v2.8.0 round 2 l10n: ru.po: update Russian translation l10n: ko: Update Korean translation l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed) l10n: zh_CN: for git v2.8.0 l10n round 1 l10n: de.po: translate 48 new messages l10n: de.po: translate "command" as "Befehl" l10n: de.po: fix interactive rebase message l10n: de.po: add space to abbreviation "z. B." l10n: de.po: fix typo l10n: TEAMS: update Ralf Thielow's email address l10n: sv.po: Update Swedish translation (2509t0f0u) l10n: sv.po: Fix inconsistent translation of "progress meter" l10n: ko.po: Update Korean translation l10n: ru.po: update Russian translation l10n: vi.po (2509t): Updated Vietnamese translation l10n: fr.po v2.8.0 round 1 2509t l10n: fr.po: Correct case in sentence l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)
2016-03-16l10n: zh_CN: for git v2.8.0 l10n round 2Jiang Xin1-20/+121
Update 21 new translations (2529t0f0u) for git v2.8.0-rc2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-15git-svn: shorten glob error messageEric Wong4-11/+18
Error messages should attempt to fit within the confines of an 80-column terminal to avoid compatibility and accessibility problems. Furthermore the word "directories" can be misleading when used in the context of git refnames. Signed-off-by: Eric Wong <normalperson@yhbt.net>
2016-03-15git-svn: loosen config globs limitationsVictor Leschuk3-5/+243
Expand the area of globs applicability for branches and tags in git-svn. It is now possible to use globs like 'a*e', or 'release_*'. This allows users to avoid long lines in config like: branches = branches/{release_20,release_21,release_22,...} In favor of: branches = branches/release_* [ew: amended commit message, minor formatting and style fixes] Signed-off-by: Victor Leschuk <vleschuk@accesssoftek.com> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2016-03-14l10n: fr.po v2.8.0 round 2Jean-Noel Avila1-31/+134
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2016-03-14Merge branch 'mg/wt-status-mismarked-i18n'Junio C Hamano1-2/+2
* mg/wt-status-mismarked-i18n: wt-status: allow "ahead " to be picked up by l10n
2016-03-14wt-status: allow "ahead " to be picked up by l10nMichael J Gruber1-2/+2
The extra pair of parentheses keeps the l10n engine from picking up the string. Remove them so that "ahead " ends up in git.pot. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-13Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ruJiang Xin1-24/+121
* 'russian-l10n' of https://github.com/DJm00n/git-po-ru: l10n: ru.po: update Russian translation
2016-03-13l10n: ru.po: update Russian translationDimitriy Ryazantcev1-24/+121
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
2016-03-13l10n: ko: Update Korean translationChangwoo Ryu1-17/+118
Signed-off-by: Changwoo Ryu <cwryu@debian.org>
2016-03-12l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)Jiang Xin1-14/+111
Generate po/git.pot from v2.8.0-rc2 for git v2.8.0 l10n round 2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-12Merge branch 'master' of git://github.com/git-l10n/git-poJiang Xin9-10936/+12256
* 'master' of git://github.com/git-l10n/git-po: l10n: zh_CN: for git v2.8.0 l10n round 1 l10n: de.po: translate 48 new messages l10n: de.po: translate "command" as "Befehl" l10n: de.po: fix interactive rebase message l10n: de.po: add space to abbreviation "z. B." l10n: de.po: fix typo l10n: TEAMS: update Ralf Thielow's email address l10n: sv.po: Update Swedish translation (2509t0f0u) l10n: sv.po: Fix inconsistent translation of "progress meter" l10n: ko.po: Update Korean translation l10n: ru.po: update Russian translation l10n: vi.po (2509t): Updated Vietnamese translation l10n: fr.po v2.8.0 round 1 2509t l10n: fr.po: Correct case in sentence l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)
2016-03-12l10n: zh_CN: for git v2.8.0 l10n round 1Jiang Xin1-1353/+1527
Update 48 new translations (2509t0f0u) for git v2.8.0-rc0. Reviewed-by: Ray Chen <oldsharp@gmail.com> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> l10n: zh_CN: review for git v2.8.0 l10n round 1
2016-03-10rebase-i: clarify "is this commit relevant?" testJunio C Hamano1-1/+2
While I was checking all the call sites of sane_grep and sane_egrep, I noticed this one is somewhat strangely written. The lines in the file sane_grep works on all begin with 40-hex object name, so there is no real risk of confusing "test $(...) = ''" by finding something that begins with a dash, but using the status from sane_grep makes it a lot clearer what is going on. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10sane_grep: pass "-a" if grep accepts itJunio C Hamano4-3/+15
Newer versions of GNU grep is reported to be pickier when we feed a non-ASCII input and break some Porcelain scripts. As we know we do not feed random binary file to our own sane_grep wrapper, allow us to always pass "-a" by setting SANE_TEXT_GREP=-a Makefile variable to work it around. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10Git 2.8-rc2v2.8.0-rc2Junio C Hamano2-5/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10Sync with 2.7.3Junio C Hamano2-1/+64
2016-03-10Git 2.7.3v2.7.3Junio C Hamano4-3/+66
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10Merge branch 'ma/update-hooks-sample-typofix' into maintJunio C Hamano1-1/+1
* ma/update-hooks-sample-typofix: templates/hooks: fix minor typo in the sample update-hook
2016-03-10Merge branch 'dt/initial-ref-xn-commit-doc' into maintJunio C Hamano1-0/+12
* dt/initial-ref-xn-commit-doc: refs: document transaction semantics
2016-03-10Merge branch 'ps/plug-xdl-merge-leak' into maintJunio C Hamano1-2/+7
* ps/plug-xdl-merge-leak: xdiff/xmerge: fix memory leak in xdl_merge
2016-03-10Merge branch 'ak/git-strip-extension-from-dashed-command' into maintJunio C Hamano2-15/+15
Code simplification. * ak/git-strip-extension-from-dashed-command: git.c: simplify stripping extension of a file in handle_builtin()
2016-03-10Merge branch 'ak/extract-argv0-last-dir-sep' into maintJunio C Hamano1-4/+2
Code simplification. * ak/extract-argv0-last-dir-sep: exec_cmd.c: use find_last_dir_sep() for code simplification
2016-03-10Merge branch 'jk/pack-idx-corruption-safety' into maintJunio C Hamano4-0/+207
The code to read the pack data using the offsets stored in the pack idx file has been made more carefully check the validity of the data in the idx. * jk/pack-idx-corruption-safety: sha1_file.c: mark strings for translation use_pack: handle signed off_t overflow nth_packed_object_offset: bounds-check extended offset t5313: test bounds-checks of corrupted/malicious pack/idx files
2016-03-10Merge branch 'js/config-set-in-non-repository' into maintJunio C Hamano2-0/+14
"git config section.var value" to set a value in per-repository configuration file failed when it was run outside any repository, but didn't say the reason correctly. * js/config-set-in-non-repository: git config: report when trying to modify a non-existing repo config
2016-03-10Merge branch 'sb/submodule-module-list-fix' into maintJunio C Hamano2-8/+27
A helper function "git submodule" uses since v2.7.0 to list the modules that match the pathspec argument given to its subcommands (e.g. "submodule add <repo> <path>") has been fixed. * sb/submodule-module-list-fix: submodule helper list: respect correct path prefix
2016-03-10Merge branch 'jk/grep-binary-workaround-in-test' into maintJunio C Hamano2-13/+17
Recent versions of GNU grep are pickier when their input contains arbitrary binary data, which some of our tests uses. Rewrite the tests to sidestep the problem. * jk/grep-binary-workaround-in-test: t9200: avoid grep on non-ASCII data t8005: avoid grep on non-ASCII data
2016-03-10Merge branch 'mm/push-simple-doc' into maintJunio C Hamano1-0/+7
The documentation did not clearly state that the 'simple' mode is now the default for "git push" when push.default configuration is not set. * mm/push-simple-doc: Documentation/git-push: document that 'simple' is the default
2016-03-10Merge branch 'jk/tighten-alloc' into maintJunio C Hamano91-482/+441
* jk/tighten-alloc: (23 commits) compat/mingw: brown paper bag fix for 50a6c8e ewah: convert to REALLOC_ARRAY, etc convert ewah/bitmap code to use xmalloc diff_populate_gitlink: use a strbuf transport_anonymize_url: use xstrfmt git-compat-util: drop mempcpy compat code sequencer: simplify memory allocation of get_message test-path-utils: fix normalize_path_copy output buffer size fetch-pack: simplify add_sought_entry fast-import: simplify allocation in start_packfile write_untracked_extension: use FLEX_ALLOC helper prepare_{git,shell}_cmd: use argv_array use st_add and st_mult for allocation size computation convert trivial cases to FLEX_ARRAY macros use xmallocz to avoid size arithmetic convert trivial cases to ALLOC_ARRAY convert manual allocations to argv_array argv-array: add detach function add helpers for allocating flex-array structs harden REALLOC_ARRAY and xcalloc against size_t overflow ...
2016-03-10Merge branch 'jk/more-comments-on-textconv' into maintJunio C Hamano3-1/+24
The memory ownership rule of fill_textconv() API, which was a bit tricky, has been documented a bit better. * jk/more-comments-on-textconv: diff: clarify textconv interface
2016-03-10Merge branch 'jk/no-diff-emit-common' into maintJunio C Hamano4-57/+3
"git merge-tree" used to mishandle "both sides added" conflict with its own "create a fake ancestor file that has the common parts of what both sides have added and do a 3-way merge" logic; this has been updated to use the usual "3-way merge with an empty blob as the fake common ancestor file" approach used in the rest of the system. * jk/no-diff-emit-common: xdiff: drop XDL_EMIT_COMMON merge-tree: drop generate_common strategy merge-one-file: use empty blob for add/add base
2016-03-10Merge branch 'jc/am-i-v-fix' into maintJunio C Hamano3-9/+15
The "v(iew)" subcommand of the interactive "git am -i" command was broken in 2.6.0 timeframe when the command was rewritten in C. * jc/am-i-v-fix: am -i: fix "v"iew pager: factor out a helper to prepare a child process to run the pager pager: lose a separate argv[]
2016-03-10Merge branch 'nd/git-common-dir-fix' into maintJunio C Hamano2-1/+12
"git rev-parse --git-common-dir" used in the worktree feature misbehaved when run from a subdirectory. * nd/git-common-dir-fix: rev-parse: take prefix into account in --git-common-dir
2016-03-10Merge branch 'nd/dwim-wildcards-as-pathspecs' into maintJunio C Hamano5-33/+54
"git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a rev, i.e. the object named by the the pathname with wildcard characters in a tree object. * nd/dwim-wildcards-as-pathspecs: get_sha1: don't die() on bogus search strings check_filename: tighten dwim-wildcard ambiguity checkout: reorder check_filename conditional
2016-03-10Merge branch 'jk/epipe-in-async' into maintJunio C Hamano6-3/+25
Handling of errors while writing into our internal asynchronous process has been made more robust, which reduces flakiness in our tests. * jk/epipe-in-async: t5504: handle expected output from SIGPIPE death test_must_fail: report number of unexpected signal fetch-pack: ignore SIGPIPE in sideband demuxer write_or_die: handle EPIPE in async threads
2016-03-10Merge branch 'ps/config-error' into maintJunio C Hamano13-105/+159
Many codepaths forget to check return value from git_config_set(); the function is made to die() to make sure we do not proceed when setting a configuration variable failed. * ps/config-error: config: rename git_config_set_or_die to git_config_set config: rename git_config_set to git_config_set_gently compat: die when unable to set core.precomposeunicode sequencer: die on config error when saving replay opts init-db: die on config errors when initializing empty repo clone: die on config error in cmd_clone remote: die on config error when manipulating remotes remote: die on config error when setting/adding branches remote: die on config error when setting URL submodule--helper: die on config error when cloning module submodule: die on config error when linking modules branch: die on config error when editing branch description branch: die on config error when unsetting upstream branch: report errors in tracking branch setup config: introduce set_or_die wrappers
2016-03-10Merge branch 'mg/work-tree-tests' into maintJunio C Hamano3-0/+0
Traditionally, the tests that try commands that work on the contents in the working tree were named with "worktree" in their filenames, but with the recent addition of "git worktree" subcommand, whose tests are also named similarly, it has become harder to tell them apart. The traditional tests have been renamed to use "work-tree" instead in an attempt to differentiate them. * mg/work-tree-tests: tests: rename work-tree tests to *work-tree*
2016-03-10Merge branch 'sp/remote-curl-ssl-strerror' into maintJunio C Hamano1-2/+14
Help those who debug http(s) part of the system. * sp/remote-curl-ssl-strerror: remote-curl: include curl_errorstr on SSL setup failures
2016-03-10Merge branch 'jx/http-no-proxy'Junio C Hamano1-0/+6
* jx/http-no-proxy: http: honor no_http env variable to bypass proxy
2016-03-10Merge branch 'jc/exclusion-doc'Junio C Hamano1-1/+37
* jc/exclusion-doc: gitignore: document that unignoring a directory unignores everything in it
2016-03-10Merge branch 'js/close-packs-before-gc'Junio C Hamano1-4/+6
A small future-proofing of a test added recently. * js/close-packs-before-gc: t5510: do not leave changed cwd
2016-03-10Merge branch 'sb/rebase-summary'Junio C Hamano1-1/+1
* sb/rebase-summary: Documentation: reword rebase summary
2016-03-09Disown ssh+git and git+sshCarlos Martín Nieto3-5/+6
Some people argue that these were silly from the beginning (see http://thread.gmane.org/gmane.comp.version-control.git/285590/focus=285601 for example), but we have to support them for compatibility. That doesn't mean we have to show them in the documentation. These were already left out of the main list, but a reference in the main manpage was left, so remove that. Also add a note to discourage their use if anybody goes looking for them in the source code. Signed-off-by: Carlos Martín Nieto <cmn@dwim.me> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-08gitignore: document that unignoring a directory unignores everything in itJunio C Hamano1-1/+37
Also document another limitation coming from a bug in handling the basename match with a directory for 're-inclusion'. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-05l10n: de.po: translate 48 new messagesRalf Thielow1-1360/+1545
Translate 48 new messages came from git.pot update in 9eb3984 (l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Matthias Rüster <matthias.ruester@gmail.com>
2016-03-05l10n: de.po: translate "command" as "Befehl"Ralf Thielow1-40/+40
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Phillip Sz <phillip.szelat@gmail.com>
2016-03-05l10n: de.po: fix interactive rebase messageRalf Thielow1-2/+2
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2016-03-05l10n: de.po: add space to abbreviation "z. B."Ralf Thielow1-3/+3
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Phillip Sz <phillip.szelat@gmail.com>
2016-03-05l10n: de.po: fix typoChristoph Hoopmann1-1/+1
Signed-off-by: Christoph Hoopmann <christophhoopmann@gmail.com> Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2016-03-05l10n: TEAMS: update Ralf Thielow's email addressRalf Thielow1-1/+1
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-05Merge branch 'master' of git://github.com/nafmo/git-l10n-svJiang Xin1-1358/+1537
* 'master' of git://github.com/nafmo/git-l10n-sv: l10n: sv.po: Update Swedish translation (2509t0f0u) l10n: sv.po: Fix inconsistent translation of "progress meter"
2016-03-05Merge branch 'ko/merge-l10n' of https://github.com/changwoo/git-l10n-koJiang Xin1-1402/+1583
* 'ko/merge-l10n' of https://github.com/changwoo/git-l10n-ko: l10n: ko.po: Update Korean translation
2016-03-04Git 2.8-rc1v2.8.0-rc1Junio C Hamano2-1/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-04Merge branch 'nd/clear-gitenv-upon-use-of-alias'Junio C Hamano1-11/+9
Hotfix for a test breakage made between 2.7 and 'master'. * nd/clear-gitenv-upon-use-of-alias: t0001: fix GIT_* environment variable check under --valgrind
2016-03-04Merge branch 'js/pthread-exit-emu-windows'Junio C Hamano1-1/+1
* js/pthread-exit-emu-windows: Mark win32's pthread_exit() as NORETURN
2016-03-04Merge branch 'sb/submodule-parallel-fetch'Junio C Hamano4-32/+9
Simplify the two callback functions that are triggered when the child process terminates to avoid misuse of the child-process structure that has already been cleaned up. * sb/submodule-parallel-fetch: run-command: do not pass child process data into callbacks
2016-03-04Merge branch 'jk/tighten-alloc'Junio C Hamano1-1/+1
* jk/tighten-alloc: compat/mingw: brown paper bag fix for 50a6c8e
2016-03-04Merge branch 'nd/i18n-2.8.0'Junio C Hamano4-21/+21
* nd/i18n-2.8.0: trailer.c: mark strings for translation ref-filter.c: mark strings for translation builtin/clone.c: mark strings for translation builtin/checkout.c: mark strings for translation
2016-03-04Merge branch 'tb/avoid-gcc-on-darwin-10-6'Junio C Hamano1-0/+3
Out-of-maintenance gcc on OSX 10.6 fails to compile the code in 'master'; work it around by using clang by default on the platform. * tb/avoid-gcc-on-darwin-10-6: config.mak.uname: use clang for Mac OS X 10.6
2016-03-04Merge branch 'jk/pack-idx-corruption-safety'Junio C Hamano4-0/+207
The code to read the pack data using the offsets stored in the pack idx file has been made more carefully check the validity of the data in the idx. * jk/pack-idx-corruption-safety: sha1_file.c: mark strings for translation use_pack: handle signed off_t overflow nth_packed_object_offset: bounds-check extended offset t5313: test bounds-checks of corrupted/malicious pack/idx files
2016-03-04Merge branch 'mg/httpd-tests-update-for-apache-2.4'Junio C Hamano1-0/+3
The way the test scripts configure the Apache web server has been updated to work also for Apache 2.4 running on RedHat derived distros. * mg/httpd-tests-update-for-apache-2.4: t/lib-httpd: load mod_unixd
2016-03-04t5510: do not leave changed cwdMichael J Gruber1-4/+6
t5510 carefully keeps the cwd at the test root by using either subshells or explicit cd'ing back to the root. Use a subshell for the last subtest, too. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-04Merge branch 'js/mingw-tests'Junio C Hamano1-1/+7
* js/mingw-tests: t9700: fix test for perl older than 5.14
2016-03-04t9700: fix test for perl older than 5.14Jeff King1-1/+7
Commit d53c2c6 (mingw: fix t9700's assumption about directory separators, 2016-01-27) uses perl's "/r" regex modifier to do a non-destructive replacement on a string, leaving the original unmodified and returning the result. This feature was introduced in perl 5.14, but systems with older perl are still common (e.g., CentOS 6.5 still has perl 5.10). Let's work around it by providing a helper function that does the same thing using older syntax. While we're at it, let's switch to using an alternate regex separator, which is slightly more readable. Reported-by: Christian Couder <christian.couder@gmail.com> Helped-by: Dennis Kaarsemaker <dennis@kaarsemaker.net> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-04l10n: sv.po: Update Swedish translation (2509t0f0u)Peter Krefting1-1355/+1534
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2016-03-04l10n: sv.po: Fix inconsistent translation of "progress meter"Peter Krefting1-4/+4
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2016-03-03documentation: fix some typosThomas Ackermann2-2/+2
Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-03t0001: fix GIT_* environment variable check under --valgrindJohannes Sixt1-11/+9
When a test case is run without --valgrind, the wrap-for-bin.sh helper script inserts the environment variable GIT_TEXTDOMAINDIR, but when run with --valgrind, the variable is missing. A recently introduced test case expects the presence of the variable, though, and fails under --valgrind. Rewrite the test case to strip conditially defined environment variables from both expected and actual output. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-03l10n: ko.po: Update Korean translationChangwoo Ryu1-1402/+1583
Signed-off-by: Changwoo Ryu <cwryu@debian.org>
2016-03-02Documentation: reword rebase summaryStefan Beller1-1/+1
The wording is introduced in c3f0baaca (Documentation: sync git.txt command list and manual page title, 2007-01-18), but rebase has evolved since then, capture the modern usage by being more generic about the rebase command in the summary. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-02Mark win32's pthread_exit() as NORETURNJohannes Schindelin1-1/+1
The pthread_exit() function is not expected to return. Ever. On Windows, we call ExitThread() whose documentation claims: "Ends the calling thread", i.e. there is no condition in which this function simply returns: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682659 While at it, fix the return type to be void, as per http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_exit.html Pointed out by Jeff King, helped by Stefan Naewe, Junio Hamano & Johannes Sixt. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-02l10n: ru.po: update Russian translationDimitriy Ryazantcev1-1380/+1503
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
2016-03-01clone: allow an explicit argument for parallel submodule clonesStefan Beller3-7/+33
Just pass it along to "git submodule update", which may pick reasonable defaults if you don't specify an explicit number. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01submodule update: expose parallelism to the userStefan Beller4-2/+34
Expose possible parallelism either via the "--jobs" CLI parameter or the "submodule.fetchJobs" setting. By having the variable initialized to -1, we make sure 0 can be passed into the parallel processing machine, which will then pick as many parallel workers as there are CPUs. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01submodule helper: remove double 'fatal: ' prefixStefan Beller1-2/+2
The prefix is added by die(...), so we don't have to do it. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01git submodule update: have a dedicated helper for cloningStefan Beller2-34/+259
This introduces a new helper function in git submodule--helper which takes care of cloning all submodules, which we want to parallelize eventually. Some tests (such as empty URL, update_mode=none) are required in the helper to make the decision for cloning. These checks have been moved into the C function as well (no need to repeat them in the shell script). Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01run_processes_parallel: rename parameters for the callbacksStefan Beller2-7/+7
The refs code has a similar pattern of passing around 'struct strbuf *err', which is strictly used for error reporting. This is not the case here, as the strbuf is used to accumulate all the output (whether it is error or not) for the user. Rename it to 'out'. Suggested-by: Jonathan Nieder <jrnieder@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01run_processes_parallel: treat output of children as byte arrayStefan Beller3-4/+16
We do not want the output to be interrupted by a NUL byte, so we cannot use raw fputs. Introduce strbuf_write to avoid having long arguments in run-command.c. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01submodule update: direct error message to stderrStefan Beller2-4/+4
Reroute the error message for specified but initialized submodules to stderr instead of stdout. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01fetching submodules: respect `submodule.fetchJobs` config optionStefan Beller5-2/+38
This allows to configure fetching and updating in parallel without having the command line option. This moved the responsibility to determine how many parallel processes to start from builtin/fetch to submodule.c as we need a way to communicate "The user did not specify the number of parallel processes in the command line options" in the builtin fetch. The submodule code takes care of the precedence (CLI > config > default). Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01submodule-config: drop check against NULLStefan Beller1-3/+3
Adhere to the common coding style of Git and not check explicitly for NULL throughout the file. There are still other occurrences in the code base but that is usually inside of conditions with side effects. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01submodule-config: keep update strategy aroundStefan Beller4-0/+52
Currently submodule.<name>.update is only handled by git-submodule.sh. C code will start to need to make use of that value as more of the functionality of git-submodule.sh moves into library code in C. Add the update field to 'struct submodule' and populate it so it can be read as sm->update or from sm->update_command. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-01run-command: do not pass child process data into callbacksStefan Beller4-32/+9
The expected way to pass data into the callback is to pass them via the customizable callback pointer. The error reporting in default_{start_failure, task_finished} is not user friendly enough, that we want to encourage using the child data for such purposes. Furthermore the struct child data is cleaned by the run-command API, before we access them in the callbacks, leading to use-after-free situations. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-29trailer.c: mark strings for translationNguyễn Thái Ngọc Duy1-1/+1
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-29ref-filter.c: mark strings for translationNguyễn Thái Ngọc Duy1-14/+14
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-29builtin/clone.c: mark strings for translationNguyễn Thái Ngọc Duy1-5/+5
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-29builtin/checkout.c: mark strings for translationNguyễn Thái Ngọc Duy1-1/+1
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-29http: honor no_http env variable to bypass proxyJiang Xin1-0/+6
Curl and its families honor several proxy related environment variables: * http_proxy and https_proxy define proxy for http/https connections. * no_proxy (a comma separated hosts) defines hosts bypass the proxy. This command will bypass the bad-proxy and connect to the host directly: no_proxy=* https_proxy=http://bad-proxy/ \ curl -sk https://google.com/ Before commit 372370f (http: use credential API to handle proxy auth...), Environment variable "no_proxy" will take effect if the config variable "http.proxy" is not set. So the following comamnd won't fail if not behind a firewall. no_proxy=* https_proxy=http://bad-proxy/ \ git ls-remote https://github.com/git/git But commit 372370f not only read git config variable "http.proxy", but also read "http_proxy" and "https_proxy" environment variables, and set the curl option using: curl_easy_setopt(result, CURLOPT_PROXY, proxy_auth.host); This caused "no_proxy" environment variable not working any more. Set extra curl option "CURLOPT_NOPROXY" will fix this issue. Signed-off-by: Jiang Xin <xin.jiang@huawei.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-29compat/mingw: brown paper bag fix for 50a6c8eJeff King1-1/+1
Commit 50a6c8e (use st_add and st_mult for allocation size computation, 2016-02-22) fixed up many xmalloc call-sites including ones in compat/mingw.c. But I screwed up one of them, which was half-converted to ALLOC_ARRAY, using a very early prototype of the function. And I never caught it because I don't build on Windows. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-29Merge branch 'master' of https://github.com/vnwildman/gitJiang Xin1-1356/+1538
* 'master' of https://github.com/vnwildman/git: l10n: vi.po (2509t): Updated Vietnamese translation
2016-02-29l10n: vi.po (2509t): Updated Vietnamese translationTran Ngoc Quan1-1356/+1538
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2016-02-28config.mak.uname: use clang for Mac OS X 10.6Torsten Bögershausen1-0/+3
Gcc under Mac OX 10.6 throws an internal compiler error: CC combine-diff.o combine-diff.c: In function ‘diff_tree_combined’: combine-diff.c:1391: internal compiler error: Segmentation fault while attempting to build Git at 5b442c4f (tree-diff: catch integer overflow in combine_diff_path allocation, 2016-02-19). As clang that ships with the version does not have the same bug, make Git compile under Mac OS X 10.6 by using clang instead of gcc to work this around, as it is unlikely that we will see fixed GCC on that platform. Later versions of Mac OSX/Xcode only provide clang, and gcc is a wrapper to it. Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-28l10n: fr.po v2.8.0 round 1 2509tJean-Noel Avila1-1361/+1535
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2016-02-28l10n: fr.po: Correct case in sentenceAudric Schiltknecht1-1/+1
Signed-off-by: Audric Schiltknecht <storm@chemicalstorm.org>
2016-02-28l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)Jiang Xin1-1320/+1442
Generate po/git.pot from v2.8.0-rc0 for git v2.8.0 l10n round 1. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-02-27sha1_file.c: mark strings for translationNguyễn Thái Ngọc Duy1-3/+3
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-26Git 2.8-rc0v2.8.0-rc0Junio C Hamano2-1/+96
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-02-26Merge branch 'mm/readme-markdown'Junio C Hamano2-26/+32
README has been renamed to README.md and its contents got tweaked slightly to make it easier on the eyes. * mm/readme-markdown: README.md: move down historical explanation about the name README.md: don't call git stupid in the title README.md: move the link to git-scm.com up README.md: add hyperlinks on filenames README: use markdown syntax
2016-02-26Merge branch 'ma/update-hooks-sample-typofix'Junio C Hamano1-1/+1
* ma/update-hooks-sample-typofix: templates/hooks: fix minor typo in the sample update-hook
2016-02-26Merge branch 'ls/makefile-cflags-developer-tweak'Junio C Hamano3-1/+18
There is a new DEVELOPER knob that enables many compiler warning options in the Makefile. * ls/makefile-cflags-developer-tweak: add DEVELOPER makefile knob to check for acknowledged warnings
2016-02-26Merge branch 'dt/initial-ref-xn-commit-doc'Junio C Hamano1-0/+12
* dt/initial-ref-xn-commit-doc: refs: document transaction semantics
2016-02-26Merge branch 'js/config-set-in-non-repository'Junio C Hamano2-0/+14
"git config section.var value" to set a value in per-repository configuration file failed when it was run outside any repository, but didn't say the reason correctly. * js/config-set-in-non-repository: git config: report when trying to modify a non-existing repo config