Граф коммитов

15580 Коммитов

Автор SHA1 Сообщение Дата
David Wengier ee83a6b9bb Fixes after merge 2024-08-30 07:38:43 +10:00
David Wengier d0e2a57b29 Merge remote-tracking branch 'upstream/main' into FormattingLayering
# Conflicts:
#	src/Razor/benchmarks/Microsoft.AspNetCore.Razor.Microbenchmarks/LanguageServer/RazorCSharpFormattingBenchmark.cs
#	src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/AutoInsert/OnAutoInsertEndpoint.cs
#	src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/Formatting/HtmlFormatter.cs
#	src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/InlineCompletion/InlineCompletionEndPoint.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Formatting/FormattingContext.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Formatting/IRazorFormattingService.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Formatting/Passes/CSharpFormattingPass.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Formatting/Passes/FormattingContentValidationPass.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Formatting/Passes/FormattingDiagnosticValidationPass.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Formatting/Passes/HtmlFormattingPassBase.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Formatting/RazorFormattingService.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Formatting/RemoteCSharpOnTypeFormattingPass.cs
#	src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Formatting/RemoteRazorFormattingPass.cs
#	src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/RazorOnAutoInsertProviderTestBase.cs
#	src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/Completion/Delegation/DelegatedCompletionItemResolverTest.NetFx.cs
#	src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/Formatting_NetFx/FormattingLanguageServerTestBase.cs
#	src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/Formatting_NetFx/FormattingTestBase.cs
#	src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/Formatting_NetFx/TestRazorFormattingService.cs
2024-08-30 06:56:47 +10:00
David Wengier e1f6fbaad7
Fix setting breakpoints with self versioned documents (#10811)
Fixes an issue found in app building. Thanks @phil-allen-msft!

Also fixes https://github.com/dotnet/razor/issues/9161

To make reviewing easier:
* First commit is entirely mechanical cleanup, renames, etc. and can be
skipped.
* Second commit is the fix.
* Third commit is tests.
* Fourth commit is updating more tests because these days when you ask
VS to build things it doesn't build all of it and I need to get into the
habit of doing a command line build before pushing

Because of the type and file renames, looking at the PR as a whole is
inadvised.
2024-08-30 06:33:07 +10:00
Alex Gavrilov 12f5194184
Cohosting OnAutoInsert endpoint (#10776)
* Factoring out AutoInsertService

* Switch non-cohost endpoint to use new AutoInsertService

* Adding Remote and OOB AutoInsertService classes and OnAutoInsertProviders

* Add common code for capabilities

* Add cohost OnAutoInsert endpoint

* Parameter rename

* Update src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/AutoInsert/AutoClosingTagOnAutoInsertProvider.cs

Co-authored-by: David Wengier <david.wengier@microsoft.com>

* Update src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/AutoInsert/IAutoInsertService.cs

Co-authored-by: David Wengier <david.wengier@microsoft.com>

* Update src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/AutoInsert/InsertTextEdit.cs

Co-authored-by: David Wengier <david.wengier@microsoft.com>

* Fixup after rebase

* More post-build cleanup

* Move common HTML and C# auto-insert trigger chars per CR suggestion

* More cleanup after rebase

* Add IOnAutoInsertTiggerCharacterProvider per CR suggestion

* Removing trigger characters property from RemoteAutoInsertService per CR suggestion

* Switch to using RemoteResponse

* Fixup bad resolve after rebase, and extra whitespace in RazorLangaugeServer

* Complete capabilities check in CohostingOnAutoInsertEndpoing registration

* Change input position type to serializable :LinePosition

* Fixing RemoteInsertTextEdit to use properly annotated (for serialization) types only

* Support for delegating auto-insert to C#

* Fixup after rebase

* Fixup AutoClosingTagOnAutoInsertProviderTest tests

* Fixinfg up CloseTextTagOnAutoInsertProviderTest tests

* Fixing up OnAutoInsertEndpointTest (which also tests the new AutoInsertService)

* Fixing duplicate OnAutoInsert handler registration (bad merge after rebate)

* Fixes to MEF composition issue and capabilities check
- IDocumentMappingService was not needed (and not available via MEF), so removed that
- TextDocument does not implmement VSInternalTextDocumentClientCapabilities

* Fixing incorrect export type

* Minor cleanup per CR suggestions

* Switching parameters to RazorCodeDocument and removing async in a lot of places per CR suggestion

* Fixing build - removing unneeded using

* Fix RemoteAutoInsertService logic to follow existing code (always prefer our own AutoInsertService first)

* Check allowed trigger characters before delegating to other languages/servers

* Plumbing through actual option values we need and using them

* Fixup After Rebase

* Consuming RazorFormattingService in remote OnAutoInsert service

* Fixing exception in RemoteProjectSnapshot.Configuration

Moving GetFormatterCodeDocumentAsync() into IDocumentSnapshot (and implementations of that) to allow eaiser differentiation of behavior in remote (cohosting) case where we don't need to check the flag on Project.Configuration.

Also AddUsingStatementsIfNeeded *always* gets called, even in cases when they are not actually needed, so we can't Debug.Fail there.

* Switch to PreferHtmlInAttributeValuesDocumentPositionInfoStrategy as the original code does

That allows the code insert double-quotes by delegating to HTML language server after attribute name and equals.

* Cleanup usings

* More usings cleanup

* PR feedback - minor cleanup and removal of InsertTextEdit type in favor of VSInternalDocumentOnAutoInsertResponseItem

* PR feedback - removing MEF usage from RemoteAdhocWorkspaceFactory, minor cleanup

* PR feedback

* Type and method renames, minor cleanup per PR feedback

* Renaming interface methods, removing unnecessary usage of FrozenSet

* Use ImmutableArray to store providers

* Switching to bool and out on IAutoInsertService and implementation

* Cleaned up document position info calculation per PR feedback

* Minor cleanup in RemoteAutoInsertService

* Cleanup trigger character calculation in CohostOnAutoInsertEndpoint

* Formatting changes, VsLspFactory usage

* Revert to MEF DI in RemoteAdhocWorkspaceFactory/RemoteRazorFormattingService

* Removing Rolsyn to VS LSP extension methods

* Switch to raw strings in tests and minor whitespace cleanup

* Rename per PR feedback suggestion to better indicate the purpose

* Cleanup formatting code document acquisition per PR feedback

Creating IFormattingCodeDocumentProvider service with seprate LSP and Remote implementations to provide code document appropriate for formatting.

* Removing redundant assert as compiler is already doing the check

* Unnecessary assignment cleanup

* Misc PR feedback cleanup

* Made GetGeneratedOutputAsync an extension method per PR feedback

* Remaining MEF parameter attrivute formatting changes

* Last of the PR feedback.

* Fixing most unit test failures.

Extension methods can't be used for Mock setups, so since I made GetGeneratedOutputAsync() with no parameter an extension method, I had to switch unit tests to use GeGeneratedOutputAsync(It.Any<bool>())

* Fixing last 4 unit test failures

We still had non-parameter GetGeneratedOutputAsycnc in DocumentSnapshot (even though it wasn't in IDocumentSnapshot) which was getting called internally. That was both messy (since there is now no-parameter extension method on IDocumentSnapshot) and was causing issues in tests

---------

Co-authored-by: David Wengier <david.wengier@microsoft.com>
2024-08-29 11:27:56 -07:00
David Wengier 1f45c70f4f
Write out JS comments when there would be 4 or more consecutive tildes in generated Html (#10805)
Fixes https://dev.azure.com/devdiv/DevDiv/_workitems/edit/2222322

Our use of tildes as replacement characters for C# in Html documents has
never been great, and has caused issues with JS/TS and Html tooling in
the past, but it seems there are scenarios where
large/complicated/specifically formed Razor documents can actually crash
the JS compiler. Seems it has a perf issue where lots of unary negation
(ie, `~`) causes stack size issues.

This PR mitigates the issue by encoding any stretch of C# characters
that are 4 characters or longer as a JS comment (`/*~~~*/`) so that the
compiler will ignore some of the more problematic chunks of Razor files.
There is one case where we couldn't do that, but any pressure relief
should help even if it's not 100%.
2024-08-29 17:43:54 +10:00
David Wengier ebe3878544 Update existing tests 2024-08-29 13:31:43 +10:00
David Wengier 744e9e3242 Fix integration tests to validate the change 2024-08-29 12:27:03 +10:00
David Wengier a05f9e64c0 Pass virtual document version through, and validate 2024-08-29 12:26:14 +10:00
David Wengier b650ceebd7 Cleanup and rename files to bring them to modern standards
Purely mechanical changes here - using primary constructors, interfaces over abstract classes, etc.
2024-08-29 12:25:44 +10:00
dotnet bot 562be1a220
Merge release/dev17.12 to main (#10809)
This is an automatically generated pull request from release/dev17.12
into main.


Once all conflicts are resolved and all the tests pass, you are free to
merge the pull request. 🐯

## Troubleshooting conflicts

### Identify authors of changes which introduced merge conflicts
Scroll to the bottom, then for each file containing conflicts copy its
path into the following searches:
- https://github.com/dotnet/razor/find/release/dev17.12
- https://github.com/dotnet/razor/find/main

Usually the most recent change to a file between the two branches is
considered to have introduced the conflicts, but sometimes it will be
necessary to look for the conflicting lines and check the blame in each
branch. Generally the author whose change introduced the conflicts
should pull down this PR, fix the conflicts locally, then push up a
commit resolving the conflicts.

### Resolve merge conflicts using your local repo
Sometimes merge conflicts may be present on GitHub but merging locally
will work without conflicts. This is due to differences between the
merge algorithm used in local git versus the one used by GitHub.
``` bash
git fetch --all
git checkout -t upstream/merges/release/dev17.12-to-main
git reset --hard upstream/main
git merge upstream/release/dev17.12
# Fix merge conflicts
git commit
git push upstream merges/release/dev17.12-to-main --force
```
2024-08-28 14:07:55 -07:00
Chris Sienkiewicz 27a338b0a6
Global namespace component bind (#10798)
* Don't create a taghelper with no matching rules
* Add test

---------

Co-authored-by: Jan Jones <jan.jones.cz@gmail.com>
2024-08-28 18:56:48 +00:00
Phil Allen 5eb9d0c25a
Fix find all references calls to Roslyn (#10807)
Fixes integration test failures in Find All References.

Roslyns LSP types got much more spec compliant in
https://github.com/dotnet/roslyn/pull/73911 and we were never sending
the `Context` property in our request, so deserialization failed on
their end.
2024-08-28 10:27:06 -07:00
Chris Sienkiewicz f35b6c6fe9
Change UseConsolidatedMvcViews to default to true (#10795)
* Change UseConsolidatedMvcViews to default to true
* Update baselines
* Update LSP test
2024-08-28 10:11:29 -07:00
Phil Allen 8e11180508
Fix provisional completion corrupting generated C# documents (#10806)
Fixes https://github.com/dotnet/razor/issues/10759

Initially when investigating this I was digging into buffer versions and
race conditions, but now that the editor fix is in, and we are self
versioned, the bug stood out much more obviously: A character offset was
being passed in to a parameter that expected a length 🤦‍♂️

Sadly none of the `RazorCustomMessageTarget` code is testable. Cohosting
will make this trivial though, as we would simply create a new
`Document` with the provisional change, and drop it on the floor when
we're finished.
2024-08-28 09:23:15 -07:00
David Wengier ec671dbc8a Fix find all references calls to Roslyn 2024-08-28 21:12:33 +10:00
David Wengier 54533a522e Simplify integration test to increase reliability because our formatting engine has known issues 2024-08-28 18:20:40 +10:00
David Wengier 39942a204a When undoing provisional completion, don't accidentally delete a huge large chunk of the generated file 2024-08-28 16:59:21 +10:00
David Wengier 1de43a0374 Remove stale TODO 2024-08-28 16:07:08 +10:00
David Wengier 6cc8ce5d3b Fix tooling test inputs 2024-08-28 15:04:28 +10:00
David Wengier acb9a8e19d Update compiler test baselines 2024-08-28 15:04:28 +10:00
David Wengier eba6a6a303 Test for some edges just in case 2024-08-28 15:04:28 +10:00
David Wengier e5160528c3 Improve integration tests 2024-08-28 15:04:27 +10:00
David Wengier 5bc34898ac Add integration test that proves the crash is fixed 2024-08-28 15:04:27 +10:00
David Wengier 4b69790d1a Write out comments when there would be 4 or more consecutive tildes 2024-08-28 15:04:26 +10:00
dotnet bot a530667664
Merge release/dev17.12 to main (#10803)
This is an automatically generated pull request from release/dev17.12
into main.


Once all conflicts are resolved and all the tests pass, you are free to
merge the pull request. 🐯

## Troubleshooting conflicts

### Identify authors of changes which introduced merge conflicts
Scroll to the bottom, then for each file containing conflicts copy its
path into the following searches:
- https://github.com/dotnet/razor/find/release/dev17.12
- https://github.com/dotnet/razor/find/main

Usually the most recent change to a file between the two branches is
considered to have introduced the conflicts, but sometimes it will be
necessary to look for the conflicting lines and check the blame in each
branch. Generally the author whose change introduced the conflicts
should pull down this PR, fix the conflicts locally, then push up a
commit resolving the conflicts.

### Resolve merge conflicts using your local repo
Sometimes merge conflicts may be present on GitHub but merging locally
will work without conflicts. This is due to differences between the
merge algorithm used in local git versus the one used by GitHub.
``` bash
git fetch --all
git checkout -t upstream/merges/release/dev17.12-to-main
git reset --hard upstream/main
git merge upstream/release/dev17.12
# Fix merge conflicts
git commit
git push upstream merges/release/dev17.12-to-main --force
```
2024-08-27 19:40:24 -07:00
dotnet bot da86194b6a
Merge release/dev17.11 to release/dev17.12 (#10785)
This is an automatically generated pull request from release/dev17.11
into release/dev17.12.


Once all conflicts are resolved and all the tests pass, you are free to
merge the pull request. 🐯

## Troubleshooting conflicts

### Identify authors of changes which introduced merge conflicts
Scroll to the bottom, then for each file containing conflicts copy its
path into the following searches:
- https://github.com/dotnet/razor/find/release/dev17.11
- https://github.com/dotnet/razor/find/release/dev17.12

Usually the most recent change to a file between the two branches is
considered to have introduced the conflicts, but sometimes it will be
necessary to look for the conflicting lines and check the blame in each
branch. Generally the author whose change introduced the conflicts
should pull down this PR, fix the conflicts locally, then push up a
commit resolving the conflicts.

### Resolve merge conflicts using your local repo
Sometimes merge conflicts may be present on GitHub but merging locally
will work without conflicts. This is due to differences between the
merge algorithm used in local git versus the one used by GitHub.
``` bash
git fetch --all
git checkout -t upstream/merges/release/dev17.11-to-release/dev17.12
git reset --hard upstream/release/dev17.12
git merge upstream/release/dev17.11
# Fix merge conflicts
git commit
git push upstream merges/release/dev17.11-to-release/dev17.12 --force
```
2024-08-27 15:46:50 -07:00
dotnet bot d0be044d78
Merge release/dev17.12 to main (#10801)
This is an automatically generated pull request from release/dev17.12
into main.


Once all conflicts are resolved and all the tests pass, you are free to
merge the pull request. 🐯

## Troubleshooting conflicts

### Identify authors of changes which introduced merge conflicts
Scroll to the bottom, then for each file containing conflicts copy its
path into the following searches:
- https://github.com/dotnet/razor/find/release/dev17.12
- https://github.com/dotnet/razor/find/main

Usually the most recent change to a file between the two branches is
considered to have introduced the conflicts, but sometimes it will be
necessary to look for the conflicting lines and check the blame in each
branch. Generally the author whose change introduced the conflicts
should pull down this PR, fix the conflicts locally, then push up a
commit resolving the conflicts.

### Resolve merge conflicts using your local repo
Sometimes merge conflicts may be present on GitHub but merging locally
will work without conflicts. This is due to differences between the
merge algorithm used in local git versus the one used by GitHub.
``` bash
git fetch --all
git checkout -t upstream/merges/release/dev17.12-to-main
git reset --hard upstream/main
git merge upstream/release/dev17.12
# Fix merge conflicts
git commit
git push upstream merges/release/dev17.12-to-main --force
```
2024-08-27 15:33:57 -07:00
David Barbet 79c46c0fdf Merge remote-tracking branch 'upstream/release/dev17.11' into merges/release/dev17.11-to-release/dev17.12 2024-08-27 15:26:08 -07:00
David Barbet 0dc0f6e79c
[release/dev17.12] Update dependencies from dotnet/arcade (#10799)
This pull request updates the following dependencies

[marker]: <> (Begin:761d0bec-2526-451d-fdf9-08dcc6cdae74)
## From https://github.com/dotnet/arcade
- **Subscription**: 761d0bec-2526-451d-fdf9-08dcc6cdae74
- **Build**: 20240826.3
- **Date Produced**: August 26, 2024 5:01:25 PM UTC
- **Commit**: e3bdd9a0f2a65fe037ba1adb2261eea48a840fa4
- **Branch**: refs/heads/main

[DependencyUpdate]: <> (Begin)

- **Updates**:
- **Microsoft.SourceBuild.Intermediate.arcade**: [from
9.0.0-beta.24352.2 to 9.0.0-beta.24426.3][1]
- **Microsoft.DotNet.Arcade.Sdk**: [from 9.0.0-beta.24352.2 to
9.0.0-beta.24426.3][1]

[1]: 4a7d983f83...e3bdd9a0f2

[DependencyUpdate]: <> (End)

- **Updates to .NET SDKs:**
  - Updates sdk.version to 9.0.100-preview.7.24407.12
  - Updates tools.dotnet to 9.0.100-preview.7.24407.12

[marker]: <> (End:761d0bec-2526-451d-fdf9-08dcc6cdae74)
2024-08-27 13:24:50 -07:00
dotnet-maestro[bot] 5a4e0a72b4 Update dependencies from https://github.com/dotnet/arcade build 20240826.3
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk
 From Version 9.0.0-beta.24352.2 -> To Version 9.0.0-beta.24426.3
2024-08-27 19:24:28 +00:00
David Barbet 7ed43a1fe7
[main] Update dependencies from dotnet/arcade (#10605)
Coherency update: Failed to perform coherency update for one or more
dependencies. Please review the GitHub checks or run `darc
update-dependencies --coherency-only` locally against
darc-main-a20bf2b8-a79a-4f26-a141-1afa2bfa58d0 for more information.

[marker]: <> (Begin:2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d)
## From https://github.com/dotnet/arcade
- **Subscription**: 2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d
- **Build**: 20240826.3
- **Date Produced**: August 26, 2024 5:01:25 PM UTC
- **Commit**: e3bdd9a0f2a65fe037ba1adb2261eea48a840fa4
- **Branch**: refs/heads/main

[DependencyUpdate]: <> (Begin)

- **Updates**:
- **Microsoft.SourceBuild.Intermediate.arcade**: [from
9.0.0-beta.24423.2 to 9.0.0-beta.24426.3][1]
- **Microsoft.DotNet.Arcade.Sdk**: [from 9.0.0-beta.24423.2 to
9.0.0-beta.24426.3][1]

[1]: 9159926865...e3bdd9a0f2

[DependencyUpdate]: <> (End)


[marker]: <> (End:2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d)
2024-08-27 12:12:18 -07:00
Dustin Campbell 73fb2dfaed Remove PooledArrayBuilder<RazorDiagnostic> from ComputeAllDiagnostics 2024-08-27 11:00:18 -07:00
Dustin Campbell ac1ea0837f Prefer collection expression over ToList() 2024-08-27 11:00:17 -07:00
Dustin Campbell fcf0de81b6 Remove unused ErrorSink method 2024-08-27 11:00:17 -07:00
Dustin Campbell 69d4b10665 Create RazorSyntaxTree with ImmutableArray<RazorDiagnostic> 2024-08-27 11:00:17 -07:00
Dustin Campbell aa0d7a7d58 Clean up ParserContext and use pooled collections
This change cleans up ParserContext a bit and uses pooled collections within it.
2024-08-27 11:00:17 -07:00
Dustin Campbell 0df9f259c6 Rework ErrorSink
- Use pooled `ImmutableArray<RazorDiagnostic>.Builder` internally
- Don't request pooled builder until first error is added
- Make ErrorSink disposable to return builder to pool
- Add GetErrorsAndClear() method to returns an `ImmutableArray<RazorDiagnostic>` and clears out the sink.
- Add 'ParserContext.PushNewErrorScope(...)` to handle the temporary ErrorSinks used by CSharpCodeParser
2024-08-27 11:00:17 -07:00
Dustin Campbell e98f5e8071 Switch RazorSyntaxTree.Diagnostics to an ImmutableArray<RazorDiagnostic> 2024-08-27 11:00:16 -07:00
Dustin Campbell 33ad4fb0fc Enable nullability for RazorSyntaxTree 2024-08-27 11:00:16 -07:00
Dustin Campbell 8cba23587a Clean up RazorSyntaxTree.Diagnostics computation 2024-08-27 11:00:16 -07:00
Dustin Campbell 2476b630ef Refactor tests to share ordering test data 2024-08-27 11:00:11 -07:00
Chris Sienkiewicz 6045ef21ac
Suppress unique ids (#10791)
* Use more obvious SuppressUniqueIds value
* Update baselines
2024-08-27 08:52:17 -07:00
Dustin Campbell 965d3e8307 Add (Drain)ToImmutableOrdered* methods to PooledArrayBuilder<T> 2024-08-27 08:44:17 -07:00
Dustin Campbell a7e5bf9152 Prefer constructor over Create method 2024-08-27 08:44:17 -07:00
Dustin Campbell b6eb03fb0d Merge RazorSyntaxTree and DefaultRazorSyntaxTree 2024-08-27 08:44:16 -07:00
dotnet-maestro[bot] d7b76ad623 Update dependencies from https://github.com/dotnet/arcade build 20240826.3
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk
 From Version 9.0.0-beta.24423.2 -> To Version 9.0.0-beta.24426.3
2024-08-27 12:52:28 +00:00
David Wengier 1ea1552e6c
Self-versioned documents (#10747)
A few integration tests to investigate, but the guts are here.

I'm _slightly_ worried this might cause us to recompile files more
often, but there is also the chance this fixes a bunch of bugs by
recompiling files more often :)

Commit-at-a-time review is highly recommended, as there are lots of flow
on effects of API changes
2024-08-27 15:32:01 +10:00
David Wengier 0499664e37
Localized file check-in by OneLocBuild Task: Build definition ID 262: Build ID 2524803 (#10790)
This is the pull request automatically created by the OneLocBuild task
in the build process to check-in localized files generated based upon
translation source files (.lcl files) handed-back from the downstream
localization pipeline. If there are issues in translations, visit
https://aka.ms/icxLocBug and log bugs for fixes. The OneLocBuild wiki is
https://aka.ms/onelocbuild and the localization process in general is
documented at https://aka.ms/AllAboutLoc.
2024-08-27 15:31:13 +10:00
dotnet bot 75dcf45e3b
Merge release/dev17.12 to main (#10794)
This is an automatically generated pull request from release/dev17.12
into main.


Once all conflicts are resolved and all the tests pass, you are free to
merge the pull request. 🐯

## Troubleshooting conflicts

### Identify authors of changes which introduced merge conflicts
Scroll to the bottom, then for each file containing conflicts copy its
path into the following searches:
- https://github.com/dotnet/razor/find/release/dev17.12
- https://github.com/dotnet/razor/find/main

Usually the most recent change to a file between the two branches is
considered to have introduced the conflicts, but sometimes it will be
necessary to look for the conflicting lines and check the blame in each
branch. Generally the author whose change introduced the conflicts
should pull down this PR, fix the conflicts locally, then push up a
commit resolving the conflicts.

### Resolve merge conflicts using your local repo
Sometimes merge conflicts may be present on GitHub but merging locally
will work without conflicts. This is due to differences between the
merge algorithm used in local git versus the one used by GitHub.
``` bash
git fetch --all
git checkout -t upstream/merges/release/dev17.12-to-main
git reset --hard upstream/main
git merge upstream/release/dev17.12
# Fix merge conflicts
git commit
git push upstream merges/release/dev17.12-to-main --force
```
2024-08-26 21:18:36 -07:00
David Wengier 19134c2ee6 PR feedback 2024-08-27 14:08:54 +10:00