SLIDES+= dm-pre-wreck
SLIDES+= dm-wreck # made from 4
SLIDES+= dm-post-wreck
+SLIDES+= dm-6
#SLIDES+= manpage
# layers
# 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
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
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
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
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
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
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
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
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
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.
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.
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.