buildinspace / peru

a generic package manager, for including other people's code in your projects
MIT License
1.12k stars 69 forks source link

Simplifies diff-filter for modified files except deletes #222

Closed colindean closed 2 years ago

colindean commented 2 years ago

This comes by recommendation of @newren in the thread related to #221.

I could only see this being regrettable if a new filter type was added that Peru doesn't want. I speculate that such is unlikely so this is probably safe.

oconnor663 commented 2 years ago

Thanks! I'm still trying to figure out the details of how to work with git checkout --no-overwrite-ignore, but I'll come back to this as soon as that's in.

colindean commented 2 years ago

Fine with me! I started to look into that but exceeded the amount of time I could put into it for a few days and decided on some low-hanging fruit!

oconnor663 commented 2 years ago

Yeah the other bug is 1) a fairly subtle behavior in 2) an especially complicated section of 3) some very old code that I can barely remember. The issues that come up with checkout are things like "it doesn't seem like checkout can tolerate empty trees", which are solvable, but which are very non-obvious just looking at the test failures that they trigger. Also it's pretty important that the solution doesn't increase the number of shell-outs we do on the fast path through this code. I wouldn't recommend that anyone else dive into it :sweat_smile:

oconnor663 commented 2 years ago

Sorry for letting this sit for so long. I'm going to disable the problematic test rather than blocking everything on it.

colindean commented 2 years ago

Thank you!