You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Why?
To do
Directory.Build.props
files and manage properties with same value in it.Problems
Reason 1
In most repositories using C#, the project path is not in the root path, but rather there is a path like src or test and the project path is in it.
Here are some git repositories that have similar structure for us to refactor.
https://github.com/dotnet/runtime
https://github.com/grpc/grpc-dotnet
https://github.com/serilog/serilog
https://github.com/JamesNK/Newtonsoft.Json
https://github.com/xunit/xunit
Reason 2
This link is based on the following structure when explaining
Directory.Build.props
.Problems when the project path changes
Git history could become disconnected if we do it wrong, because git does not have rename command, but mv command.
Build error occurs when these projects are used by submodules in the specified repository.
Some tools (such as gitlens) cannot compare differences between revisions with different paths. but the blame is displayed well.
What structure is good?
Examples
Benefits
Here is an example for MSBuild refactoring.
https://github.com/s2quake/libplanet/tree/refactor/msbuild
Beta Was this translation helpful? Give feedback.
All reactions