CoTech Website repo mirroring to GitHub

Since the CoTech repos have been moved to git.coop this has created a problem for CoTech co-operatives who are not willing or prepared to join Webarchitects to access git.coop.

So @harry manually created a mirror of the website repo at GitHub and today @laura created a merge request to update it.

I have now patched the git.coop repo with the patch file GitHub generated (after having to split it into two) and have created a new GitHub account for push mirroring (if anyone would like access to this account please let me know and I can add your email address as a alias) and configured push mirroring from the git.coop repo to the GitHub repo.

So now people can create pull requests at GitHub and we can then download the patch files and then check and apply them as follows to the git.coop repo:

git apply --stat ../2.patch
git am --signoff < ../2.patch
4 Likes

Thanks for working out how to do this @chris!

It sounds a bit convoluted though. Do you think it’d be possible for, for example, CoTech to join WebArchitects so that anyone in CoTech could just create a gitlab account?

1 Like

It isn’t that bad, the steps involved are:

  1. Create a fork of the GitHub repo.
  2. Edit the fork and then create a pull request.
  3. Find someone to manually merge the patch file that is generated by the pull request (the URL of this file is contained in the email sent about the pull request by GitHub, for example https://patch-diff.githubusercontent.com/raw/cotech/jekyll-website/pull/1.patch).

The main disadvantage is that the dev version of the site only updates when the git.coop repo is updated so the GitHub user doesn’t get to see the results straight after each commit.

I can’t think why not, we have an allow list of domains that can be used to create accounts via email on git.coop so it would simply be a matter of adding all the CoTech member domains to that list, assuming CoTech agrees to abide by the rules, completes an application form and buys one or more membership share (£1 each).

1 Like