-
Notifications
You must be signed in to change notification settings - Fork 385
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
Git guidelines and Powderhouse #2341
Comments
However, please use file scoped namespaces in new files that do not contain code copied from existing files. |
I updated the guideline to reflect your suggestion |
Do you have any plans to integrate into the Generic host pattern, i.e. be part of the generic host, and now wrap it into a middleware in the invocation path? |
@EugeneKrapivin We definitely think that is important. It will not be part of the first phase. That phase will rebuild the functionality of the System.CommandLine project only. |
We picked the code name Powderhouse because it is a cool place and we thought it hints at what we are doing. The Powderhouse at Powderhouse Square was actually built as a windmill and is a tall, well built stone bulding whose use has evolved over the years. We're evolving System.CommandLine - although a bit inverse of The Powderhouse evolution. We are keeping the purpose and changing the shape.
Powder is black powder, which is a low explosive used in pyrotechnics and other uses such as building roads. We have decided to blow things up a bit. System.CommandLine is a solid and we love it. As covered in #2338 we need to make changes to get the parser ready for incorporation in the .NET libraries and to make features/subsystems easy to extend.
When you are playing with pyrotechnics, you need guardrails. Here, git is an important set of guardrails, allowing us to see history. Maintaining git history means avoiding large red blocks in PRs and tending to small well described commits. We will ask for updates on PRs that don't support our commitment to tracking.
A distinct clean up effort that we will do late in this restructuring effort will be described in a separate issue, so you can check that your annoyances will be fixed prior to GA.
One thing you may notice in the code is that we have removed globbing in the projects that have old code. This lets us temporarily remove code without touching the file.
All code
git mv
.Note that the stylistic change of putting conditional comments in braces on new lines is not made.
Special considerations for testing
We want to be able to track all tests. Some will be deleted because they are no longer relevant - for example, our current plan is to have version be an explicitly added feature, so tests that it is implicitly added are no longer correct. However, we want to track the test and plan an explicit pass on tests. Leaving them in place commented out leaves a location for the reason they have been commented out.
Subsystem.Execute
.<subsystemName>FunctionalTests
. Many of the existing tests are via the parser, which is a functional test in the new design. Also, these tests will remain in place, so any names likelegacy
would be incorrect.<subsystemName>Tests
.The text was updated successfully, but these errors were encountered: