Commit Graph

90714 Commits

Author SHA1 Message Date
Johannes Schindelin
47c19bade8 git-daemon: use test_atexit in the tests
This makes use of the just-introduced consistent way to specify that a
long-running process needs to be terminated at the end of a test script
run.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:46 +01:00
Johannes Schindelin
7a792bfe71 tests: introduce test_atexit
When running the p4 daemon or `git daemon`, we want to kill it at the
end of the test script.

So far, we do this "manually".

However, in the next few commits we want to teach the test suite to
optionally re-run scripts with different options, therefore we will have
to have a consistent way to stop daemons.

Let's introduce `test_atexit`, which is loosely modeled after
`test_when_finished` (but has a broader scope: rather than running the
commands after the current test case, run them when the test script
finishes, and also run them when the `--immediate` option is in effect).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:46 +01:00
Johannes Schindelin
1b678ea761 Add a build definition for Azure DevOps
This commit adds an azure-pipelines.yml file which is Azure DevOps'
equivalent to Travis CI's .travis.yml.

To make things a bit easier to understand, we refrain from using the
`matrix` feature here because (while it is powerful) it can be a bit
confusing to users who are not familiar with CI setups. Therefore, we
use a separate phase even for similar configurations (such as GCC vs
Clang on Linux, GCC vs Clang on macOS).

Also, we make use of the shiny new feature we just introduced where the
test suite can output JUnit-style .xml files. This information is made
available in a nice UI that allows the viewer to filter by phase and/or
test number, and to see trends such as: number of (failing) tests, time
spent running the test suite, etc.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:45 +01:00
Johannes Schindelin
eb8845a482 ci/lib.sh: add support for Azure Pipelines
This patch introduces a conditional arm that defines some environment
variables and a function that displays the URL given the job id (to
identify previous runs for known-good trees).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:45 +01:00
Johannes Schindelin
6c37a5b532 tests: optionally write results as JUnit-style .xml
This will come in handy when publishing the results of Git's test suite
during an automated Azure DevOps run.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:45 +01:00
Johannes Schindelin
8a19bf3d72 test-date: add a subcommand to measure times in shell scripts
In the next commit, we want to teach Git's test suite to optionally
output test results in JUnit-style .xml files. These files contain
information about the time spent. So we need a way to measure time.

While we could use `date +%s` for that, this will give us only seconds,
i.e. very coarse-grained timings.

GNU `date` supports `date +%s.%N` (i.e. nanosecond-precision output),
but there is no equivalent in BSD `date` (read: on macOS, we would not
be able to obtain precise timings).

So let's introduce `test-tool date getnanos`, with an optional start
time, that outputs preciser values.

Granted, it is a bit pointless to try measuring times accurately in
shell scripts, certainly to nanosecond precision. But it is better than
second-granularity.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:45 +01:00
Johannes Schindelin
10b73155a0 ci/lib.sh: encapsulate Travis-specific things
The upcoming patches will allow building git.git via Azure Pipelines
(i.e. Azure DevOps' Continuous Integration), where variable names and
URLs look a bit different than in Travis CI.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:45 +01:00
Johannes Schindelin
759c461713 ci: rename the library of common functions
The name is hard-coded to reflect that we use Travis CI for continuous
testing.

In the next commits, we will extend this to be able use Azure DevOps,
too.

So let's adjust the name to make it more generic.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:45 +01:00
Johannes Schindelin
d58024a9af tests: optionally skip bin-wrappers/
This speeds up the tests by a bit on Windows, where running Unix shell
scripts (and spawning processes) is not exactly a cheap operation.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:45 +01:00
Johannes Schindelin
a53de65e77 t0061: fix with --with-dashes and RUNTIME_PREFIX
When building Git with RUNTIME_PREFIX and starting a test helper from
t/helper/, it fails to detect the system prefix correctly.

This is the reason that the warning

	RUNTIME_PREFIX requested, but prefix computation failed. [...]

to be printed.

In t0061, we did not expect that to happen, and it actually did not
happen in the normal case, because bin-wrappers/test-tool specifically
sets GIT_TEXTDOMAINDIR (and as a consequence, nothing in test-tool wants
to know about the runtime prefix).

However, with --with-dashes, bin-wrappers/test-tool is no longer called,
but t/helper/test-tool is called directly.

So let's just ignore the RUNTIME_PREFIX warning.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:44 +01:00
Johannes Schindelin
25f9b6765e tests: add t/helper/ to the PATH with --with-dashes
We really need to be able to find the test helpers... Really. This
change was forgotten when we moved the test helpers into t/helper/

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:29:44 +01:00
Johannes Schindelin
c35a3ea0c4 Start the merging-rebase to v2.19.2
This commit starts the rebase of 1085d510a6 to e0a939751a
2018-11-21 17:29:34 +01:00
Johannes Schindelin
5f26ad6184 fixup! mingw: replace mingw_startup() hack
We do not actually need -mconsole; it is the default. But it hurts to
have it, as it breaks the assumption of the mingw-w64-git package that
it can reuse the flags to link git-bash.exe. So let's remove it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-11-21 17:25:11 +01:00
Junio C Hamano
98cdfbb84a Git 2.19.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.19.2
2018-11-21 23:22:12 +09:00
Junio C Hamano
a4830a7a45 Merge branch 'sg/test-rebase-editor-fix' into maint
* sg/test-rebase-editor-fix:
  t3404-rebase-interactive: test abbreviated commands
2018-11-21 22:58:10 +09:00
Junio C Hamano
85eb0f162c Merge branch 'tb/char-may-be-unsigned' into maint
Build portability fix.

* tb/char-may-be-unsigned:
  path.c: char is not (always) signed
2018-11-21 22:58:09 +09:00
Junio C Hamano
2b153408b4 Merge branch 'jk/uploadpack-packobjectshook-fix' into maint
Code clean-up that results in a small bugfix.

* jk/uploadpack-packobjectshook-fix:
  upload-pack: fix broken if/else chain in config callback
2018-11-21 22:58:09 +09:00
Junio C Hamano
227124b271 Merge branch 'uk/merge-subtree-doc-update' into maint
Belated documentation update to adjust to a new world order that
happened a yew years ago.

* uk/merge-subtree-doc-update:
  howto/using-merge-subtree: mention --allow-unrelated-histories
2018-11-21 22:58:08 +09:00
Junio C Hamano
196afc439c Merge branch 'jc/cocci-preincr' into maint
Code cleanup.

* jc/cocci-preincr:
  fsck: s/++i > 1/i++/
  cocci: simplify "if (++u > 1)" to "if (u++)"
2018-11-21 22:58:08 +09:00
Junio C Hamano
eba14167f1 Merge branch 'ah/doc-updates' into maint
Doc updates.

* ah/doc-updates:
  doc: fix formatting in git-update-ref
  doc: fix indentation of listing blocks in gitweb.conf.txt
  doc: fix descripion for 'git tag --format'
  doc: fix inappropriate monospace formatting
  doc: fix ASCII art tab spacing
  doc: clarify boundaries of 'git worktree list --porcelain'
2018-11-21 22:58:07 +09:00
Junio C Hamano
b53df43bf5 Merge branch 'sg/doc-show-branch-typofix' into maint
Docfix.

* sg/doc-show-branch-typofix:
  doc: fix small typo in git show-branch
2018-11-21 22:58:07 +09:00
Junio C Hamano
69ae6660fc Merge branch 'tq/branch-style-fix' into maint
Code clean-up.

* tq/branch-style-fix:
  branch: trivial style fix
2018-11-21 22:58:06 +09:00
Junio C Hamano
2b40fdd079 Merge branch 'tq/branch-create-wo-branch-get' into maint
Code clean-up.

* tq/branch-create-wo-branch-get:
  builtin/branch.c: remove useless branch_get
2018-11-21 22:58:06 +09:00
Junio C Hamano
c2d6378458 Merge branch 'sb/strbuf-h-update' into maint
Code clean-up to serve as a BCP example.
Further clean-up patches may want to follow soon.

* sb/strbuf-h-update:
  strbuf.h: format according to coding guidelines
2018-11-21 22:58:06 +09:00
Junio C Hamano
a6dc172d00 Merge branch 'du/cherry-is-plumbing' into maint
Doc update to mark "git cherry" as a plumbing command.

* du/cherry-is-plumbing:
  doc: move git-cherry to plumbing
2018-11-21 22:58:05 +09:00
Junio C Hamano
c3ba2ae0ba Merge branch 'du/get-tar-commit-id-is-plumbing' into maint
Doc update to mark "git get-tar-commit-id" as a plumbing command.

* du/get-tar-commit-id-is-plumbing:
  doc: move git-get-tar-commit-id to plumbing
2018-11-21 22:58:05 +09:00
Junio C Hamano
53016f4c13 Merge branch 'mm/doc-no-dashed-git' into maint
Doc update.

* mm/doc-no-dashed-git:
  doc: fix a typo and clarify a sentence
2018-11-21 22:58:05 +09:00
Junio C Hamano
95500c8a0d Merge branch 'du/rev-parse-is-plumbing' into maint
Doc update.

* du/rev-parse-is-plumbing:
  doc: move git-rev-parse from porcelain to plumbing
2018-11-21 22:58:04 +09:00
Junio C Hamano
6262f5c471 Merge branch 'ma/t7005-bash-workaround' into maint
Test fix.

* ma/t7005-bash-workaround:
  t7005-editor: quote filename to fix whitespace-issue
2018-11-21 22:58:04 +09:00
Junio C Hamano
6b57374d3e Merge branch 'jc/how-to-document-api' into maint
Doc update.

* jc/how-to-document-api:
  CodingGuidelines: document the API in *.h files
2018-11-21 22:58:03 +09:00
Junio C Hamano
368ba6b7ac Merge branch 'mw/doc-typofixes' into maint
Typofixes.

* mw/doc-typofixes:
  docs: typo: s/isimilar/similar/
  docs: graph: remove unnecessary `graph_update()' call
  docs: typo: s/go/to/
2018-11-21 22:58:03 +09:00
Junio C Hamano
587b3f5d72 Merge branch 'rs/sequencer-oidset-insert-avoids-dups' into maint
Code clean-up.

* rs/sequencer-oidset-insert-avoids-dups:
  sequencer: use return value of oidset_insert()
2018-11-21 22:58:02 +09:00
Junio C Hamano
171309399a Merge branch 'ma/mailing-list-address-in-git-help' into maint
Doc update.

* ma/mailing-list-address-in-git-help:
  git doc: direct bug reporters to mailing list archive
2018-11-21 22:58:02 +09:00
Junio C Hamano
060d0617ef Merge branch 'nd/packobjectshook-doc-fix' into maint
Doc update.

* nd/packobjectshook-doc-fix:
  config.txt: correct the note about uploadpack.packObjectsHook
2018-11-21 22:58:01 +09:00
Junio C Hamano
6f1c8154aa Merge branch 'ma/t1400-undebug-test' into maint
Test fix.

* ma/t1400-undebug-test:
  t1400: drop debug `echo` to actually execute `test`
2018-11-21 22:58:01 +09:00
Junio C Hamano
35e54ea2e0 Merge branch 'ma/commit-graph-docs' into maint
Doc update.

* ma/commit-graph-docs:
  Doc: refer to the "commit-graph file" with dash
  git-commit-graph.txt: refer to "*commit*-graph file"
  git-commit-graph.txt: typeset more in monospace
  git-commit-graph.txt: fix bullet lists
2018-11-21 22:58:00 +09:00
Junio C Hamano
871955c797 Merge branch 'dz/credential-doc-url-matching-rules' into maint
Doc update.

* dz/credential-doc-url-matching-rules:
  doc: clarify gitcredentials path component matching
2018-11-21 22:58:00 +09:00
Junio C Hamano
75266b4e8b Merge branch 'jk/check-everything-connected-is-long-gone' into maint
Comment fix.

* jk/check-everything-connected-is-long-gone:
  receive-pack: update comment with check_everything_connected
2018-11-21 22:58:00 +09:00
Junio C Hamano
0caea62a4b Merge branch 'fe/doc-updates' into maint
Doc updates.

* fe/doc-updates:
  git-describe.1: clarify that "human readable" is also git-readable
  git-column.1: clarify initial description, provide examples
  git-archimport.1: specify what kind of Arch we're talking about
2018-11-21 22:57:58 +09:00
Junio C Hamano
2a98f6c2b5 Merge branch 'tg/t5551-with-curl-7.61.1' into maint
Test update.
Supersedes tz/t5551-with-curl-7.61.1 topic

* tg/t5551-with-curl-7.61.1:
  t5551: compare sorted cookies files
  t5551: move setup code inside test_expect blocks
2018-11-21 22:57:58 +09:00
Junio C Hamano
a75337341f Merge branch 'tq/refs-internal-comment-fix' into maint
Fix for typo in a sample code in comment.

* tq/refs-internal-comment-fix:
  refs: docstring typo
2018-11-21 22:57:58 +09:00
Junio C Hamano
85f6afc28b Merge branch 'sg/split-index-test' into maint
Test updates.

* sg/split-index-test:
  t0090: disable GIT_TEST_SPLIT_INDEX for the test checking split index
  t1700-split-index: drop unnecessary 'grep'
2018-11-21 22:57:57 +09:00
Junio C Hamano
3ae0ac65cf Merge branch 'bw/protocol-v2' into maint
Doc fix.

* bw/protocol-v2:
  config: document value 2 for protocol.version
2018-11-21 22:57:57 +09:00
Junio C Hamano
d5e4cbabcf Merge branch 'sb/string-list-remove-unused' into maint
Code clean-up.

* sb/string-list-remove-unused:
  string-list: remove unused function print_string_list
2018-11-21 22:57:56 +09:00
Junio C Hamano
d9e70a4e63 Merge branch 'jk/dev-build-format-security' into maint
Build tweak to help developers.

* jk/dev-build-format-security:
  config.mak.dev: add -Wformat-security
2018-11-21 22:57:56 +09:00
Junio C Hamano
9beaf81bce Merge branch 'sg/t3701-tighten-trace' into maint
Test update.

* sg/t3701-tighten-trace:
  t3701-add-interactive: tighten the check of trace output
2018-11-21 22:57:55 +09:00
Junio C Hamano
ab6409c66d Merge branch 'en/double-semicolon-fix' into maint
Code clean-up.

* en/double-semicolon-fix:
  Remove superfluous trailing semicolons
2018-11-21 22:57:55 +09:00
Junio C Hamano
761868b693 Merge branch 'tb/void-check-attr' into maint
Code clean-up.

* tb/void-check-attr:
  Make git_check_attr() a void function
2018-11-21 22:57:54 +09:00
Junio C Hamano
04b9bdbe16 Merge branch 'sg/doc-trace-appends' into maint
Docfix.

* sg/doc-trace-appends:
  Documentation/git.txt: clarify that GIT_TRACE=/path appends
2018-11-21 22:57:54 +09:00
Junio C Hamano
04d70dd648 Merge branch 'tg/conflict-marker-size' into maint
Developer aid.

* tg/conflict-marker-size:
  .gitattributes: add conflict-marker-size for relevant files
2018-11-21 22:57:53 +09:00