chiark / gitweb /
talk and slides
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 28 Jul 2018 06:50:54 +0000 (07:50 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 28 Jul 2018 06:50:54 +0000 (07:50 +0100)
Makefile
dm.fig
talk.txt

index 3fcc54a835e5968c3b1ed95e19696bcffd80e5c9..03c68f0ef2139cf8bb61fe727efb2b05279aea57 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,7 @@ SLIDES+= dm-rebase-again # made from 7
 SLIDES+= dm-pre-wreck
 SLIDES+= dm-wreck # made from 4
 SLIDES+= dm-post-wreck
+SLIDES+= dm-6
 #SLIDES+= manpage
 
 # layers
@@ -15,6 +16,7 @@ SLIDES+= dm-post-wreck
 #    X1    circles
 #    X2    edges
 #    X3    edges (53 is included in wreck)
+#    X4,5  upstream git history
 #   1X0-9  "master" note
 #   1X3    not included in pre-wreck
 #   151    included in rebase-again
@@ -49,15 +51,15 @@ dm-rebase-again.ps: dm.fig conflict.txt.eps
 
 dm-pre-wreck.ps: dm.fig conflict.txt.eps
        iconv <$< >$@.1 -f UTF-8 -t ISO-8859-1
-       LC_CTYPE=en_GB fig2dev -L ps -l dummy -z A4 -D+10:39,130:132,135:139 <$@.1 $o
+       LC_CTYPE=en_GB fig2dev -L ps -l dummy -z A4 -D+10:39,44:45,130:132,135:139 <$@.1 $o
 
 dm-post-wreck.ps: dm.fig conflict.txt.eps
        iconv <$< >$@.1 -f UTF-8 -t ISO-8859-1
-       LC_CTYPE=en_GB fig2dev -L ps -l dummy -z A4 -D+4,5,10:39,130:132,135:139 <$@.1 $o
+       LC_CTYPE=en_GB fig2dev -L ps -l dummy -z A4 -D+4,5,10:39,44:45,130:132,135:139 <$@.1 $o
 
 dm-wreck.ps: dm.fig conflict.txt.eps
        iconv <$< >$@.1 -f UTF-8 -t ISO-8859-1
-       LC_CTYPE=en_GB fig2dev -L ps -l dummy -z A4 -D+1:3,5,53,+10:49,140:149 <$@.1 $o
+       LC_CTYPE=en_GB fig2dev -L ps -l dummy -z A4 -D+1:3,5,44:45,53,+10:49,140:149 <$@.1 $o
 
 %.eps:   %.fig
        iconv <$< >$@.1 -f UTF-8 -t ISO-8859-1
diff --git a/dm.fig b/dm.fig
index 40146e1ee5bc505fb32f42bb2e9ee44a9758c2e2..eb893223edefb858996e87e6e25cb25b2c2ca9d5 100644 (file)
--- a/dm.fig
+++ b/dm.fig
@@ -13,11 +13,6 @@ Single
 4 0 0 30 -1 14 20 0.0000 4 210 195 3465 -3510 1\001
 4 0 0 30 -1 14 20 0.0000 4 90 195 3555 -3510 '\001
 -6
-6 4620 -1725 5280 -1425
-2 3 0 2 0 7 41 -1 -1 0.000 0 0 7 0 0 6
-        4635 -1575 4725 -1440 5265 -1440 5265 -1710 4725 -1710 4635 -1575
-4 0 0 41 -1 14 12 0.0000 4 120 480 4725 -1530 v1.2\001
--6
 6 3150 -6930 8595 -5130
 2 5 0 1 0 -1 1 -1 20 0.000 0 0 -1 0 0 5
        0 conflict.txt.eps
@@ -25,6 +20,11 @@ Single
 2 2 0 2 0 7 2 -1 20 0.000 0 0 -1 0 0 5
         3195 -6885 8550 -6885 8550 -5175 3195 -5175 3195 -6885
 -6
+6 4620 -1725 5280 -1425
+2 3 0 2 0 7 44 -1 -1 0.000 0 0 7 0 0 6
+        4635 -1575 4725 -1440 5265 -1440 5265 -1710 4725 -1710 4635 -1575
+4 0 0 44 -1 14 12 0.0000 4 120 480 4725 -1530 v1.2\001
+-6
 1 3 0 2 0 7 51 -1 20 0.000 1 0.0000 6390 -5400 225 225 6390 -5400 6615 -5400
 1 3 0 2 0 7 31 -1 20 0.000 1 0.0000 3870 -4500 225 225 3870 -4500 4095 -4500
 1 3 0 2 0 7 31 -1 20 0.000 1 0.0000 4140 -5400 225 225 4140 -5400 4365 -5400
@@ -33,11 +33,11 @@ Single
 1 3 0 2 0 7 11 -1 20 0.000 1 0.0000 1530 -3600 225 225 1530 -3600 1755 -3600
 1 3 0 2 0 7 11 -1 20 0.000 1 0.0000 1800 -4500 225 225 1800 -4500 2025 -4500
 1 3 0 2 0 7 31 -1 20 0.000 1 0.0000 3330 -2700 225 225 3330 -2700 3555 -2700
-1 3 0 2 0 7 41 -1 20 0.000 1 0.0000 4365 -1575 225 225 4365 -1575 4590 -1575
 1 3 0 2 0 7 41 -1 20 0.000 1 0.0000 5850 -3600 225 225 5850 -3600 6075 -3600
 1 3 0 2 0 7 31 -1 20 0.000 1 0.0000 7470 -3150 225 225 7470 -3150 7695 -3150
 1 3 0 2 0 7 51 -1 20 0.000 1 0.0000 6120 -4500 225 225 6120 -4500 6345 -4500
 1 3 0 2 0 7 21 -1 20 0.000 1 0.0000 2070 -5400 225 225 2070 -5400 2295 -5400
+1 3 0 2 0 7 45 -1 20 0.000 1 0.0000 4365 -1575 225 225 4365 -1575 4590 -1575
 2 1 0 2 0 7 32 -1 -1 0.000 0 0 7 0 0 3
         1305 -2700 3330 -2700 4140 -5400
 2 1 0 2 0 7 22 -1 20 0.000 0 0 -1 0 0 2
@@ -95,15 +95,15 @@ Single
 2 3 0 2 0 7 61 -1 20 0.000 0 0 7 0 0 7
         6960 -7087 7155 -7199 7155 -7425 6960 -7537 6765 -7424 6765 -7199
         6960 -7087
-3 2 0 2 0 7 41 -1 20 0.000 0 0 0 3
-        4725 -1215 4005 -1665 3510 -1260
-        0.000 -1.000 0.000
-3 2 0 2 0 7 41 -1 -1 0.000 0 0 0 3
+3 2 0 2 0 7 44 -1 -1 0.000 0 0 0 3
         3510 -1260 2925 -1620 2430 -1215
         0.000 -1.000 0.000
-3 2 0 2 0 7 41 -1 -1 0.000 0 0 0 3
+3 2 0 2 0 7 44 -1 -1 0.000 0 0 0 3
         2430 -1215 1845 -1575 1350 -1170
         0.000 -1.000 0.000
+3 2 0 2 0 7 44 -1 20 0.000 0 0 0 3
+        4725 -1215 4005 -1665 3510 -1260
+        0.000 -1.000 0.000
 4 0 0 50 -1 14 20 0.0000 4 210 195 6255 -5310 2\001
 4 0 0 50 -1 14 20 0.0000 4 90 195 6390 -5310 "\001
 4 0 0 50 -1 14 20 0.0000 4 90 195 6120 -4410 "\001
@@ -157,7 +157,6 @@ Single
 4 0 0 41 -1 0 15 0.0000 4 225 1365 8055 -3825 autogenerated\001
 4 0 0 41 -1 0 15 0.0000 4 165 765 8055 -3600 commit\001
 4 0 0 41 -1 0 15 0.0000 4 60 135 7830 -3735 =\001
-4 0 0 41 -1 16 20 0.0000 4 315 2895 1665 -810 Upstream git history\001
 4 0 0 40 -1 14 20 0.0000 4 90 195 5850 -3510 "\001
 4 0 0 40 -1 14 20 0.0000 4 210 195 5715 -3510 1\001
 4 0 0 50 -1 14 20 0.0000 4 210 195 5985 -4410 3\001
@@ -168,14 +167,15 @@ Single
 4 0 0 160 -1 16 24 0.0000 4 375 2160 6255 -7920 after upload\001
 4 0 0 133 -1 16 24 0.0000 4 390 3435 6255 -7920 after git-debrebase\001
 4 0 0 4 -1 16 24 0.0000 4 300 2745 6255 -7920 aborted rebase\001
-4 0 0 30 -1 0 15 0.0000 4 180 1275 2329 -5455 no ref refers,\001
-4 0 0 30 -1 0 15 0.0000 4 225 1140 2385 -5265 will be gc'd\001
-4 0 0 40 -1 0 15 0.0000 4 180 1275 4398 -5439 no ref refers,\001
-4 0 0 40 -1 0 15 0.0000 4 225 1140 4423 -5263 will be gc'd\001
 4 0 0 61 -1 0 15 0.0000 4 225 1290 5490 -7110 pseudomerge\001
 4 0 0 5 -1 16 24 0.0000 4 375 3195 6304 -7546 for new-upstream\001
-4 0 0 170 -1 16 24 0.0000 4 375 2160 6255 -7920 after upload\001
+4 0 0 170 -1 16 24 0.0000 4 375 2160 6255 -7920 rebasing again\001
 4 0 0 160 -1 14 12 0.0000 4 120 720 7335 -7425 master\001
 4 0 0 151 -1 14 12 0.0000 4 120 720 6750 -5355 master\001
 4 0 32 170 -1 14 12 0.0000 4 180 1800 7335 -7425 ffq-prev/master\001
 4 0 0 60 -1 14 20 0.0000 4 255 195 6865 -7215 /\001
+4 0 0 44 -1 16 20 0.0000 4 315 2895 1665 -810 Upstream git history\001
+4 0 32 30 -1 0 15 0.0000 4 180 1275 2329 -5455 no ref refers,\001
+4 0 32 30 -1 0 15 0.0000 4 225 1140 2385 -5265 will be gc'd\001
+4 0 32 40 -1 0 15 0.0000 4 180 1275 4398 -5439 no ref refers,\001
+4 0 32 40 -1 0 15 0.0000 4 225 1140 4423 -5263 will be gc'd\001
index 562247a438fa6e1b175d8409f2722efc9f41cedc..b103ca4004c62ebe4ed85213cbb59000a03f19b9 100644 (file)
--- a/talk.txt
+++ b/talk.txt
@@ -295,19 +295,9 @@ debian/patches need to be right.  Again, that is taken care of
 automatically: a commit is made adding a patch representation of the
 delta queue to debian/patches.
 
-You can safely ignore these autogenerated commits
+You can ignore these autogenerated commits.
 
-===== data model slide "commit history structure rebasing again"
-
-And indeed, they will be stripped out:
-
-Next time you stark work, using git-debrebase, both the pseudomerge
-and the patch addition will be stripped, so that you once again have a
-nice delta queue to edit.
-
-That'll put you back in a situation like I introduced at the start.
-
-===== data model slide up to PM [5]
+===== data model slide "commit history structure after upload"
 
 After uploading you'll want to push your branch to salsa, if you have
 a team repository there.  That makes sure all the views of your
@@ -322,7 +312,23 @@ If you want to push without uploading that's fine too: git-debrebase
 stitch will just make the pseudomerge for you, giving you a
 fast-forwarding branch suitable for pushing to salsa or whereever.
 
-===== data model slide merge conflict failure
+After upload, next time you come to the package, you can work directly
+by adding commits on master.  If you want to rebase, or just want to
+tidy the branch up, you can run git-debrebase:
+
+===== data model slide "commit history structure rebasing again"
+
+It strips off the bureaucracy commits.  If you made any commits on top
+on top of the pseudomerge (or you pulled any such commits from salsa,
+or whereever), it folds those back into the breakwater and the delta
+queue.  So you once again a nice delta queue to edit.
+
+git-debrebase makes a note of where you were previously, so that when
+you next want to push or upload, it can stitch the history back in
+with another pseudomerge.  At the start of this walkthough, that ref
+was indeed present - I glossed over it.
+
+===== data model slide "commit history structure" again
 
 More common is a different kind of merge problem.
 
@@ -330,6 +336,8 @@ What happens if you one of your delta queue commits doesn't apply
 during the upstream rebase - that is, your patch does not apply to the
 new upstream source code ?
 
+===== data model slide  "commit history structure  failed rebase"
+
 git-rebase users will have seen this kind of situation before.
 git-rebase stops at the first commit which can't be applied in
 the new context, and asks the user for help.
@@ -349,16 +357,16 @@ because it can't apply commit 3'.
 Now, if you decide that this is too difficult to deal with today, you
 can just say git rebase --abort and everything just gets put back.
 
-===== data model slide merge conflict failure, new stuff greyed out
+===== data model slide  "commit history structure  aborted rebase"
 
 The autogenerated special breakwater merge, and changelog entry, are
 discarded, leaving you just where you were before.  You've wasted no
 effort because everything you're throwing away was machine-generated.
 
-===== data model slide [5] AGAIN
-
 There is one caveat I should mention:
 
+===== data model slide  "commit history structure after upload" AGAIN
+
 Right now, if two git-debrebase branches diverge, it is not trivial to
 merge them again.  The data model I'm describing does not currently
 allow general merge commits.