summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* sequencer.c: unify an error messagejs/rebase-i-finalRalf Thielow2017-10-181-1/+1
| | | | | | | | Change an error message in sequencer.c for the case that we could not write to a file to match other instances. Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sequencer.c: fix and unify error messages in rearrange_squash()Ralf Thielow2017-10-161-2/+2
| | | | | | | | | | | | | When the write opertion fails, we write that we could not read. Change the error message to match the operation and remove the full stop at the end. When ftruncate() fails, we write that we couldn't finish the operation on the todo file. It is more accurate to write that we couldn't truncate as we do in other calls of ftruncate(). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* i18n: add a missing space in messageJean-Noel Avila2017-10-091-1/+1
| | | | | | | | The message spans over 2 lines but the C conconcatenation does not add the needed space between the two lines. Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase -i: rearrange fixup/squash lines using the rebase--helperJohannes Schindelin2017-07-276-98/+213
| | | | | | | | | | | | | | | | | | | | | | This operation has quadratic complexity, which is especially painful on Windows, where shell scripts are *already* slow (mainly due to the overhead of the POSIX emulation layer). Let's reimplement this with linear complexity (using a hash map to match the commits' subject lines) for the common case; Sadly, the fixup/squash feature's design neglected performance considerations, allowing arbitrary prefixes (read: `fixup! hell` will match the commit subject `hello world`), which means that we are stuck with quadratic performance in the worst case. The reimplemented logic also happens to fix a bug where commented-out lines (representing empty patches) were dropped by the previous code. While at it, clarify how the fixup/squash feature works in `git rebase -i`'s man page. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t3415: test fixup with wrapped onelineJohannes Schindelin2017-07-271-0/+14
| | | | | | | | | | | | The `git commit --fixup` command unwraps wrapped onelines when constructing the commit message, without wrapping the result. We need to make sure that `git rebase --autosquash` keeps handling such cases correctly, in particular since we are about to move the autosquash handling into the rebase--helper. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase -i: skip unnecessary picks using the rebase--helperJohannes Schindelin2017-07-274-39/+116
| | | | | | | | | | | | | In particular on Windows, where shell scripts are even more expensive than on MacOSX or Linux, it makes sense to move a loop that forks Git at least once for every line in the todo list into a builtin. Note: The original code did not try to skip unnecessary picks of root commits but punts instead (probably --root was not considered common enough of a use case to bother optimizing). We do the same, for now. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase -i: check for missing commits in the rebase--helperJohannes Schindelin2017-07-274-160/+134
| | | | | | | | | In particular on Windows, where shell scripts are even more expensive than on MacOSX or Linux, it makes sense to move a loop that forks Git at least once for every line in the todo list into a builtin. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t3404: relax rebase.missingCommitsCheck testsJohannes Schindelin2017-07-271-18/+4
| | | | | | | | | | | | | | | | These tests were a bit anal about the *exact* warning/error message printed by git rebase. But those messages are intended for the *end user*, therefore it does not make sense to test so rigidly for the *exact* wording. In the following, we will reimplement the missing commits check in the sequencer, with slightly different words. So let's just test for the parts in the warning/error message that we *really* care about, nothing more, nothing less. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase -i: also expand/collapse the SHA-1s via the rebase--helperJohannes Schindelin2017-07-274-26/+70
| | | | | | | | | | This is crucial to improve performance on Windows, as the speed is now mostly dominated by the SHA-1 transformation (because it spawns a new rev-parse process for *every* line, and spawning processes is pretty slow from Git for Windows' MSYS2 Bash). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase -i: do not invent onelines when expanding/collapsing SHA-1sJohannes Schindelin2017-07-271-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid problems with short SHA-1s that become non-unique during the rebase, we rewrite the todo script with short/long SHA-1s before and after letting the user edit the script. Since SHA-1s are not intuitive for humans, rebase -i also provides the onelines (commit message subjects) in the script, purely for the user's convenience. It is very possible to generate a todo script via different means than rebase -i and then to let rebase -i run with it; In this case, these onelines are not required. And this is where the expand/collapse machinery has a bug: it *expects* that oneline, and failing to find one reuses the previous SHA-1 as "oneline". It was most likely an oversight, and made implementation in the (quite limiting) shell script language less convoluted. However, we are about to reimplement performance-critical parts in C (and due to spawning a git.exe process for every single line of the todo script, the expansion/collapsing of the SHA-1s *is* performance-hampering on Windows), therefore let's fix this bug to make cross-validation with the C version of that functionality possible. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase -i: remove useless indentationJohannes Schindelin2017-07-271-7/+7
| | | | | | | | | | | | | | The commands used to be indented, and it is nice to look at, but when we transform the SHA-1s, the indentation is removed. So let's do away with it. For the moment, at least: when we will use the upcoming rebase--helper to transform the SHA-1s, we *will* keep the indentation and can reintroduce it. Yet, to be able to validate the rebase--helper against the output of the current shell script version, we need to remove the extra indentation. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase -i: generate the script via rebase--helperJohannes Schindelin2017-07-274-22/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first step of an interactive rebase is to generate the so-called "todo script", to be stored in the state directory as "git-rebase-todo" and to be edited by the user. Originally, we adjusted the output of `git log <options>` using a simple sed script. Over the course of the years, the code became more complicated. We now use shell scripting to edit the output of `git log` conditionally, depending whether to keep "empty" commits (i.e. commits that do not change any files). On platforms where shell scripting is not native, this can be a serious drag. And it opens the door for incompatibilities between platforms when it comes to shell scripting or to Unix-y commands. Let's just re-implement the todo script generation in plain C, using the revision machinery directly. This is substantially faster, improving the speed relative to the shell script version of the interactive rebase from 2x to 3x on Windows. Note that the rearrange_squash() function in git-rebase--interactive relied on the fact that we set the "format" variable to the config setting rebase.instructionFormat. Relying on a side effect like this is no good, hence we explicitly perform that assignment (possibly again) in rearrange_squash(). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t3415: verify that an empty instructionFormat is handled as beforeJohannes Schindelin2017-07-271-0/+12
| | | | | | | | | | | | | | An upcoming patch will move the todo list generation into the rebase--helper. An early version of that patch regressed on an empty rebase.instructionFormat value (the shell version could not discern between an empty one and a non-existing one, but the C version used the empty one as if that was intended to skip the oneline from the `pick <hash>` lines). Let's verify that this still works as before. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git 2.14-rc1v2.14.0-rc1Junio C Hamano2017-07-241-1/+1
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge https://github.com/git-l10n/git-poJunio C Hamano2017-07-247-18800/+20664
|\ | | | | | | | | | | | | | | | | | | | | | | | | * https://github.com/git-l10n/git-po: l10n: git.pot: v2.14.0 round 2 (9 new, 2 removed) l10n: sv.po: Update Swedish translation (3206t0f0u) l10n: ko.po: Update Korean translation l10n: Update Catalan translation l10n: bg.po: Updated Bulgarian translation (3206t) l10n: vi.po(3206t): Update Vietnamese translation l10n: git.pot: v2.14.0 round 1 (34 new, 23 removed) l10n: ru.po: update Russian translation l10n: Fixes to Catalan translation
| * l10n: git.pot: v2.14.0 round 2 (9 new, 2 removed)Jiang Xin2017-07-241-10/+60
| | | | | | | | | | | | Generate po/git.pot from v2.14.0-rc0-40-g5eada8987e for git v2.14.0 l10n round 2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
| * Merge branch 'master' of git://github.com/git-l10n/git-poJiang Xin2017-07-247-18830/+20644
| |\ |/ / | | | | | | | | | | | | | | | | | | | | * 'master' of git://github.com/git-l10n/git-po: l10n: sv.po: Update Swedish translation (3206t0f0u) l10n: ko.po: Update Korean translation l10n: Update Catalan translation l10n: bg.po: Updated Bulgarian translation (3206t) l10n: vi.po(3206t): Update Vietnamese translation l10n: git.pot: v2.14.0 round 1 (34 new, 23 removed) l10n: ru.po: update Russian translation l10n: Fixes to Catalan translation
| * Merge branch 'master' of git://github.com/nafmo/git-l10n-svJiang Xin2017-07-221-3103/+3271
| |\ | | | | | | | | | | | | * 'master' of git://github.com/nafmo/git-l10n-sv: l10n: sv.po: Update Swedish translation (3206t0f0u)
| | * l10n: sv.po: Update Swedish translation (3206t0f0u)Peter Krefting2017-07-201-3103/+3271
| | | | | | | | | | | | Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
| * | l10n: ko.po: Update Korean translationChangwoo Ryu2017-07-191-3228/+3585
| |/ | | | | | | Signed-off-by: Changwoo Ryu <cwryu@debian.org>
| * l10n: Update Catalan translationJordi Mas2017-07-181-1071/+602
| | | | | | | | Signed-off-by: Jordi Mas <jmas@softcatala.org>
| * l10n: bg.po: Updated Bulgarian translation (3206t)Alexander Shopov2017-07-161-3048/+3111
| | | | | | | | Signed-off-by: Alexander Shopov <ash@kambanaria.org>
| * l10n: vi.po(3206t): Update Vietnamese translationTran Ngoc Quan2017-07-151-3013/+3180
| | | | | | | | Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
| * l10n: git.pot: v2.14.0 round 1 (34 new, 23 removed)Jiang Xin2017-07-151-2993/+3059
| | | | | | | | | | | | Generate po/git.pot from v2.14.0-rc0 for git v2.14.0 l10n round 1. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
| * Merge branch 'maint' of git://github.com/git-l10n/git-poJiang Xin2017-07-152-2378/+3840
| |\ | | | | | | | | | | | | | | | * 'maint' of git://github.com/git-l10n/git-po: l10n: ru.po: update Russian translation l10n: Fixes to Catalan translation
| | * l10n: ru.po: update Russian translationDimitriy Ryazantcev2017-06-111-2369/+3831
| | | | | | | | | | | | Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
| | * Merge branch 'master' of https://github.com/Softcatala/git-po into maintJiang Xin2017-05-311-9/+9
| | |\ | | | | | | | | | | | | | | | | * 'master' of https://github.com/Softcatala/git-po: l10n: Fixes to Catalan translation
| | | * l10n: Fixes to Catalan translationJordi Mas2017-05-101-9/+9
| | | | | | | | | | | | | | | | Signed-off-by: Jordi Mas <jmas@softcatala.org>
* | | | Sync with maintJunio C Hamano2017-07-211-0/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * maint: fixes from 'master' for 2.13.4
| * | | | fixes from 'master' for 2.13.4Junio C Hamano2017-07-212-1/+11
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | | Merge branch 'ew/fd-cloexec-fix' into maintJunio C Hamano2017-07-211-3/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Portability/fallback fix. * ew/fd-cloexec-fix: set FD_CLOEXEC properly when O_CLOEXEC is not supported
| * \ \ \ \ Merge branch 'ks/fix-rebase-doc-picture' into maintJunio C Hamano2017-07-211-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doc update. * ks/fix-rebase-doc-picture: doc: correct a mistake in an illustration
| * \ \ \ \ \ Merge branch 'js/alias-case-sensitivity' into maintJunio C Hamano2017-07-212-1/+8
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent update broke an alias that contained an uppercase letter. * js/alias-case-sensitivity: alias: compare alias name *case-insensitively* t1300: demonstrate that CamelCased aliases regressed
| * \ \ \ \ \ \ Merge branch 'bb/unicode-10.0' into maintJunio C Hamano2017-07-211-13/+29
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the character width tables. * bb/unicode-10.0: unicode: update the width tables to Unicode 10
* | | | | | | | | Hopefully the final last-minute fix before -rc1Junio C Hamano2017-07-211-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | | Merge branch 'ks/doc-fixes'Junio C Hamano2017-07-212-10/+11
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doc clean-up. * ks/doc-fixes: doc: reformat the paragraph containing the 'cut-line' doc: camelCase the i18n config variables to improve readability
| * | | | | | | | | doc: reformat the paragraph containing the 'cut-line'ks/doc-fixesKaartic Sivaraam2017-07-181-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The paragraph that describes the 'scissors' cleanup mode of 'commit' had the 'cut-line' in the middle of a sentence. This made it possible for the line to get wrapped on smaler windows. This shouldn't be the case as it makes it hard for the user to understand the structure of the cut-line. Reformat the pragraph to make the 'cut-line' stand on a line of it's own thus distinguishing it from the rest of the paragraph. This further prevents it from getting wrapped to some extent. Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | | | | | | | doc: camelCase the i18n config variables to improve readabilityKaartic Sivaraam2017-07-171-5/+5
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The i18n config variable used weren't readable as they were in the crude form of how git stores/uses it's config variables. Improve it's readability by replacing them with camelCased versions of config variables as it doesn't have any impact on it's usage. Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | | Merge branch 'rj/cygwin-fread-reads-directories'Junio C Hamano2017-07-211-0/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that Cygwin also needs the fopen() wrapper that returns failure when a directory is opened for reading. * rj/cygwin-fread-reads-directories: config.mak.uname: set FREAD_READS_DIRECTORIES for cygwin
| * | | | | | | | | config.mak.uname: set FREAD_READS_DIRECTORIES for cygwinrj/cygwin-fread-reads-directoriesRamsay Jones2017-07-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | | | Merge branch 'jc/po-pritime-fix'Junio C Hamano2017-07-211-0/+21
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We started using "%" PRItime, imitating "%" PRIuMAX and friends, as a way to format the internal timestamp value, but this does not play well with gettext(1) i18n framework, and causes "make pot" that is run by the l10n coordinator to create a broken po/git.pot file. This is a possible workaround for that problem. * jc/po-pritime-fix: Makefile: help gettext tools to cope with our custom PRItime format
| * | | | | | | | | Makefile: help gettext tools to cope with our custom PRItime formatjc/po-pritime-fixJunio C Hamano2017-07-201-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We started using our own timestamp_t type and PRItime format specifier to go along with it, so that we can later change the underlying type and output format more easily, but this does not play well with gettext tools. Because gettext tools need to keep the *.po file portable across platforms, they have to special-case the format specifiers like PRIuMAX that are known types in inttypes.h, instead of letting CPP handle strings like "%" PRIuMAX " seconds ago" as an ordinary string concatenation. They fundamentally cannot do the same for our own custom type/format. Given that po/git.pot needs to be generated only once every release and by only one person, i.e. the l10n coordinator, let's update the Makefile rule to generate po/git.pot so that gettext tools are run on a munged set of sources in which all mentions of PRItime are replaced with PRIuMAX, which is what we happen to use right now. This way, developers do not have to care that PRItime does not play well with gettext, and translators do not have to care that we use our own PRItime. The credit for the idea to munge the source files goes to Dscho. Possible bugs are mine. Helped-by: Jiang Xin <worldhello.net@gmail.com> Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | | | A few more topics while waiting for the po/PRItime resolutionJunio C Hamano2017-07-201-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | | | Merge branch 'mt/p4-parse-G-output'Junio C Hamano2017-07-202-31/+166
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use "p4 -G" to make "p4 changes" output more Python-friendly to parse. * mt/p4-parse-G-output: git-p4: filter for {'code':'info'} in p4CmdList git-p4: parse marshal output "p4 -G" in p4 changes git-p4: git-p4 tests with p4 triggers
| * | | | | | | | | | git-p4: filter for {'code':'info'} in p4CmdListmt/p4-parse-G-outputMiguel Torroja2017-07-132-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function p4CmdList accepts a new argument: skip_info. When set to True it ignores any 'code':'info' entry (skip_info=False by default). That allows us to fix some of the tests in t9831-git-p4-triggers.sh known to be broken with verobse p4 triggers Signed-off-by: Miguel Torroja <miguel.torroja@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | | | | | | | | git-p4: parse marshal output "p4 -G" in p4 changesMiguel Torroja2017-07-132-29/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The option -G of p4 (python marshal output) gives more context about the data being output. That's useful when using the command "change -o" as we can distinguish between warning/error line and real change description. This fixes the case where a p4 trigger for "p4 change" is set and the command git-p4 submit is run. Signed-off-by: Miguel Torroja <miguel.torroja@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | | | | | | | | git-p4: git-p4 tests with p4 triggersMiguel Torroja2017-07-131-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some p4 triggers in the server side generate some warnings when executed. Unfortunately those messages are mixed with the output of p4 commands. A few git-p4 commands don't expect extra messages or output lines and may fail with verbose triggers. New tests added are known to be broken. Signed-off-by: Miguel Torroja <miguel.torroja@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | | | | Merge branch 'ew/fd-cloexec-fix'Junio C Hamano2017-07-201-3/+3
|\ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Portability/fallback fix. * ew/fd-cloexec-fix: set FD_CLOEXEC properly when O_CLOEXEC is not supported
| * | | | | | | | | | set FD_CLOEXEC properly when O_CLOEXEC is not supportedew/fd-cloexec-fixEric Wong2017-07-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FD_CLOEXEC only applies to the file descriptor, so it needs to be manipuluated via F_GETFD/F_SETFD. F_GETFL/F_SETFL are for file description flags. Verified via strace with o_cloexec set to zero. Signed-off-by: Eric Wong <e@80x24.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | | | | Merge branch 'jk/build-with-asan'Junio C Hamano2017-07-201-1/+6
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent update made it easier to use "-fsanitize=" option while compiling but supported only one sanitize option. Allow more than one to be combined, joined with a comma, like "make SANITIZE=foo,bar". * jk/build-with-asan: Makefile: allow combining UBSan with other sanitizers