Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tmt add gives spurious errors when adding non-existent branch, with rerere enabled #2

Open
benclifford opened this issue Oct 21, 2018 · 0 comments

Comments

@benclifford
Copy link
Owner

When adding a non-existent branch, git merge fails during materialise.

But with rerere enabled, a merge failure doesn't cause a materialise failure directly.

tmt asks rerere if there are any unresolved merge conflicts (which there aren't - because a merge didn't happen at all), and then tries to git commit the rerere-resolved conflicts that it assumes exist and are committable - but they do not exist.

So materialise fails, as desired, but it fails due to that git commit failing after a chain of unnecessary and confusing attempts at doing something.

Sample output:

benc@fitzroy:~/parsl/src/parsl$ tmt add benc-factor-launch
+ git config rerere.enabled
tmt: temporary merge tool
tmt: Reading context
tmt: Loaded context is: reload-configs-#549, master, mpi_executor_heartbeat, benc-doc-fiddles, benc-filescheme, origin/benc-executor-label, benc-apperrors-apptimeout, benc-apperrors-deserialisation, benc-apperrors-bad-formatting, benc-mypy-550, benc-mypy, benc-remove-timeout
tmt: Adding branch benc-factor-launch
tmt: Materialising context: reload-configs-#549, master, mpi_executor_heartbeat, benc-doc-fiddles, benc-filescheme, origin/benc-executor-label, benc-apperrors-apptimeout, benc-apperrors-deserialisation, benc-apperrors-bad-formatting, benc-mypy-550, benc-mypy, benc-remove-timeout, benc-factor-launch
+ git checkout --detach reload-configs-#549
Warning: you are leaving 5 commits behind, not connected to
any of your branches:

  e40536d3 tmt: merging in benc-remove-timeout
  188d5e9a tmt: merging in benc-mypy
  fc865e35 tmt: merging in benc-mypy-550 -- attempted rerere fix
  39f7498c tmt: merging in benc-apperrors-apptimeout
  4f8bf2dd tmt: merging in master

If you want to keep them by creating a new branch, this may be a good time
to do so with:

 git branch <new-branch-name> e40536d3

HEAD is now at 97cecabe... Correct reference to DataManager, not DataFlowKernel
Your branch is up-to-date with 'origin/reload-configs-#549'.
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in master' master
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in mpi_executor_heartbeat' mpi_executor_heartbeat
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-doc-fiddles' benc-doc-fiddles
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-filescheme' benc-filescheme
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in origin/benc-executor-label' origin/benc-executor-label
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-apperrors-apptimeout' benc-apperrors-apptimeout
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-apperrors-deserialisation' benc-apperrors-deserialisation
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-apperrors-bad-formatting' benc-apperrors-bad-formatting
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-mypy-550' benc-mypy-550
tmt: Merge failed
tmt: Merge stdout:
Auto-merging requirements.txt
CONFLICT (content): Merge conflict in requirements.txt
Auto-merging parsl/data_provider/files.py
Auto-merging parsl/__init__.py
Automatic merge failed; fix conflicts and then commit the result.

tmt: Merge stderr:
Resolved 'requirements.txt' using previous resolution.

+ git rerere remaining
tmt: git rerere reports no remaining conflicts, so committing
+ git commit -a -m 'tmt: merging in benc-mypy-550 -- attempted rerere fix'
[detached HEAD a90f5ac1] tmt: merging in benc-mypy-550 -- attempted rerere fix
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-mypy' benc-mypy
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-remove-timeout' benc-remove-timeout
+ git config rerere.enabled
+ git merge --no-ff -m 'tmt: merging in benc-factor-launch' benc-factor-launch
tmt: Merge failed
tmt: Merge stdout:

tmt: Merge stderr:
merge: benc-factor-launch - not something we can merge

+ git rerere remaining
tmt: git rerere reports no remaining conflicts, so committing
+ git commit -a -m 'tmt: merging in benc-factor-launch -- attempted rerere fix'
HEAD detached from refs/heads/reload-configs-#549
Untracked files:
[...]
nothing added to commit but untracked files present
tmt: callCommand: git commit -a -m 'tmt: merging in benc-factor-launch -- attempted rerere fix' (exit 1): failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant