Your one-stop-cake-shop for everything Freshly Baked has to offer

docs: explain josh's branch creation behavior

Josh does weird things when creating branches, it's worth documenting
them (particularly as we tend to use jujutsu where push option
specification has to be done via the git config)

+43 -1
+43 -1
README.md
··· 38 38 ``` 39 39 40 40 When you've added this section to your ssh config, you can clone over SSH. 41 - Pushing will work as normal for SSH clones. 41 + Except for when creating branches, pushing will work as-normal for SSH clones. 42 42 43 43 ```bash 44 44 git clone ssh://git@git.freshlybakedca.ke/patisserie.git:/packetmix.git 45 45 # Swap out "packetmix" at the end of the URL for whatever project you want to clone 46 46 ``` 47 + 48 + ### Creating new branches 49 + 50 + When pushing to josh, creating branches won't work on a regular git push. This 51 + is because josh doesn't know what state you want the rest of the repository to 52 + be for your branch 53 + 54 + You can tell josh by providing the `base=` push option like so: 55 + 56 + ```bash 57 + git push origin HEAD:my-new-branch -o base=main 58 + ``` 59 + 60 + If you want to always pick main by default you can set this in your 61 + repository-specific git config 62 + 63 + ```bash 64 + git config push.pushOption 'base=main' 65 + ``` 66 + 67 + Setting this in your git config may also be useful if 68 + you're using an alternative git frontend, for example 69 + [Jujutsu](https://jj-vcs.github.io/jj/latest/), which does not provide the 70 + ability to set push-options when pushing to git remotes 71 + 72 + ### Signing commits 73 + 74 + As josh rewrites commits, they will not be validly signed everywhere. 75 + We therefore recommend you turn off commit signing for patisserie or any 76 + subprojects which you clone down 77 + 78 + For example, 79 + 80 + ``` 81 + git config commit.gpgsign false 82 + ``` 83 + 84 + or 85 + 86 + ``` 87 + jj config set --repo git.sign-on-push false 88 + ```