CompatHelper.jl icon indicating copy to clipboard operation
CompatHelper.jl copied to clipboard

Option: all changes in single PR

Open DilumAluthge opened this issue 4 years ago • 11 comments

DilumAluthge avatar Nov 17 '19 06:11 DilumAluthge

any chance the v3 rewrite can include this? 😄

ericphanson avatar Jul 13 '21 13:07 ericphanson

I would like to include this in the v3 update. One question, do we think this should always be on, or opt-in? This will somewhat determine how I make this work.

Personally I think it should just always be one PR, but I think this may potentially lead to issues. Lets say we need to update compats for A and B and make a single pr saying A and B need updating. If that PR doesn't get addressed, and then compats for C also needs an update, Compathelper will make a separate PR saying A, B, and C needs to be updated. Not a huge deal but sort of annoying? I suppose compathelper could potentially be smarter by checking the titles of the PRs to isolate a new PR for package C only?

Any other sort of edge cases you can think of?

fchorney avatar Jul 27 '21 18:07 fchorney

Sorry for the late reply. I think one PR sounds good, maybe could be opt-out if you want to give folks the old way too.

Lets say we need to update compats for A and B and make a single pr saying A and B need updating. If that PR doesn't get addressed, and then compats for C also needs an update, Compathelper will make a separate PR saying A, B, and C needs to be updated. Not a huge deal but sort of annoying? I suppose compathelper could potentially be smarter by checking the titles of the PRs to isolate a new PR for package C only?

It might be nice if it just updated the existing PR to add C to it too. So there's always just 1 PR from CompatHelper, instead of them piling up.

ericphanson avatar Aug 10 '21 15:08 ericphanson

At least for now, I want this to be opt-in.

By default, Dependabot creates individual PRs for each dependency, and CompatHelper very loosely tries to emulate Dependabot.

DilumAluthge avatar Aug 10 '21 17:08 DilumAluthge

For v3, let's keep it opt-in.

And then for v4, we can think about changing it to opt-out.

DilumAluthge avatar Aug 10 '21 17:08 DilumAluthge

I don't think i'll be able to get this done for the v3 merge in today, but would like to get it working in the next little while. Might be nice to keep thinking about the edge cases and exactly how it might work. I do like the idea of it updating a merge request to keep it up to date.

fchorney avatar Aug 10 '21 19:08 fchorney

It would be great if this could be the case for the first time it is run (which is typically when one sees a large number of PRs).

simonbyrne avatar Jan 25 '22 17:01 simonbyrne

I think it should be opt-out. That another tool got it wrong (in my opinion) is no reason to keep it wrong.

Regarding the A and B then C issue raised by @fchorney, a simpler approach than modifying a pending CompatHelper PR as suggested by @EricPHanson is to exit early, doing nothing. This defers any new changes ComoatHelper would make until it's previous PR was merged.

I just don't want any additional goals to get in the way of the "single PR" improvement. The present behavior is unbearable when one has created a new project. I'm seriously considering not enabling CompatHelper in future projects until this is fixed.

Alternatively, perhaps there could be a tool one could run manually on one's local clone to set compat entries.

MarkNahabedian avatar Feb 06 '23 10:02 MarkNahabedian

Alternatively, perhaps there could be a tool one could run manually on one's local clone to set compat entries.

See e.g. https://github.com/GunnarFarneback/PackageCompatUI.jl

DilumAluthge avatar Feb 06 '23 14:02 DilumAluthge

Alternatively, perhaps there could be a tool one could run manually on one's local clone to set compat entries.

See e.g. https://github.com/GunnarFarneback/PackageCompatUI.jl

On Julia 1.8+, also see https://pkgdocs.julialang.org/dev/repl/#repl-compat

DilumAluthge avatar Feb 06 '23 14:02 DilumAluthge

Thanks, but I have no trouble editing the Project file directly. What I'm looking for is a tool that will determine the compatible versions.

I guess I could call `ComoatHelper.get_project_deps' and work from there.

On Feb 6, 2023 9:23 AM, Dilum Aluthge @.***> wrote:

Alternatively, perhaps there could be a tool one could run manually on one's local clone to set compat entries.

See e.g. https://github.com/GunnarFarneback/PackageCompatUI.jl

On Julia 1.8+, also see https://pkgdocs.julialang.org/dev/repl/#repl-compat

— Reply to this email directly, view it on GitHubhttps://github.com/JuliaRegistries/CompatHelper.jl/issues/126#issuecomment-1419163091, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIBY3E7QY5DPFQPKKWWLSBTWWECNLANCNFSM4JOINIMQ. You are receiving this because you commented.Message ID: @.***>

MarkNahabedian avatar Feb 06 '23 16:02 MarkNahabedian