Common workflows using topgit and godot-extended-libraries/godot-fire

This is a living document. Update timestamp using date --iso=sec --utc.


Make sure that your ssh key is usable in WSL2.

scoop install wsl-ssh-pageant
wsl-ssh-pageant.exe -systray  -winssh ssh-pageant -wsl C:\wsl-ssh-pageant\ssh-agent.sock

Inside of WSL2.

export SSH_AUTH_SOCK=/mnt/c/wsl-ssh-pageant/ssh-agent.sock

Use pushInsteadOf to convert https links to ssh ones.

# Modify to your liking
git config --global
git config --global
git config --global

How to update a branch in topgit to the latest.


upstream - @ 3.2 branch

upstream-base - @ extended/3.2/3.2 branch

fire-merge - @ extended/3.2/fire branch

fire-exported - @ extended-fire branch

  1. Populate git repo
tg remote --populate origin
  1. Checkout upstream-base
tg checkout extended/3.2/3.2
  1. Rebase upstream-base on upstream.
git rebase godotengine/3.2 extended/3.2/3.2
  1. Checkout fire-merge
tg checkout extended/fire
  1. Update all the dependent branches
tg update
  1. Collapse and export branches to fire-exported
tg export extended-fire
  1. Switch to fire-exported
git checkout extended-fire
  1. Overwite remote fire-exported
git push -f

Create a topgit setup

To be written.

tg remote --populate origin
git checkout 3.2
tg create --base extended/3.2/3.2
tg create extended/3.2/wireframe
tg create extended/3.2/3.2
tg depend extended/3.2/wireframe
git clean -fxd && git checkout extended/3.2/3.2 --force
tg export extended-fire
tg push