Consensus

dmg-tech: going to the league’s own gotosocial

K kouhai Public Seen by 19

this is the working thread for gotosocial patch development, fork maintenance, and release management

W

WholeWheatBagels Sat 28 Sep 2024 7:01AM

Currently, the patchset for gotosocial is floating around in discord and not tracked anywhere, and the GTS fork has not been modified from upstream. I'm working on setting up/finishing the CI for the fork, and I see two options for patch management:

  1. patch-as-branch: track patches as a feature branch in the fork repo

    This would make updating the patches to a new upstream release easier, as the branch can be rebased and git can deal with small unrelated changes to the patched files.

  2. patch-in-ci: track patches as a patchset separately and apply during CI build/release

    This may be easier for people to contribute patches since changes could be added as patch files via gitlab's web ui instead of needing to be committed and merged in to the fork. This will make long-term updates harder since the patches need to be remade any time the patched file changes upstream.

I think 1 is a better option long term but requires more technical knowledge to add patches (git), but editing the source code does require some level of technical knowledge to begin with. The current scope of 2 patches (maybe 3 for branding/source url changes) patch-in-ci could be manageable.

Any thoughts on which one is better to use?

WM

walking mirage Sat 28 Sep 2024 8:23AM

option 1 seems like it will save us work in the future, especially if we further customize the software. option 2 might be easiest right now but seems like it could become a pain if it's not easy to switch methodologies

can we document the patching process in the wiki?

M

Mori Sat 28 Sep 2024 5:45PM

Also agree option 1 is probably best long term. Short term, I think it's more important to have documentation on the patching process/CI.

V

viviridian Sat 28 Sep 2024 9:00PM

Option 1, any complexity saved by not having to deal with git is moved to working with patches which is much more painful imo.

Someone would need to interact with git to create the patches in option 2 anyway. I don't see what we really gain there.

W

WholeWheatBagels Sat 28 Sep 2024 10:51PM

sounds good, I'll apply the current patches and make a branch. Once the CI is ironed out I'll document the process in the wiki

W

WholeWheatBagels Sat 28 Sep 2024 11:34PM

Can I get access to the Gitlab group? usn is `detjensrobert`

WM

walking mirage Sun 29 Sep 2024 12:26AM

@websiteleague Done.

WM

walking mirage Sun 29 Sep 2024 12:27AM

@websiteleague damn, good username get

W

WholeWheatBagels Sun 29 Sep 2024 12:29AM

huh I didn't even notice lmao, didnt expect it to pull it from the email i used. changed it to my normal so yall can use it for official account or whatever

W

WholeWheatBagels Sun 29 Sep 2024 1:30AM

we intend to upstream our patches at some point, but should the CI config live in the fork repo? my understanding is the CI repo was created to keep the CI from 'polluting' the fork, but now that our patches live in a feature branch, adding the CI to that branch I think is definitely doable.

There's a change that need to be made to the repo for containers to build to the right place I've added as an addtl patch (gotosocial@848a547a) and it is not too hard to separate them out from the commits/patches we want to upstream, so I think it makes sense to simplify things and inline the ci config.

Load More