GeezerVison is showing github.com — test: focus pytest summary on unexpected failures by raisulchowdhury · Pull Request #2203 · gitpython-developers/GitPython
Conversation
Summary
- Use pytest failure/error summary modes instead of listing every expected failure.
- Keep aggregate failure, error, xfail, and skip counts available while making unexpected failures prominent.
Fixes #1891
Validation
- Reproduced the baseline and candidate output with an isolated pytest fixture containing one expected failure and one unexpected failure.
- git diff --check
The full GitPython suite was not run because its setup script mutates repository branches, tags, and reflogs; the focused reporter fixture directly exercises this configuration change.
Assisted-by: OpenAI Codex. AI assistance was used for investigation and implementation; the submitted diff and validation were reviewed before publication.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Use pytest's failure and error summary modes so expected-failure details do not obscure unexpected failures while retaining aggregate counts.
Assisted-by: OpenAI Codex
Signed-off-by: raisulchowdhury <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Updates the project’s pytest default options to reduce verbose reporting of expected failures (xfail) so CI output makes unexpected failures easier to spot, addressing #1891.
Changes:
- Switch pytest “extra summary” flags from
-ra (all non-passing, including xfail details) to -rfE (failures + errors only).
- Adjust the inline comment describing the summary mode.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
I do, however, think that the copilot comment should be looked into.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Include XPASS results while still omitting expected-failure detail, and document the exact report flags.\n\nAssisted-by: OpenAI Codex
Signed-off-by: raisulchowdhury <[email protected]>
|
Addressed the review request in commit 1d246f0:
- Changed the report flags from
-rfE to -rfEX so non-strict XPASS results remain visible while expected-failure details stay suppressed.
- Updated the inline comment to describe the exact flags.
- Rechecked the focused pytest reporter fixture with failed, xfailed, and xpassed cases.
Assisted-by: OpenAI Codex. The change and validation were reviewed before pushing.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
The Copilot points are addressed in 1d246f0: the report now uses -rfEX, and the inline comment documents the exact flags and their behavior. Both inline threads are now outdated. Could you re-review the updated commit when convenient?
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Byron
commented
Aug 4, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
This is how it looks now towards the end:
test/test_util.py::TestCygpath::test_cygpath_invalids[\\\\share\\a:rel] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[foo\\bar-foo/bar] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[foo/bar-foo/bar] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[C:\\Users-/cygdrive/c/Users] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[C:\\d/e-/cygdrive/c/d/e] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[C:\\-/cygdrive/c/] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[\\\\server\\C$\\Users-//server/C$/Users] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[\\\\server\\C$-//server/C$] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[\\\\server\\c$\\-//server/c$/] SKIPPED [ 97%]
test/test_util.py::TestCygpath::test_decygpath[\\\\server\\BAR/-//server/BAR/] SKIPPED [ 97%]
test/test_util.py::TestCygpath::test_decygpath[D:/Apps-/cygdrive/d/Apps] SKIPPED [ 97%]
test/test_util.py::TestCygpath::test_decygpath[D:/Apps\\fOO-/cygdrive/d/Apps/fOO] SKIPPED [ 97%]
test/test_util.py::TestCygpath::test_decygpath[D:\\Apps/123-/cygdrive/d/Apps/123] SKIPPED [ 97%]
test/test_util.py::TestIsCygwinGit::test_on_path_executable PASSED [ 97%]
test/test_util.py::TestIsCygwinGit::test_none_executable PASSED [ 97%]
test/test_util.py::TestIsCygwinGit::test_with_missing_uname PASSED [ 97%]
test/test_util.py::TestUtils::test_actor PASSED [ 98%]
test/test_util.py::TestUtils::test_actor_from_string PASSED [ 98%]
test/test_util.py::TestUtils::test_actor_get_uid_laziness_called PASSED [ 98%]
test/test_util.py::TestUtils::test_actor_get_uid_laziness_not_called PASSED [ 98%]
test/test_util.py::TestUtils::test_altz_to_utctz_str PASSED [ 98%]
test/test_util.py::TestUtils::test_blocking_lock_file PASSED [ 98%]
test/test_util.py::TestUtils::test_from_timestamp PASSED [ 98%]
test/test_util.py::TestUtils::test_it_should_dashify PASSED [ 98%]
test/test_util.py::TestUtils::test_iterable_list_1___name______ PASSED [ 99%]
test/test_util.py::TestUtils::test_iterable_list_2___name____prefix___ PASSED [ 99%]
test/test_util.py::TestUtils::test_lock_file PASSED [ 99%]
test/test_util.py::TestUtils::test_parse_date PASSED [ 99%]
test/test_util.py::TestUtils::test_pickle_tzoffset PASSED [ 99%]
test/test_util.py::TestUtils::test_remove_password_from_command_line PASSED [ 99%]
test/test_util.py::TestUtils::test_user_id PASSED [ 99%]
test/test_util.py::TestUtils::test_utctz_to_altz PASSED [100%]
=============================== warnings summary ===============================
test/test_submodule.py::TestSubmodule::test_add_does_not_expand_environment_variables_in_url
/home/runner/work/GitPython/GitPython/git/repo/base.py:257: UserWarning: The use of environment variables in paths is deprecated
for security reasons and may be removed in the future!!
warnings.warn(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================ tests coverage ================================
_______________ coverage: platform linux, python 3.11.15-final-0 _______________
Name Stmts Miss Cover
-------------------------------------------------------
git/__init__.py 49 5 90%
git/cmd.py 651 62 90%
git/compat.py 50 15 70%
git/config.py 489 45 91%
git/db.py 24 0 100%
git/diff.py 296 3 99%
git/exc.py 64 2 97%
git/index/__init__.py 3 0 100%
git/index/base.py 532 49 91%
git/index/fun.py 200 6 97%
git/index/typ.py 83 2 98%
git/index/util.py 50 1 98%
git/objects/__init__.py 7 0 100%
git/objects/base.py 84 3 96%
git/objects/blob.py 21 1 95%
git/objects/commit.py 337 25 93%
git/objects/fun.py 92 1 99%
git/objects/submodule/__init__.py 3 0 100%
git/objects/submodule/base.py 607 37 94%
git/objects/submodule/root.py 133 10 92%
git/objects/submodule/util.py 44 3 93%
git/objects/tag.py 43 8 81%
git/objects/tree.py 150 26 83%
git/objects/util.py 211 15 93%
git/refs/__init__.py 7 0 100%
git/refs/head.py 93 3 97%
git/refs/log.py 145 7 95%
git/refs/reference.py 54 2 96%
git/refs/remote.py 31 0 100%
git/refs/symbolic.py 398 17 96%
git/refs/tag.py 47 2 96%
git/remote.py 452 51 89%
git/repo/__init__.py 2 0 100%
git/repo/base.py 613 27 96%
git/repo/fun.py 422 83 80%
git/types.py 61 5 92%
git/util.py 562 129 77%
-------------------------------------------------------
TOTAL 7110 645 91%
====== 710 passed, 73 skipped, 1 xfailed, 1 warning in 112.18s (0:01:52) =======
This is how it looked before:
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-None-True] SKIPPED [ 89%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS--False] SKIPPED [ 89%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS- -False] SKIPPED [ 89%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-0-False] SKIPPED [ 89%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-1-True] SKIPPED [ 89%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-false-False] SKIPPED [ 89%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-true-True] SKIPPED [ 89%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-False-False] SKIPPED [ 89%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-True-True] SKIPPED [ 90%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-no-False] SKIPPED [ 90%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-yes-True] SKIPPED [ 90%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-NO-False] SKIPPED [ 90%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS-YES-True] SKIPPED [ 90%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS- no -False] SKIPPED [ 90%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_KNOWN_ERRORS- yes -True] SKIPPED [ 90%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-None-True] SKIPPED [ 90%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS--False] SKIPPED [ 91%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS- -False] SKIPPED [ 91%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-0-False] SKIPPED [ 91%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-1-True] SKIPPED [ 91%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-false-False] SKIPPED [ 91%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-true-True] SKIPPED [ 91%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-False-False] SKIPPED [ 91%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-True-True] SKIPPED [ 91%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-no-False] SKIPPED [ 92%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-yes-True] SKIPPED [ 92%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-NO-False] SKIPPED [ 92%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS-YES-True] SKIPPED [ 92%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS- no -False] SKIPPED [ 92%]
test/test_util.py::TestEnvParsing::test_env_vars_for_windows_tests[HIDE_WINDOWS_FREEZE_ERRORS- yes -True] SKIPPED [ 92%]
test/test_util.py::TestCygpath::test_cygpath_ok[foo\\bar-foo/bar] SKIPPED [ 92%]
test/test_util.py::TestCygpath::test_cygpath_ok[foo/bar-foo/bar] SKIPPED [ 92%]
test/test_util.py::TestCygpath::test_cygpath_ok[C:\\Users-/cygdrive/c/Users] SKIPPED [ 93%]
test/test_util.py::TestCygpath::test_cygpath_ok[C:\\d/e-/cygdrive/c/d/e] SKIPPED [ 93%]
test/test_util.py::TestCygpath::test_cygpath_ok[C:\\-/cygdrive/c/] SKIPPED [ 93%]
test/test_util.py::TestCygpath::test_cygpath_ok[\\\\server\\C$\\Users-//server/C$/Users] SKIPPED [ 93%]
test/test_util.py::TestCygpath::test_cygpath_ok[\\\\server\\C$-//server/C$] SKIPPED [ 93%]
test/test_util.py::TestCygpath::test_cygpath_ok[\\\\server\\c$\\-//server/c$/] SKIPPED [ 93%]
test/test_util.py::TestCygpath::test_cygpath_ok[\\\\server\\BAR/-//server/BAR/] SKIPPED [ 93%]
test/test_util.py::TestCygpath::test_cygpath_ok[D:/Apps-/cygdrive/d/Apps] SKIPPED [ 94%]
test/test_util.py::TestCygpath::test_cygpath_ok[D:/Apps\\fOO-/cygdrive/d/Apps/fOO] SKIPPED [ 94%]
test/test_util.py::TestCygpath::test_cygpath_ok[D:\\Apps/123-/cygdrive/d/Apps/123] SKIPPED [ 94%]
test/test_util.py::TestCygpath::test_cygpath_ok[\\\\?\\a:\\com-/cygdrive/a/com] SKIPPED [ 94%]
test/test_util.py::TestCygpath::test_cygpath_ok[\\\\?\\a:/com-/cygdrive/a/com] SKIPPED [ 94%]
test/test_util.py::TestCygpath::test_cygpath_ok[\\\\?\\UNC\\server\\D$\\Apps-//server/D$/Apps] SKIPPED [ 94%]
test/test_util.py::TestCygpath::test_cygpath_norm_ok[./bar-bar] SKIPPED [ 94%]
test/test_util.py::TestCygpath::test_cygpath_norm_ok[.\\bar-bar] SKIPPED [ 94%]
test/test_util.py::TestCygpath::test_cygpath_norm_ok[../bar-../bar] SKIPPED [ 95%]
test/test_util.py::TestCygpath::test_cygpath_norm_ok[..\\bar-../bar] SKIPPED [ 95%]
test/test_util.py::TestCygpath::test_cygpath_norm_ok[../bar/.\\foo/../chu-../bar/chu] SKIPPED [ 95%]
test/test_util.py::TestCygpath::test_cygpath_invalids[C:] SKIPPED (Paths
specifically for Cygwin.) [ 95%]
test/test_util.py::TestCygpath::test_cygpath_invalids[C:Relative] SKIPPED [ 95%]
test/test_util.py::TestCygpath::test_cygpath_invalids[D:Apps\\123] SKIPPED [ 95%]
test/test_util.py::TestCygpath::test_cygpath_invalids[D:Apps/123] SKIPPED [ 95%]
test/test_util.py::TestCygpath::test_cygpath_invalids[\\\\?\\a:rel] SKIPPED [ 95%]
test/test_util.py::TestCygpath::test_cygpath_invalids[\\\\share\\a:rel] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[foo\\bar-foo/bar] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[foo/bar-foo/bar] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[C:\\Users-/cygdrive/c/Users] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[C:\\d/e-/cygdrive/c/d/e] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[C:\\-/cygdrive/c/] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[\\\\server\\C$\\Users-//server/C$/Users] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[\\\\server\\C$-//server/C$] SKIPPED [ 96%]
test/test_util.py::TestCygpath::test_decygpath[\\\\server\\c$\\-//server/c$/] SKIPPED [ 97%]
test/test_util.py::TestCygpath::test_decygpath[\\\\server\\BAR/-//server/BAR/] SKIPPED [ 97%]
test/test_util.py::TestCygpath::test_decygpath[D:/Apps-/cygdrive/d/Apps] SKIPPED [ 97%]
test/test_util.py::TestCygpath::test_decygpath[D:/Apps\\fOO-/cygdrive/d/Apps/fOO] SKIPPED [ 97%]
test/test_util.py::TestCygpath::test_decygpath[D:\\Apps/123-/cygdrive/d/Apps/123] SKIPPED [ 97%]
test/test_util.py::TestIsCygwinGit::test_on_path_executable PASSED [ 97%]
test/test_util.py::TestIsCygwinGit::test_none_executable PASSED [ 97%]
test/test_util.py::TestIsCygwinGit::test_with_missing_uname PASSED [ 97%]
test/test_util.py::TestUtils::test_actor PASSED [ 98%]
test/test_util.py::TestUtils::test_actor_from_string PASSED [ 98%]
test/test_util.py::TestUtils::test_actor_get_uid_laziness_called PASSED [ 98%]
test/test_util.py::TestUtils::test_actor_get_uid_laziness_not_called PASSED [ 98%]
test/test_util.py::TestUtils::test_altz_to_utctz_str PASSED [ 98%]
test/test_util.py::TestUtils::test_blocking_lock_file PASSED [ 98%]
test/test_util.py::TestUtils::test_from_timestamp PASSED [ 98%]
test/test_util.py::TestUtils::test_it_should_dashify PASSED [ 98%]
test/test_util.py::TestUtils::test_iterable_list_1___name______ PASSED [ 99%]
test/test_util.py::TestUtils::test_iterable_list_2___name____prefix___ PASSED [ 99%]
test/test_util.py::TestUtils::test_lock_file PASSED [ 99%]
test/test_util.py::TestUtils::test_parse_date PASSED [ 99%]
test/test_util.py::TestUtils::test_pickle_tzoffset PASSED [ 99%]
test/test_util.py::TestUtils::test_remove_password_from_command_line PASSED [ 99%]
test/test_util.py::TestUtils::test_user_id PASSED [ 99%]
test/test_util.py::TestUtils::test_utctz_to_altz PASSED [100%]
=============================== warnings summary ===============================
test/test_submodule.py::TestSubmodule::test_add_does_not_expand_environment_variables_in_url
/home/runner/work/GitPython/GitPython/git/repo/base.py:257: UserWarning: The use of environment variables in paths is deprecated
for security reasons and may be removed in the future!!
warnings.warn(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================ tests coverage ================================
________________ coverage: platform linux, python 3.15.0-beta-4 ________________
Name Stmts Miss Cover
-------------------------------------------------------
git/__init__.py 49 5 90%
git/cmd.py 651 62 90%
git/compat.py 50 15 70%
git/config.py 489 45 91%
git/db.py 24 0 100%
git/diff.py 295 3 99%
git/exc.py 64 2 97%
git/index/__init__.py 3 0 100%
git/index/base.py 532 49 91%
git/index/fun.py 200 6 97%
git/index/typ.py 79 2 97%
git/index/util.py 50 1 98%
git/objects/__init__.py 7 0 100%
git/objects/base.py 84 3 96%
git/objects/blob.py 21 1 95%
git/objects/commit.py 336 25 93%
git/objects/fun.py 92 1 99%
git/objects/submodule/__init__.py 3 0 100%
git/objects/submodule/base.py 620 37 94%
git/objects/submodule/root.py 133 10 92%
git/objects/submodule/util.py 44 3 93%
git/objects/tag.py 43 8 81%
git/objects/tree.py 150 26 83%
git/objects/util.py 208 15 93%
git/refs/__init__.py 7 0 100%
git/refs/head.py 93 3 97%
git/refs/log.py 145 7 95%
git/refs/reference.py 54 2 96%
git/refs/remote.py 31 0 100%
git/refs/symbolic.py 398 17 96%
git/refs/tag.py 47 2 96%
git/remote.py 451 51 89%
git/repo/__init__.py 2 0 100%
git/repo/base.py 613 27 96%
git/repo/fun.py 422 83 80%
git/types.py 49 5 90%
git/util.py 561 129 77%
-------------------------------------------------------
TOTAL 7100 645 91%
=========================== short test summary info ============================
SKIPPED [1] test/test_clone.py:97: The referenced repository was removed, and one needs to set up a new
password controlled repo under the org's control.
SKIPPED [1] test/test_config.py:91: Known failure -- included values are not in effect right away
SKIPPED [1] test/test_git.py:369: The regression only affected Windows, and this test logic is OS-specific.
SKIPPED [1] test/test_submodule.py:1294: Specifically for Windows.
SKIPPED [1] test/test_util.py:176: PermissionError is only ever wrapped on Windows
SKIPPED [30] test/test_util.py:241: These environment variables are only used on Windows.
SKIPPED [15] test/test_util.py:336: Paths specifically for Cygwin.
SKIPPED [5] test/test_util.py:341: Paths specifically for Cygwin.
SKIPPED [6] test/test_util.py:355: Paths specifically for Cygwin.
SKIPPED [12] test/test_util.py:370: Paths specifically for Cygwin.
XFAIL test/test_submodule.py::TestSubmodule::test_depth - for some unknown reason the assertion fails, even though it in fact is working in more common setup
======= 711 passed, 73 skipped, 1 xfailed, 1 warning in 98.03s (0:01:38) =======
So it's pretty much the same for the common case, but… let's try it out more to see if some of my confusion when looking at errors in particular will be reduced.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Reviewers
Byron
Byron requested changes
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|