Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • heptapod heptapod
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 157
    • Issues 157
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • heptapod
  • heptapodheptapod
  • Issues
  • #322

Closed
Open
Created Jul 30, 2020 by Dag Ågren@DagAgren

Push fails when a subrepo has been removed

I'm trying to push some changes to a repo on heptapod.host, and getting a large stack trace back. Possibly related to the fact that a subrepo was removed from .hgsub in one of the changesets.

The output sent back is:

remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: Traceback (most recent call last):
remote:   File "/home/hg/venv/bin/hg", line 43, in 
remote:     dispatch.run()
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 112, in run
remote:     status = dispatch(req)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 298, in dispatch
remote:     ret = _runcatch(req) or 0
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 472, in _runcatch
remote:     return _callcatch(ui, _runcatchfunc)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 481, in _callcatch
remote:     return scmutil.callcatch(ui, func)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/scmutil.py", line 152, in callcatch
remote:     return func()
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 462, in _runcatchfunc
remote:     return _dispatch(req)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 1225, in _dispatch
remote:     return runcommand(
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 910, in runcommand
remote:     ret = _runcommand(ui, options, cmd, d)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 1237, in _runcommand
remote:     return cmdfunc()
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/dispatch.py", line 1223, in 
remote:     d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/util.py", line 1865, in check
remote:     return func(*args, **kwargs)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/commands.py", line 6512, in serve
remote:     s.serve_forever()
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/wireprotoserver.py", line 852, in serve_forever
remote:     self.serveuntil(threading.Event())
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/wireprotoserver.py", line 858, in serveuntil
remote:     _runsshserver(self._ui, self._repo, self._fin, self._fout, ev)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/wireprotoserver.py", line 700, in _runsshserver
remote:     rsp = wireprotov1server.dispatch(repo, proto, request)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/wireprotov1server.py", line 82, in dispatch
remote:     return func(repo, proto, *args)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/wireprotov1server.py", line 663, in unbundle
remote:     r = exchange.unbundle(
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/exchange.py", line 2824, in unbundle
remote:     lockandtr[2].close()
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/hgext3rd/topic/__init__.py", line 568, in close
remote:     origclose()
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/transaction.py", line 46, in _active
remote:     return func(self, *args, **kwds)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/transaction.py", line 521, in close
remote:     self._validatecallback[category](self)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/localrepo.py", line 2194, in validate
remote:     repo.hook(
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/localrepo.py", line 1756, in hook
remote:     return hook.hook(self.ui, self, name, throw, **args)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/hook.py", line 256, in hook
remote:     res = runhooks(ui, repo, htype, hooks, throw=throw, **args)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/hook.py", line 327, in runhooks
remote:     r, raised = pythonhook(
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/mercurial/hook.py", line 116, in pythonhook
remote:     r = obj(ui=ui, repo=repo, hooktype=htype, **pycompat.strkwargs(args))
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/heptapod/hooks/gitlab_mirror.py", line 13, in mirror
remote:     gitlab_mirror(ui, repo)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/hgext3rd/heptapod/__init__.py", line 136, in gitlab_mirror
remote:     git.HeptapodGitHandler(repo, repo.ui).export_commits()
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/hgext3rd/heptapod/git.py", line 649, in export_commits
remote:     self.export_git_objects()
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/hggit/git_handler.py", line 530, in export_git_objects
remote:     self.export_hg_commit(ctx.node(), exporter)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/hggit/git_handler.py", line 605, in export_hg_commit
remote:     for obj, nodeid in exporter.update_changeset(ctx):
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/hggit/hg2git.py", line 223, in update_changeset
remote:     self._remove_path(path, dirty_trees)
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/hggit/hg2git.py", line 275, in _remove_path
remote:     del tree[os.path.basename(path)]
remote:   File "/home/hg/venv3/lib/python3.8/site-packages/dulwich/objects.py", line 999, in __delitem__
remote:     del self._entries[name]
remote: KeyError: b'GLHelpers'
abort: stream ended unexpectedly (got 0 bytes, expected 4)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking