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

ghstack land failed #333

Closed
lw opened this issue Dec 15, 2022 · 0 comments
Closed

ghstack land failed #333

lw opened this issue Dec 15, 2022 · 0 comments
Assignees

Comments

@lw
Copy link

lw commented Dec 15, 2022

I wanted to land a PR on a GitHub repo that I had opened with ghstack.

$ sl ghstack land https://github.com/myorg/myrepo/pull/299
** Sapling SCM (version 0.1.20221201-095354-r360873f1) has crashed:
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/edenscm/__init__.py", line 106, in run
    dispatch.run(args, fin, fout, ferr, config)
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 161, in run
    status = (dispatch(req) or 0) & 255
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 503, in dispatch
    ret = _runcatch(req)
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 712, in _runcatch
    return _callcatch(ui, req, _runcatchfunc)
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 721, in _callcatch
    return scmutil.callcatch(ui, req, func)
  File "/usr/lib/python3.8/site-packages/edenscm/scmutil.py", line 147, in callcatch
    return func()
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 683, in _runcatchfunc
    return _dispatch(req)
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 1218, in _dispatch
    ret = runcommand(
  File "/usr/lib/python3.8/site-packages/edenscm/ext/undo.py", line 146, in _runcommandwrapper
    result = orig(lui, repo, cmd, fullargs, *args)
  File "/usr/lib/python3.8/site-packages/edenscm/ext/journal.py", line 80, in runcommand
    return orig(lui, repo, cmd, fullargs, *args)
  File "/usr/lib/python3.8/site-packages/edenscm/ext/sparse.py", line 504, in _tracktelemetry
    res = runcommand(lui, repo, *args)
  File "/usr/lib/python3.8/site-packages/edenscm/ext/copytrace.py", line 173, in _runcommand
    return orig(lui, repo, cmd, fullargs, ui, *args, **kwargs)
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 913, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 1259, in _runcommand
    return cmdfunc()
  File "/usr/lib/python3.8/site-packages/edenscm/dispatch.py", line 1217, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/usr/lib/python3.8/site-packages/edenscm/util.py", line 1282, in check
    return func(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/edenscm/ext/ghstack/__init__.py", line 149, in land_cmd
    ghstack.land.main(
  File "/usr/lib/python3.8/site-packages/ghstack/land.py", line 19, in main
    return ghstack.sapling_land.main(pull_request, remote_name, github, sh, github_url)
  File "/usr/lib/python3.8/site-packages/ghstack/sapling_land.py", line 108, in main
    sh.run_sapling_command("push", "--rev", rebase_base, "--to", default_branch)
  File "/usr/lib/python3.8/site-packages/ghstack/sapling_shell.py", line 83, in run_sapling_command
    return self._run_sapling_command(list(args))
  File "/usr/lib/python3.8/site-packages/ghstack/sapling_shell.py", line 89, in _run_sapling_command
    stdout = self.sh(*full_args, env=env)
  File "/usr/lib/python3.8/site-packages/ghstack/shell.py", line 218, in sh
    raise RuntimeError(
RuntimeError: /usr/bin/sl push --rev a30d05a49f1c009ffb82c54ab6a98884dc837bd4 --to main failed with exit code 1

This closed the PR on GitHub, but didn't actually land the commit on the main branch. From memory, in the ISL, I saw the commit still present, but duplicated: at its original location, and also on the main branch.

I tried running the failing command by hand to see what happened:

$ /usr/bin/sl push --rev a30d05a49f1c009ffb82c54ab6a98884dc837bd4 --to main
To https://github.com/myorg/myrepo
 ! [rejected]        a30d05a49f1c009ffb82c54ab6a98884dc837bd4 -> main (non-fast-forward)
error: failed to push some refs to 'https://github.com/myorg/myrepo'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

So, as an attempt, I ran this

$ sl pull
pulling from https://github.com/myorg/myrepo
marked 2 commits as landed

This did not fix my problem (the previous command still fails), but now the commit has entirely disappeared from the ISL.

@muirdm muirdm self-assigned this Dec 21, 2022
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

2 participants