obsidiansystems / obelisk

Functional reactive web and mobile applications, with batteries included.
https://reflex-frp.org
BSD 3-Clause "New" or "Revised" License
960 stars 107 forks source link

Allow thunks to specify multiple git remotes #600

Open kmicklas opened 4 years ago

kmicklas commented 4 years ago

It is a common pattern to have a thunk track a project-specific fork of some dependency, which continually gets upstream changes merged in. However unpacking a thunk only creates one remote (the fork), requiring adding the upstream remote every time it is unpacked to make changes / merge upstream. It would be nice to have a way to specify additional remotes in the JSON which would get created on unpacking. The less clear part is what to do on repacking. We could create a remote in the JSON for every remote in the unpacked repo, but that may not always be desirable. (Probably what the user wants is whatever remotes were there before, but currently we throw away all thunk info when unpacking.)

3noch commented 4 years ago

This does make checking "pushedness" a bit more complex but it seems achievable.

kmicklas commented 4 years ago

@3noch Branches in git have a special "push remote" which seems like the right thing to check for pushedness.

Ericson2314 commented 4 years ago

This is also good because it means we can delete forks after they have been upstreamed and old thinks could still work.