chiark / gitweb /
git-debrebase: NOTES: reword, record decisions about pm and ffq, tidy
[dgit.git] / NOTES.git-debrebase
index 8613e407bce54654f5a3363ecd9bdef99217cea7..97038733dca16ae3337a2a29c1e7a41be0be21ab 100644 (file)
@@ -10,32 +10,11 @@ TODO
 
    arrange for dgit to automatically stitch on push
 
-#    git-ffqrebase start [BASE]
-#                # records previous HEAD so it can be overwritten
-#                # records base for future git-ffqrebase
-#    git-ffqrebase set-base BASE
-#    git-ffqrebase <git-rebase options>
-#    git-ffqrebase finish
-#    git-ffqrebase status [BRANCH]
-#
+========================================
+
 #  refs/ffq-prev/REF    relates to refs/REF
-#
-# git-debrebase without start, if already started, is willing
-# to strip pseudomerges provided that they overwrite exactly
-# the previous HEAD
-#  xxxx is this right ?  what matters is have we pushed
-#    I think in fact the right answer is:
-#       git-debrebase always strips out pseudomerges from its branch
-#       a pseudomerge is put in at the time we want to push
-#       at that time, we make a pseudomerge of the remote tracking
-#           branch (if raw git) or the dgit view (if dgit)
-#       for raw git git-ffqrebase, do want preciseley to record
-#           value of remote tracking branch or our branch, on start, so we
-#           overwrite only things we intend to
-#  the previous pseudomerge    check for tags and remote branches ?
-
-
-=========
+
+=======================================
 
 special commit tags
 overall format
@@ -69,8 +48,7 @@ However, the user is going to be doing git-rebase a lot.  We really
 don't want them to rewrite an anchor commit.  git-rebase
 trips up on merges, so that is a useful safety catch.
 
-
-=========
+=======================================
 
 workflow
 
@@ -79,20 +57,18 @@ workflow
   commit / git-debrebase / etc.
 
   dgit --damp-run push
-      hook: call git-debrebase prep-push   adds new pm ? passes --overwrite ?
-                                           dgit push does not update remote
+      hook: call git-debrebase prep-push   dgit push does not update remote
+      or something, must add patches at least
 
-  commit / git-debrebase / etc.            strips pm(s) including last one
+  commit / git-debrebase / etc.            strips patches
 
   dgit push
-      hook: call git-debrebase prep-push   adds new pm ? passes --overwrite ?
-                                           dgit push DOES update remote
+      hook: call git-debrebase prep-push   dgit push DOES update remote
 
   commit / git-debrebase / etc.            strips last pm, but arranges
                                            that remade pm will incorporate it
 
-
-==========
+========================================
 
 Theory for ffq-prev
 
@@ -145,7 +121,7 @@ When we do a thing
 
 We check we are ff from remotes before recording new ffq-prev
 
-========================================
+  ---------- now follows much the same info in different words ----------
 
 1. git-debrebase [-i etc.]
 
@@ -228,7 +204,7 @@ failing that first push will need --overwrite
 
 ========================================
 
-divergence, merges:
+how to handle divergence and merges (if not detected soon enough)
 
 same problem
  if merge, look at branches before merge
@@ -265,3 +241,13 @@ current avaiable strategies:
   we have already constructed m (previous patch or merged breakwater)
   try using vector calculus in the implied cube and compute
    multiple ways to check consistency ?
+
+========================================
+
+#    git-ffqrebase start [BASE]
+#                # records previous HEAD so it can be overwritten
+#                # records base for future git-ffqrebase
+#    git-ffqrebase set-base BASE
+#    git-ffqrebase <git-rebase options>
+#    git-ffqrebase finish
+#    git-ffqrebase status [BRANCH]