microsoft / scalar

Scalar: A set of tools and extensions for Git to allow very large monorepos to run on Git without a virtualization layer
MIT License
1.39k stars 63 forks source link

Scalar should use Git's background maintenance (drop Scalar.Service from Windows) #474

Closed derrickstolee closed 3 years ago

derrickstolee commented 3 years ago

With background maintenance incorporated into Git, we should be able to drop the Service projects from Scalar entirely now.

I attempted this briefly in #472, but there are some subtleties regarding the installation process that I didn't have time to focus on.

Here is a rough outline of the work involved:

  1. [x] Bring in the commits from git-for-windows/git#2974 into microsoft/git (similar to microsoft/git#304)
  2. [x] Update ConfigStep to run git maintenance start on all platforms.
  3. [ ] Delete service code from Windows platform.
  4. [ ] Ensure that the post-install steps run the config step on every registered repo.
github-actions[bot] commented 3 years ago

Labeling this issue as stale. There has been no activity for 30 days. Remove stale label or comment or this issue will be closed in 7 days.

dscho commented 3 years ago

Depending on how quickly I get the C port done, this might soon actually be quite pressing: how would we upgrade users transparently? Upon installation of the contrib/scalar-based Git, run an "upgrade" verb (to be implemented)? But that would potentially run into trouble when users might want to downgrade to .NET-based Scalar e.g. because they have to work around a bug in the new Scalar...

derrickstolee commented 3 years ago

We are intending to use the git upgrade-microsoft-git functionality (which is not yet renamed from git upgrade-git-for-windows).

I don't think we should worry about users wanting to downgrade to the .NET version, because we won't ship it until we are comfortable with it. We will transition users to it slowly.

If a user does need to change versions, then the only way to do so will be to manually uninstall one version and then manually install the other as downloaded from the GitHub releases page.

derrickstolee commented 3 years ago

Closing this because the Scalar CLI in microsoft/git does this.