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

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

Open
wants to merge 86 commits into
base: master
Choose a base branch
from

Conversation

ExE-Boss
Copy link
Contributor

@ExE-Boss ExE-Boss commented Aug 31, 2018

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.

JeremySkinner and others added 30 commits April 5, 2010 21:12
…args (eg "hg commit -A -X <tab>"). Disabled MQ integration (slooow)
JeremySkinner and others added 21 commits January 23, 2013 08:53
Add paths expansion to outgoing, incoming commands
Added Get-AliasPattern to HgUtils similar to how it is in GitUtils
Added hg flow patterns to HgTabExpansion
…le's version of Register-TabExpansion to work, as used in posh-git
… returned from System.Management.Automation.Internal.Host.InternalHost.UI.RawUI.XXX when running inside the NuGet Package Manager powershell console. Replaced all calls to write-host with a new function write-prompt that checked for background colors set to -1 and ignored them. This is the same technique used by posh-git.
Fix for issue dahlbyk#19 - posh-hg from nuget console
preserve $lastexit code in function prompt()
Added the HG revison information to the prompt.
Updated the README to include info about the added revision information.
Added ShowRevision setting to increase options for prompt configuration
Make tab expansion case-insensitive for branches, tags and bookmarks
@ExE-Boss ExE-Boss changed the title Merge Posh-Hg into Posh-Git Merge Posh-Hg into Posh-Git and make this a monorepo Aug 31, 2018
@ExE-Boss ExE-Boss changed the title Merge Posh-Hg into Posh-Git and make this a monorepo Merge the Posh‑Hg repository into the Posh‑Git repository Aug 31, 2018
@JeremySkinner
Copy link
Collaborator

(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?

@dahlbyk
Copy link
Owner

dahlbyk commented Aug 31, 2018

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?

@ExE-Boss
Copy link
Contributor Author

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.

@dahlbyk
Copy link
Owner

dahlbyk commented Aug 31, 2018

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?

@rkeithhill
Copy link
Collaborator

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.

@dahlbyk dahlbyk added this to the v2.0 milestone Dec 17, 2018
@dahlbyk
Copy link
Owner

dahlbyk commented Dec 17, 2018

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.

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

Successfully merging this pull request may close these issues.