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
Paket referenced via dotnet.tools.json (v 7.2.1); same version spec in paket.dependencies
per what I believe to be common practice, I specify * text=auto in .gitattributes; 99% of files are thus LF endings
Description
The paket docs don't provide a pit of success for the combo of:
using git
being able to dotnet restore or dotnet build from a clean clone (or git clean -fdx)
NOT having to run dotnet paket restore (as dotnet restore seems to include it and Just Work as long a the Paket.restore.targets file is present)
Expected behavior
Never end up with line-ending only diffs in git
Never have to invoke paket restore
Actual behavior
If/when I edit/merge Paket.restore.targets, the line endings change to LF
If/when I paket install etc, the file is replaced with a CRLF-endings based file
If I don't commit `Paket.restore.targets, restore does not work without a paket restore
Desired behavior/crazy ideas
I'd be very happy to be told about the xyproblem.info nature of my reasoning and told a better solution, but I feel I've definitely done the legwork to try to figure this out!
I see the following potential general directions to resolve the issue:
Add a doc section that covers what to do (atm it has many generations of advice, but nothing that suggests that it's currently a good idea to add Paket.restore.targets to your repo). I would propose to add some version of the Known Workarounds below to the docs.
Tweak Paket's behavior in minor ways. e.g.
if it figured out the expected line endings and wrote paket.restore.targets per that ?
if paket autorestore printed a message recommending to commit the Paket.restore.targets ?
Do a more complete fix or V8, e.g.
Have a /paket.targets in base of repo (with line endings per .gitattributes)
Update the docs to say to commit /paket.*
Either have Paket autorestore put a CRLF override in the .gitattributes, or respect the repo's rules
I'd be prepared to do solution 1 if I get enough input
I am not sufficiently au fait with current gen paket to do solution 2
I don't realistically have bandwidth to contribute to the impl of solution 3, though I'll obviously test and type here.
Known workarounds
(Assuming typical gitattributes with typical * text=auto in effect)
Add .paket/Paket.restore.targets eol=crlf to .gitattributes
Add .paket/Paket.restore.targets to source control (with CRLF line endings)
The text was updated successfully, but these errors were encountered:
bartelink
changed the title
feat!(Paket.restore.targets): Don't trigger null diffs
feat!(Paket.restore.targets): Support dotnet restore without paket restore; avoid null git diffs
Oct 16, 2023
Context
dotnet.tools.json
(v 7.2.1); sameversion
spec inpaket.dependencies
* text=auto
in.gitattributes
; 99% of files are thus LF endingsDescription
The paket docs don't provide a pit of success for the combo of:
dotnet restore
ordotnet build
from a clean clone (orgit clean -fdx
)dotnet paket restore
(asdotnet restore
seems to include it and Just Work as long a thePaket.restore.targets
file is present)Expected behavior
paket restore
Actual behavior
Paket.restore.targets
, the line endings change to LFpaket install
etc, the file is replaced with a CRLF-endings based fileDesired behavior/crazy ideas
I'd be very happy to be told about the xyproblem.info nature of my reasoning and told a better solution, but I feel I've definitely done the legwork to try to figure this out!
I see the following potential general directions to resolve the issue:
Paket.restore.targets
to your repo). I would propose to add some version of the Known Workarounds below to the docs.paket autorestore
printed a message recommending to commit thePaket.restore.targets
?/paket.targets
in base of repo (with line endings per.gitattributes
)/paket.*
I'd be prepared to do solution 1 if I get enough input
I am not sufficiently au fait with current gen paket to do solution 2
I don't realistically have bandwidth to contribute to the impl of solution 3, though I'll obviously test and type here.
Known workarounds
(Assuming typical
gitattributes
with typical* text=auto
in effect).paket/Paket.restore.targets eol=crlf
to.gitattributes
.paket/Paket.restore.targets
to source control (with CRLF line endings)The text was updated successfully, but these errors were encountered: