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

Port the scm-hgnested-plugin to 2.x #2197

Open
mharbison72 opened this issue Oct 16, 2023 · 1 comment
Open

Port the scm-hgnested-plugin to 2.x #2197

mharbison72 opened this issue Oct 16, 2023 · 1 comment

Comments

@mharbison72
Copy link
Contributor

Issue description

The hgnested plugin was used to support Mercurial subrepositories in 1.x, but isn't available in 2.x. I mentioned it awhile ago in the old google groups forum, but that's been decommissioned, so I didn't want this to get lost. I can dig up a link to the old BitBucket repo that's archived on the Software Heritage Archive website, if needed.

Feature Request

Problem to be solved

We need a way to push to various parent repositories, and have any changes to the subrepositories immediately visible to any other parent repos that reference the subrepo.

Proposed solution

The plugin had a tab UI element in the parent repository that allowed mapping a URI to a known repository that is the subrepo, and then sent a 3xx redirect to the actual subrepo URL when it got a request for ${parent_url} + URI. That's sufficient, but if you want to improve the implementation, I'd suggest having the subrepo stored wherever you want to, and then use the Mercurial share extension to share the subrepo into the proper place under the parent repo. That has the advantage of:

  1. No 3xx redirect needed
  2. The parent repo in the filesystem is well-formed (i.e. the subrepo is nested under the parent as Mercurial expects), so filesystem commands like hg verify work in maintenance scripts, or could be added to the UI as a feature
  3. Repo shares are a ~0 byte way to redirect Mercurial elsewhere like a symlink would, but it works on Windows too

I'm happy to help discuss/test/review or offer Mercurial expertise, but I can't do it myself because I don't understand the UI side of things here.

@christophloose
Copy link

@mharbison72 thank you for your patience and your suggestion.

From our perspective it would be easy to port the old nested plugin to SCM-Manager 3.x. Your suggestion is interesting and could you please tell us more about your use case? Thanks in advance.

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