summaryrefslogtreecommitdiff
path: root/t
AgeCommit message (Collapse)AuthorFilesLines
2020-11-25config: implement --fixed-value with --get*Libravatar Derrick Stolee1-0/+22
The config builtin does its own regex matching of values for the --get, --get-all, and --get-regexp modes. Plumb the existing 'flags' parameter to the get_value() method so we can initialize the value-pattern argument as a fixed string instead of a regex pattern. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-25config: plumb --fixed-value into config APILibravatar Derrick Stolee1-0/+50
The git_config_set_multivar_in_file_gently() and related methods now take a 'flags' bitfield, so add a new bit representing the --fixed-value option from 'git config'. This alters the purpose of the value_pattern parameter to be an exact string match. This requires some initialization changes in git_config_set_multivar_in_file_gently() and a new strcmp() call in the matches() method. The new CONFIG_FLAGS_FIXED_VALUE flag is initialized in builtin/config.c based on the --fixed-value option, and that needs to be updated in several callers. This patch only affects some of the modes of 'git config', and the rest will be completed in the next change. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-25config: add --fixed-value option, un-implementedLibravatar Derrick Stolee1-0/+24
The 'git config' builtin takes a 'value-pattern' parameter for several actions. This can cause confusion when expecting exact value matches instead of regex matches, especially when the input string contains metacharacters. While callers can escape the patterns themselves, it would be more friendly to allow an argument to disable the pattern matching in favor of an exact string match. Add a new '--fixed-value' option that does not currently change the behavior. The implementation will be filled in by later changes for each appropriate action. For now, check and test that --fixed-value will abort the command when included with an incompatible action or without a 'value-pattern' argument. The name '--fixed-value' was chosen over something simpler like '--fixed' because some commands allow regular expressions on the key in addition to the value. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-25t1300: add test for --replace-all with value-patternLibravatar Derrick Stolee1-0/+14
The --replace-all option was added in 4ddba79d (git-config-set: add more options) but was not tested along with the 'value-pattern' parameter. Since we will be updating this option to optionally treat 'value-pattern' as a fixed string, let's add a test here that documents the current behavior. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-25t1300: test "set all" mode with value-patternLibravatar Derrick Stolee1-0/+39
Without additional modifiers, 'git config <key> <value>' attempts to set a single value in the .git/config file. When the value-pattern parameter is supplied, this command behaves in a non-trivial manner. Consider 'git config <key> <value> <value-pattern>'. The expected behavior is as follows: 1. If there are multiple existing values that match 'value-pattern', then the command fails. Users should use --replace-all instead. 2. If there is no existing values match 'value-pattern', then the 'key=value' pair is appended, making this 'key' a multi-valued config setting. 3. If there is one existing value that matches 'value-pattern', then the new config has one entry where 'key=value'. Add a test that demonstrates these options. Break from the existing pattern in t1300-config.sh to use 'git config --file=<file>' instead of modifying .git/config directly to prevent possibly incompatible repo states. Also use 'git config --file=<file> --list' for config state comparison instead of the config file format. This makes the tests more readable. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-18Merge branch 'jc/blame-ignore-fix'Libravatar Junio C Hamano1-2/+2
"git blame --ignore-revs-file=<file>" learned to ignore a non-existent object name in the input, instead of complaining. * jc/blame-ignore-fix: blame: silently ignore invalid ignore file objects
2020-11-18Merge branch 'pb/blame-funcname-range-userdiff'Libravatar Junio C Hamano1-0/+18
"git blame -L :funcname -- path" did not work well for a path for which a userdiff driver is defined. * pb/blame-funcname-range-userdiff: blame: simplify 'setup_blame_bloom_data' interface blame: simplify 'setup_scoreboard' interface blame: enable funcname blaming with userdiff driver line-log: mention both modes in 'blame' and 'log' short help doc: add more pointers to gitattributes(5) for userdiff blame-options.txt: also mention 'funcname' in '-L' description doc: line-range: improve formatting doc: log, gitk: move '-L' description to 'line-range-options.txt'
2020-11-18Merge branch 'en/merge-ort-api-null-impl'Libravatar Junio C Hamano3-0/+213
Preparation for a new merge strategy. * en/merge-ort-api-null-impl: merge,rebase,revert: select ort or recursive by config or environment fast-rebase: demonstrate merge-ort's API via new test-tool command merge-ort-wrappers: new convience wrappers to mimic the old merge API merge-ort: barebones API of new merge strategy with empty implementation
2020-11-18Merge branch 'ds/maintenance-part-3'Libravatar Junio C Hamano6-1/+232
Parts of "git maintenance" to ease writing crontab entries (and other scheduling system configuration) for it. * ds/maintenance-part-3: maintenance: add troubleshooting guide to docs maintenance: use 'incremental' strategy by default maintenance: create maintenance.strategy config maintenance: add start/stop subcommands maintenance: add [un]register subcommands for-each-repo: run subcommands on configured repos maintenance: add --schedule option and config maintenance: optionally skip --auto process
2020-11-18Merge branch 'pw/rebase-i-orig-head'Libravatar Junio C Hamano1-0/+11
"git rebase -i" did not store ORIG_HEAD correctly. * pw/rebase-i-orig-head: rebase -i: simplify get_revision_ranges() rebase -i: use struct object_id when writing state rebase -i: use struct object_id rather than looking up commit rebase -i: stop overwriting ORIG_HEAD buffer
2020-11-18Merge branch 'jk/format-patch-output'Libravatar Junio C Hamano1-0/+33
"git format-patch --output=there" did not work as expected and instead crashed. The option is now supported. * jk/format-patch-output: format-patch: support --output option format-patch: tie file-opening logic to output_directory format-patch: refactor output selection
2020-11-18Merge branch 'jc/line-log-takes-no-pathspec'Libravatar Junio C Hamano1-0/+22
"git log -L<range>:<path>" is documented to take no pathspec, but this was not enforced by the command line option parser, which has been corrected. * jc/line-log-takes-no-pathspec: log: diagnose -L used with pathspec as an error
2020-11-18Merge branch 'nk/perf-fsmonitor'Libravatar Junio C Hamano1-31/+63
Add t/perf support for fsmonitor. * nk/perf-fsmonitor: t/perf/fsmonitor: add benchmark for dirty status t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations t/perf/fsmonitor: initialize test with git reset t/perf/fsmonitor: factor setup for fsmonitor into function t/perf/fsmonitor: silence initial git commit t/perf/fsmonitor: shorten DESC to basename t/perf/fsmonitor: factor description out for readability t/perf/fsmonitor: improve error message if typoing hook name t/perf/fsmonitor: move watchman setup to one-time-repo-setup t/perf/fsmonitor: separate one time repo initialization
2020-11-18Merge branch 'en/merge-tests'Libravatar Junio C Hamano13-386/+807
Preparation for a new merge strategy. * en/merge-tests: t6423: add more details about direct resolution of directories t6423: note improved ort handling with untracked files t6423, t6436: note improved ort handling with dirty files merge tests: expect slight differences in output for recursive vs. ort t6423: expect improved conflict markers labels in the ort backend t6404, t6423: expect improved rename/delete handling in ort backend t6416: correct expectation for rename/rename(1to2) + directory/file merge tests: expect improved directory/file conflict handling in ort t/: new helper for tests that pass with ort but fail with recursive
2020-11-18Merge branch 'js/default-branch-name-adjust-t5515'Libravatar Junio C Hamano128-305/+308
Prepare a test script to transition of the default branch name to 'main'. * js/default-branch-name-adjust-t5515: t5515: use `main` as the name of the main branch for testing (conclusion) t5515: use `main` as the name of the main branch for testing (part 3) t5515: use `main` as the name of the main branch for testing (part 2) t5515: use `main` as the name of the main branch for testing (part 1)
2020-11-18Merge branch 'dd/upload-pack-stateless-eof'Libravatar Junio C Hamano1-0/+17
"git fetch --depth=<n>" over the stateless RPC / smart HTTP transport handled EOF from the client poorly at the server end. * dd/upload-pack-stateless-eof: upload-pack: allow stateless client EOF just prior to haves
2020-11-11Merge branch 'js/test-file-size'Libravatar Junio C Hamano5-42/+24
Test clean-up. * js/test-file-size: tests: consolidate the `file_size` function into `test-lib-functions.sh`
2020-11-11Merge branch 'js/test-whitespace-fixes'Libravatar Junio C Hamano7-112/+113
Test code clean-up. * js/test-whitespace-fixes: t9603: use tabs for indentation t5570: remove trailing padding t5400,t5402: consistently indent with tabs, not with spaces t3427: adjust stale comment t3406: indent with tabs, not spaces t1004: insert missing "branch" in a message
2020-11-11Merge branch 'rs/worktree-list-show-locked'Libravatar Junio C Hamano1-1/+1
Typofix. * rs/worktree-list-show-locked: t2402: fix typo
2020-11-10blame: silently ignore invalid ignore file objectsLibravatar René Scharfe1-2/+2
Since 610e2b9240 (blame: validate and peel the object names on the ignore list, 2020-09-24) git blame reports checks if objects specified with --ignore-rev and in files loaded with --ignore-revs-file and config option blame.ignoreRevsFile are actual objects and dies if they aren't. The intent is to report typos to the user. This also breaks the ability to use a single ignore file for multiple repositories. Typos are presumably less likely in files than on the command line, so alerting is less useful here. Restore that feature by skipping non-commits without dying. Reported-by: Jean-Yves Avenard <jyavenard@mozilla.com> Signed-off-by: René Scharfe <l.s.r@web.de> Reviewed-by: Barret Rhoden <brho@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-09Merge branch 'js/default-branch-name-adjust-t5411'Libravatar Junio C Hamano32-723/+726
Prepare a test script to transition of the default branch name to 'main'. * js/default-branch-name-adjust-t5411: t5411: finish preparing for `main` being the default branch name t5411: adjust the remaining support files for init.defaultBranch=main t5411: start adjusting the support files for init.defaultBranch=main t5411: start using the default branch name "main"
2020-11-09Merge branch 'fc/zsh-completion'Libravatar Junio C Hamano1-1/+1
Zsh autocompletion (in contrib/) update. * fc/zsh-completion: (29 commits) zsh: update copyright notices completion: bash: remove old compat wrappers completion: bash: cleanup cygwin check completion: bash: trivial cleanup completion: zsh: add simple version check completion: zsh: trivial simplification completion: zsh: add alias descriptions completion: zsh: improve command tags completion: zsh: refactor command completion completion: zsh: shuffle functions around completion: zsh: simplify file_direct completion: zsh: simplify nl_append completion: zsh: trivial cleanup completion: zsh: simplify direct compadd completion: zsh: simplify compadd functions completion: zsh: fix splitting of words completion: zsh: add missing direct_append completion: fix conflict with bashcomp completion: zsh: fix completion for --no-.. options completion: bash: remove zsh wrapper ...
2020-11-09Merge branch 'jk/sideband-more-error-checking'Libravatar Junio C Hamano1-0/+12
The code to detect premature EOF in the sideband demultiplexer has been cleaned up. * jk/sideband-more-error-checking: sideband: diagnose more sideband anomalies
2020-11-09Merge branch 'ab/git-remote-exit-code'Libravatar Junio C Hamano1-8/+8
Exit codes from "git remote add" etc. were not usable by scripted callers. * ab/git-remote-exit-code: remote: add meaningful exit code on missing/existing
2020-11-09Merge branch 'pb/ref-filter-with-crlf'Libravatar Junio C Hamano1-0/+126
A commit and tag object may have CR at the end of each and every line (you can create such an object with hash-object or using --cleanup=verbatim to decline the default clean-up action), but it would make it impossible to have a blank line to separate the title from the body of the message. Be lenient and accept a line with lone CR on it as a blank line, too. * pb/ref-filter-with-crlf: log, show: add tests for messages containing CRLF ref-filter: handle CRLF at end-of-line more gracefully
2020-11-09Merge branch 'jk/checkout-index-errors'Libravatar Junio C Hamano2-1/+20
"git checkout-index" did not consistently signal an error with its exit status. * jk/checkout-index-errors: checkout-index: propagate errors to exit code checkout-index: drop error message from empty --stage=all
2020-11-09Merge branch 'jk/perl-warning'Libravatar Junio C Hamano1-0/+6
Dev support. * jk/perl-warning: perl: check for perl warnings while running tests
2020-11-09Merge branch 'nk/diff-files-vs-fsmonitor'Libravatar Junio C Hamano5-48/+68
"git diff" and other commands that share the same machinery to compare with working tree files have been taught to take advantage of the fsmonitor data when available. * nk/diff-files-vs-fsmonitor: p7519-fsmonitor: add a git add benchmark p7519-fsmonitor: refactor to avoid code duplication perf lint: add make test-lint to perf tests t/perf: add fsmonitor perf test for git diff t/perf/p7519-fsmonitor.sh: warm cache on first git status t/perf/README: elaborate on output format fsmonitor: use fsmonitor data in `git diff`
2020-11-09Merge branch 'as/tests-cleanup'Libravatar Junio C Hamano2-2/+4
Micro clean-up of a couple of test scripts. * as/tests-cleanup: t2200,t9832: avoid using 'git' upstream in a pipe
2020-11-09Merge branch 'en/dir-rename-tests'Libravatar Junio C Hamano1-47/+545
More preliminary tests have been added to document desired outcome of various "directory rename" situations. * en/dir-rename-tests: t6423: more involved rules for renaming directories into each other t6423: update directory rename detection tests with new rule t6423: more involved directory rename test directory-rename-detection.txt: update references to regression tests
2020-11-09t9603: use tabs for indentationLibravatar Johannes Schindelin1-12/+12
This patch will let the new `check-whitespace` GitHub workflow be happy with the upcoming patch series that wants to search-and-replace `master` with `main` in t9603 and some other test scripts. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-09t5570: remove trailing paddingLibravatar Johannes Schindelin1-6/+6
Two blocks in t5570 want to align the closing double quotes, padding with spaces if needed. Since the maximum length of those lines is defined by the branch name `master`, the upcoming rename to `main` would unalign the quotes. But then, it is unclear how those aligned closing quotes should help readability anyway, so let's just remove that padding altogether. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-09t5400,t5402: consistently indent with tabs, not with spacesLibravatar Johannes Schindelin2-84/+85
This patch actually prepares for the upcoming patches to replace `master` with `main` in these tests: we do not want those changes to be flagged by the new `check-whitespace` GitHub workflow (even if those changes do not introduce the whitespace issues, they touch lines affected by those issues without fixing them). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-09t3427: adjust stale commentLibravatar Johannes Schindelin1-1/+1
In b6211b89eb3 (tests: avoid variations of the `master` branch name, 2020-09-26), the `master[123]` branch names were renamed to `topic_[123]`. A non-literal mention of the corresponding files was missed in that commit. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-09t3406: indent with tabs, not spacesLibravatar Johannes Schindelin1-8/+8
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-09t1004: insert missing "branch" in a messageLibravatar Johannes Schindelin1-1/+1
The message in question reads awkward with the name "master", but will be even more confusing once that is renamed to "main". Let's adjust it in advance of said rename. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-06tests: consolidate the `file_size` function into `test-lib-functions.sh`Libravatar Johannes Schindelin5-42/+24
In 8de7eeb54b6 (compression: unify pack.compression configuration parsing, 2016-11-15), we introduced identical copies of the `file_size` helper into three test scripts, with the plan to eventually consolidate them into a single copy. Let's do that, and adjust the function name to adhere to the `test_*` naming convention. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Reviewed-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-04rebase -i: stop overwriting ORIG_HEAD bufferLibravatar Phillip Wood1-0/+11
After rebasing, ORIG_HEAD is supposed to point to the old HEAD of the rebased branch. The code used find_unique_abbrev() to obtain the object name of the old HEAD and wrote to both .git/rebase-merge/orig-head (used by `rebase --abort` to go back to the previous state) and to ORIG_HEAD. The buffer find_unique_abbrev() gives back is volatile, unfortunately, and was overwritten after the former file is written but before ORIG_FILE is written, leaving an incorrect object name in it. Avoid relying on the volatile buffer of find_unique_abbrev(), and instead supply our own buffer to keep the object name. I think that all of the users of head_hash should actually be using opts->orig_head instead as passing a string rather than a struct object_id around is a hang over from the scripted implementation. This patch just fixes the immediate bug and adds a regression test based on Caspar's reproduction example[1]. The users will be converted to use struct object_id and head_hash removed in the next few commits. [1] https://lore.kernel.org/git/CAFzd1+7PDg2PZgKw7U0kdepdYuoML9wSN4kofmB_-8NHrbbrHg@mail.gmail.com Reported-by: Caspar Duregger <herr.kaste@gmail.com> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-04format-patch: support --output optionLibravatar Jeff King1-3/+23
We've never intended to support diff's --output option in format-patch. And until baa4adc66a (parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN, 2019-01-27), it was impossible to trigger. We first parse the format-patch options before handing the remainder off to setup_revisions(). Before that commit, we'd accept "--output=foo" as an abbreviation for "--output-directory=foo". But afterwards, we don't check abbreviations, and --output gets passed to the diff code. This results in nonsense behavior and bugs. The diff code will have opened a filehandle at rev.diffopt.file, but we'll overwrite that with our own handles that we open for each individual patch file. So the --output file will always just be empty. But worse, the diff code also sets rev.diffopt.close_file, so log_tree_commit() will close the filehandle itself. And then the main loop in cmd_format_patch() will try to close it again, resulting in a double-free. The simplest solution would be to just disallow --output with format-patch, as nobody ever intended it to work. However, we have accidentally documented it (because format-patch includes diff-options). And it does work with "git log", which writes the whole output to the specified file. It's easy enough to make that work for format-patch, too: it's really the same as --stdout, but pointed at a specific file. We can detect the use of the --output option by the "close_file" flag (note that we can't use rev.diffopt.file, since the diff setup will otherwise set it to stdout). So we just need to unset that flag, but don't have to do anything else. Our situation is otherwise exactly like --stdout (note that we don't fclose() the file, but nor does the stdout case; exiting the program takes care of that for us). Reported-by: Johannes Postler <johannes.postler@txture.io> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-04format-patch: refactor output selectionLibravatar Jeff King1-0/+13
The --stdout and --output-directory options are mutually exclusive, but it's hard to tell from reading the code. We have three separate conditionals that check for use_stdout, and it's only after we've set up the output_directory fully that we check whether the user also specified --stdout. Instead, let's check the exclusion explicitly first, then have a single conditional that handles stdout versus an output directory. This is slightly easier to follow now, and also will keep things sane when we add another output mode in a future patch. We'll add a few tests as well, covering the mutual exclusion and the fact that we are not confused by a configured output directory. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-04log: diagnose -L used with pathspec as an errorLibravatar Junio C Hamano1-0/+22
The -L option is documented to accept no pathspec, but the command line option parser has allowed the combination without checking so far. Ensure that there is no pathspec when the -L option is in effect to fix this. Incidentally, this change fixes another bug in the command line option parser, which has allowed the -L option used together with the --follow option. Because the latter requires exactly one path given, but the former takes no pathspec, they become mutually incompatible automatically. Because the -L option follows renames on its own, there is no reason to give --follow at the same time. The new tests say they may fail with "-L and --follow being incompatible" instead of "-L and pathspec being incompatible". Currently the expected failure can come only from the latter, but this is to futureproof them, in case we decide to add code to explicititly die on -L and --follow used together. Heled-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-03t2402: fix typoLibravatar Johannes Schindelin1-1/+1
In c57b3367bed (worktree: teach `list` to annotate locked worktree, 2020-10-11), we introduced a test case that wanted to talk about "worktrees" but talked about "worktress" instead. Let's fix that. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-02t5515: use `main` as the name of the main branch for testing (conclusion)Libravatar Johannes Schindelin1-6/+1
In the previous three commits, We prepared the `t5515` script and the files in `t/t5515/` for the upcoming change of the default branch name to `main`. The changes were made over the course of three commits because the overall patch would have been too big to send to the Git mailing list for review. Naturally, the test could not pass in the transitional stages and was therefore disabled via the `PREPARE_FOR_MAIN_BRANCH` prereq. Now that the transition is complete, we can re-enable it. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-02t5515: use `main` as the name of the main branch for testing (part 3)Libravatar Johannes Schindelin65-171/+171
In the previous two commits, We just started preparing the `t5515` script and part of `t/t5515/` for the upcoming change of the default branch name to `main`. This patch adjusts the remainder of the supporting material in `t/t5515/` (the patch adjusting all of `t/t5515/` would have weighed more than 100kB and therefore not made it to the Git mailing list for review). Similar to what we did for the `t5515` script itself in the previous commit, this patch was generated via: sed -i -e 's/master/main/g' -e 's/Master/Main/g' \ -e 's/6c9dec2b923228c9ff994c6cfe4ae16c12408dc5/ecf3b3627b498bdcb735cc4343bf165f76964e9a/g' \ -e 's/8521c3072461fcfe8f32d67f95cc6e6b832a2db2fa29769ffc788bce85ebcd75/fff666109892bb4b1c80cd1649d2d8762a0663db8b5d46c8be98360b64fbba5f/g' \ -e 's/754b754407bf032e9a2f9d5a9ad05ca79a6b228f/b4ab76b1a01ea602209932134a44f1e6bd610832/g' \ -e 's/6c7abaea8a6d8ef4d89877e68462758dc6774690fbbbb0e6d7dd57415c9abde0/380ebae0113f877ce46fcdf39d5bc33e4dc0928db5c5a4d5fdc78381c4d55ae3/g' \ -- t/t5515/refs.* In addition to that, we need to adjust some file _names_ in `t/t5515/` because they encode the branch name: eval "$(git ls-files t/t5515/refs.\* | sed -n \ -e 's/\(.*\)master\(.*\)/git mv & \1main\2;/p')" Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-02t5515: use `main` as the name of the main branch for testing (part 2)Libravatar Johannes Schindelin62-122/+122
We just started preparing t5515 for the upcoming change of the default branch name to `main`. This patch adjusts roughly half of the supporting material in `t/t5515/` (the patch adjusting all of `t/t5515/` would have weighed more than 100kB and therefore not made it to the Git mailing list for review). Similar to what we did for the `t5515` script itself in the previous commit, this patch was generated via: sed -i -e 's/master/main/g' -e 's/Master/Main/g' \ -e 's/6c9dec2b923228c9ff994c6cfe4ae16c12408dc5/ecf3b3627b498bdcb735cc4343bf165f76964e9a/g' \ -e 's/8521c3072461fcfe8f32d67f95cc6e6b832a2db2fa29769ffc788bce85ebcd75/fff666109892bb4b1c80cd1649d2d8762a0663db8b5d46c8be98360b64fbba5f/g' \ -e 's/754b754407bf032e9a2f9d5a9ad05ca79a6b228f/b4ab76b1a01ea602209932134a44f1e6bd610832/g' \ -e 's/6c7abaea8a6d8ef4d89877e68462758dc6774690fbbbb0e6d7dd57415c9abde0/380ebae0113f877ce46fcdf39d5bc33e4dc0928db5c5a4d5fdc78381c4d55ae3/g' \ -- t/t5515/fetch.* In addition to that, we need to adjust some file _names_ in `t/t5515/` because they encode the branch name: eval "$(git ls-files t/t5515/fetch.\* | sed -n \ -e 's/\(.*\)master\(.*\)/git mv & \1main\2;/p')" Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-02t5515: use `main` as the name of the main branch for testing (part 1)Libravatar Johannes Schindelin1-12/+20
As part of the effort to change the default branch name to `main`, let's prepare t5515. In addition to adjusting the references to the branch name itself, this also requires two commit hashes to be adjusted (actually four, as there is a SHA-1 _and_ a SHA-256 of both). That trick was performed by running sed -i -e 's/master/main/g' -e 's/Master/Main/g' \ -e 's/6c9dec2b923228c9ff994c6cfe4ae16c12408dc5/ecf3b3627b498bdcb735cc4343bf165f76964e9a/g' \ -e 's/8521c3072461fcfe8f32d67f95cc6e6b832a2db2fa29769ffc788bce85ebcd75/fff666109892bb4b1c80cd1649d2d8762a0663db8b5d46c8be98360b64fbba5f/g' \ -e 's/754b754407bf032e9a2f9d5a9ad05ca79a6b228f/b4ab76b1a01ea602209932134a44f1e6bd610832/g' \ -e 's/6c7abaea8a6d8ef4d89877e68462758dc6774690fbbbb0e6d7dd57415c9abde0/380ebae0113f877ce46fcdf39d5bc33e4dc0928db5c5a4d5fdc78381c4d55ae3/g' \ -- t/t5515-*.sh These commit hashes have been determined manually, of course, by running the test after adjusting only the branch names, and then copying the hashes from the log of the failed run. Note: this patch only touches the t5515 script so far, not the supporting material in t/t5515/. The resulting patch would have weighed over 100kB and therefore the Git mailing list would have dropped it. The files in t/t5515/ will be adjusted in the next two commits. As t5515 would fail without these adjustments, we temporarily skip it via the `PREPARE_FOR_MAIN_BRANCH` prereq. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-02Merge branch 'js/default-branch-name-part-4-minus-1'Libravatar Junio C Hamano17-106/+123
Adjust tests so that they won't scream when the default initial branch name is changed to 'main'. * js/default-branch-name-part-4-minus-1: t1400: prepare for `main` being default branch name tests: prepare aligned mentions of the default branch name t9902: prepare a test for the upcoming default branch name t3200: prepare for `main` being shorter than `master` t5703: adjust a test case for the upcoming default branch name t6200: adjust suppression pattern to also match "main" tests: start moving to a different default main branch name t9801: use `--` in preparation for default branch rename fmt-merge-msg: also suppress "into main" by default
2020-11-02Merge branch 've/userdiff-bash'Libravatar Junio C Hamano16-0/+67
The userdiff pattern learned to identify the function definition in POSIX shells and bash. * ve/userdiff-bash: userdiff: support Bash
2020-11-02Merge branch 'js/t7006-cleanup'Libravatar Junio C Hamano1-42/+42
Code clean-up. * js/t7006-cleanup: t7006: Use test_path_is_* functions in test script
2020-11-02Merge branch 'mk/diff-ignore-regex'Libravatar Junio C Hamano2-0/+140
"git diff" family of commands learned the "-I<regex>" option to ignore hunks whose changed lines all match the given pattern. * mk/diff-ignore-regex: diff: add -I<regex> that ignores matching changes merge-base, xdiff: zero out xpparam_t structures