Skip to content

Remove psl-monad submodule #656

@vors

Description

@vors

Problem

Having product code in the submodule of the main project makes the simplest fix a commit dance.
The simple workflow is highly desirable to speed-up on-boarding.

Having psl-monad submodule makes sd<->git integration easier.
Meanwhile, it's possible to have a reasonable level of separationg and move psl-monad from submodule to a folder in the super-project.

Proposal

  1. Move psl-monad\monad to root level monad folder.
  2. Move psl-monad\wmi to root level wmi folder.

The reason behind it: make git cherry-pick from gitsd admin repo match one-to-one.
This way we keep sd -> git story pretty clear. Question: can we keep simple cherry-pick workflow, but teach it to map root folder into src\monad?

  • 2 branches would be still around in PowerShell/PowerShell: master and source-depot.
  • It's important to save git history.

Execution plan

  • We can achieve the desired result with a simple merge of two repos:

From PowerShell

git remote add monad github.com/PowerShell/psl-monad
git merge monad/master
git checkout -b source-depot
git merge monad/source-depot

cc @andschwa @zach-folwick @SteveL-MSFT @JamesWTruher

UPD:

Inventarisation

Tree below shows the folder structure.
Need dig into some of the subtrees.
Number in brackets is the number of files.

Legend

Mark Meaning
no need to get anything from this folder
♻️ need a subset from this folder
need everything from this folder
investigate

Tree

D:\dev\PowerShell\src\monad
├──monad (26803)
│ ├──core_powershell (3) ❌
│ ├──incubation (392) ❌ @lzybkr: but we should move a couple xsd files to miscfiles
│ ├──InstallerSignJob (3) ❌
│ ├──keys (9) ❌
│ ├──loc (36) ❓
│ ├──ManagedSignJob (3) ❌
│ ├──miscfiles (124) ♻️
│ ├──nttargets (661) ❌
│ ├──prototypes (2) ❌
│ ├──Providers (83) ❓ @lzybkr: maybe not needed
│ ├──ScriptSignJob (13) ❌
│ ├──Setup (972) ❓
│ │
│ ├──src (5403)
│ │ ├──Activities (227) ✅ @lzybkr: we need it for workflow
│ │ ├──build (3) ❌
│ │ ├──cimSupport (41) ✅
│ │ ├──cmdletDesigner (440) ❌
│ │ ├──commands (504) ✅
│ │ ├──CoreCLR (5) ✅
│ │ ├──DotNetCode (31) ❓
│ │ ├──DscSupport (1) ✅
│ │ ├──engine (523) ✅
│ │ ├──graphicalhost (210) ❌
│ │ ├──help (429) ♻️
│ │ ├──host (1136) ♻️
│ │ ├──LocalAccounts (30) ❓
│ │ ├──logging (13) ✅
│ │ ├──m3p (168) ❓
│ │ ├──minishell (20) ♻️
│ │ ├──namespaces (38) ❓
│ │ ├──oneget (535) ❓
│ │ ├──OSS (89) ❌
│ │ ├──PSGetAddOn (2) ❓
│ │ ├──PSReadline (37) ❌
│ │ ├──samples (579) ❓
│ │ ├──ScheduledJob (31) ❓
│ │ ├──ScriptAnalyzer (174) ❌
│ │ ├──sdk (12) ❓ :
│ │ ├──security (28) ✅
│ │ ├──singleshell (28) ✅
│ │ ├──tools (1) ❌
│ │ └──utils (66) ✅
│ │
│ ├──tests (15771)
│ │ ├──ci (937) # binplaced
│ │ │ ├──Appx (3) ❌
│ │ │ ├──Lite3UnitTest (19) ❌
│ │ │ ├──Lite_Template (19) ❌
│ │ │ ├──MP (1) ❌
│ │ │ ├──OnlineHelp (17) ❓
│ │ │ ├──PowerShell (470) ♻️
│ │ │ ├──PowerShellMultiMachine (1) ❌
│ │ │ ├──PowerShellPerformance (7) ❓
│ │ │ ├──PowerShellStress (1) ❌
│ │ │ ├──PSGet (39) ❓
│ │ │ ├──PSOne (2) ❓
│ │ │ ├──PSWF (56) ❓
│ │ │ └──PSWS (300) ❓
│ │ │
│ │ ├──citargets (955) ♻️ # compiled
│ │ ├──mae (3674) ♻️
│ │ ├──monad (10052) ♻️
│ │ ├──MultiMachine (148) ♻️
│ │ └──performance (4) ❓
│ │
│ ├──UnmanagedSignJob (3) ❌
│ ├──V2 (263) ❌
│ └──WTR (3056) ❌
└──wmi (105) ✅

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions