Before talk: - cd ~/src/helm - reset to what I dgit pushed most recently (6282cfd4) - open =gitk --first-parent= - ensure the git stash is poppable on top of the right commit Demo: - from the "Update to upstream 2.9.7 commit" onwards, describe the commits + mixture of packaging commits, patches to upstream, auto commits + the top two commits pseudomerge over previous upload + that happened because I only just switched this package to use git-debrebase - note that in this example the patches do not appear at the end of the history. This is because I did not debrebase before uploading. - run: =git log --oneline v2.9.7..debian/2.9.7-1 -- . ':!debian'= - we can see that there are four commits that change the upstream source, i.e. we have a delta queue of length 4 - now: magit log on the file README.md to show how it's a completely normal git log with the Debian commit on the top - my goal for this demo here is to make a change to the upstream source, and then rearrange the delta queue such that this change appears second in the queue, right before the README decruft + you might want to do this because you want to add other patches that build on this one - I prepared a commit to patch the upstream source and add a changelog entry, I'll just pop it from my git stash stack - let's commit + =git diff= + =git commit -a -m "be more excited about helm"= - refresh gitk and show the new mixed commit - alright, now it's time to debrebase because things are a bit of a mess + =git debrebase -i= + move the commit to the right place, =C-c C-c= + refresh gitk + count the five commits to upstream source and look at the change we made + we now have two "be more excited by helm" commits + and the auto commit of debian/patches has been stripped out + and the delta queue is at the end of the branch - from here, you can type =dgit push-source= to upload, and you will get a =debian/patches= that exactly matches these five commits - or if we need to push to salsa, =git debrebase conclude= will get us something that is a fast-forward of what we had before + kill gitk + git debrebase conclude + gitk --date-order + now we see exactly what we had before =git debrebase conclude= except it is a FF of what we had before, so we can push to salsa Prep: - Cables. - Check readability of gitk, term and Emacs -- might want to bump font sizes. -- Sean Whitton