posh-git icon indicating copy to clipboard operation
posh-git copied to clipboard

Merge the Posh‑Hg repository into the Posh‑Git repository

Open ExE-Boss opened this issue 5 years ago • 6 comments

Posh‑Hg is a PowerShell module, which adds Mercurial integration using Posh‑Git’s interface.

Unfortunately, @JeremySkinner has abandoned Posh‑Hg, and it’s got some compatibility issues with the Posh‑Git 1.0.0 beta, so I’m opening this PR to get this into Posh‑Git so that this repository can be made into a Posh‑Vcs monorepo.

ExE-Boss avatar Aug 31 '18 09:08 ExE-Boss

(Disclaimer; I am the author of posh-hg as well as a contributor to posh-git).

Personally I'd vote against this. This would significantly increase the complexity of the project and takes the focus away from the core intent of the project (git integration for powershell). If there is interest in posh-hg being resurrected, then it should be forked a new set of maintainers can continue its development (including compatibility with the latest posh-git), but I don't think combining them into a monorepo is a good idea. @dahlbyk what do you think?

JeremySkinner avatar Aug 31 '18 09:08 JeremySkinner

Agree that a monorepo isn't the right approach, mostly because I don't want to maintain Mercurial code as someone who doesn't use Mercurial. (See also forking off https://github.com/dahlbyk/posh-sshell.)

That being said, my intent all along was to make posh-vcs a thing that posh-git and posh-hg could both depend on. There's certainly infrastructure here that's not specific to Git.

@ExE-Boss did you find making posh-hg work with posh-git without a monorepo didn't work?

dahlbyk avatar Aug 31 '18 16:08 dahlbyk

did you find making posh-hg work with posh-git without a monorepo didn't work?

Not entirely, but a monorepo helps make sure that the changes from one are propagated to the other (eg. the Write-Prompt changes), and there were a few slight issues which a monorepo helped solve.

ExE-Boss avatar Aug 31 '18 18:08 ExE-Boss

did you find making posh-hg work with posh-git without a monorepo didn't work?

Not entirely, but a monorepo helps make sure that the changes from one are propagated to the other (eg. the Write-Prompt changes), and there were a few slight issues which a monorepo helped solve.

That's true. I really don't know much about the PowerShell module dependency story. @rkeithhill or others: is it a terrible idea to make posh-git and posh-hg depend on a common posh-vcs module? Is there anything resembling respect for SemVer so we could rev the core without breaking dependents?

dahlbyk avatar Aug 31 '18 19:08 dahlbyk

PowerShellGet and PowerShell manifests handle module dependencies - see https://docs.microsoft.com/en-us/powershell/wmf/5.0/psget_moduledependency. But I don't have any first-hand experience creating modules that depend on other modules. So, I'm not sure about what (if any) issues we might run into if we do this.

rkeithhill avatar Sep 05 '18 02:09 rkeithhill

I don't think it makes sense to disrupt v1.0 by introducing a dependency, so I've assigned this to a v2.0 milestone.

dahlbyk avatar Dec 17 '18 04:12 dahlbyk