+
+#
+# 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/ffqrebase-prev/BRANCH BRANCH may be refs/...; if not it means
+# refs/ffqrebase-base/BRANCH refs/heads/BRANCH
+# zero, one, or both of these may exist
+#
+# 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 ?
+
+
+=========
+
workflow
git-debrebase blah [implies start] strips pseudomerge(s)
this is OK). Or maybe to the last pseudomerge on the current tip,
so that the overall result will be series of pseudomerges.
+========================================
+
+import from gbp
+
+ inputs:
+ current HEAD (patches-unapplied),
+ this is going to be the base of the old breakwater
+ nominated upstream
+
+ checks:
+ HEAD:<upstream> = upstream:<upstream>
+ upstream..HEAD:<upstream> is empty (overrideable)
+ upstremm:debian is empty (overrideable)
+
+ procedure:
+ construct
+ run gbp pq import to generate pq branch
+ new breakwater is
+ old HEAD
+ commit to remove d/patches
+ breakwater pseudomerge with upstream
+ "rebase" of pq branch, each commit with d/patches stripped
+
+what about dgit view branch ?
+ideally, would make pseudomerge over dgit view
+would need to check that dgit view is actually dgit view of
+ ond of our ancestors
+failing that first push will need --overwrite