Skydio / revup

Effortlessly create and manage pull requests without changing branches. Powers a stacked diffs workflow with python and git "plumbing" commands.
https://github.com/Skydio/revup
MIT License
310 stars 59 forks source link

README compatibility section out of date due to git-merge-tree merge-base #122

Closed navignaw closed 1 year ago

navignaw commented 1 year ago

Describe the bug The README's compatibility section is out of date. It claims that git 2.36 or higher is required; however, https://github.com/Skydio/revup/commit/caa2b08d21eddc09039a11959d6412e34dd1dcb5 introduced a new merge-base argument to git-merge-tree, which only appears to be supported in 2.40 and above (https://github.com/git/git/blob/v2.40.0/Documentation/RelNotes/2.40.0.txt#L6).

Expected behavior The compatibility docs should specify that 2.40 or higher is required.

To Reproduce Run revup upload

Logs Terminal output from the command. If possible, rerun the command with revup -v to get more verbose logs.

$ revup upload
Traceback (most recent call last):
  File "/usr/local/bin/revup", line 8, in <module>
    sys.exit(_main())
  File "/usr/local/lib/python3.8/site-packages/revup/__main__.py", line 18, in _main
    sys.exit(asyncio.run(main()))
  File "/usr/local/Cellar/python@3.8/3.8.15/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/Cellar/python@3.8/3.8.15/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.8/site-packages/revup/revup.py", line 393, in main
    return await upload.main(
  File "/usr/local/lib/python3.8/site-packages/revup/upload.py", line 63, in main
    await topics.create_commits(args.trim_tags)
  File "/usr/local/lib/python3.8/site-packages/revup/topic_stack.py", line 872, in create_commits
    next_parent = await self.git_ctx.synthetic_cherry_pick_from_commit(
  File "/usr/local/lib/python3.8/site-packages/revup/git.py", line 727, in synthetic_cherry_pick_from_commit
    return await self.merge_tree_commit(
  File "/usr/local/lib/python3.8/site-packages/revup/git.py", line 661, in merge_tree_commit
    raise RuntimeError(f"Unexpected / unknown error in git merge-tree {ret}")
RuntimeError: Unexpected / unknown error in git merge-tree 129

$ git -v
git version 2.39.2 (Apple Git-143)