chiark / gitweb /
demo.txt is email from sean
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 30 Jul 2018 03:20:54 +0000 (04:20 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 30 Jul 2018 03:20:54 +0000 (04:20 +0100)
demo.txt [new file with mode: 0644]

diff --git a/demo.txt b/demo.txt
new file mode 100644 (file)
index 0000000..fd3dc63
--- /dev/null
+++ b/demo.txt
@@ -0,0 +1,76 @@
+From: Sean Whitton <spwhitton@spwhitton.name>
+To: Ian Jackson <ijackson@chiark.greenend.org.uk>
+Subject: new version to print
+Date: Sun, 29 Jul 2018 18:49:36 +0800
+
+Hello,
+
+At David's suggestion added: point out that the commit of d/patches has
+gone after the debrebase.
+
+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