X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=NOTES.git-debrebase;h=c268d7598e265fb5a517e01c859e64651c7db3cb;hb=880af0a90f1b02db4607e94d38555f2e86af47a3;hp=aa725b13e77b551b306a93f78882522123637f58;hpb=cdb3884ed9c0a404c956fd0bc3df420ee545debe;p=dgit.git diff --git a/NOTES.git-debrebase b/NOTES.git-debrebase index aa725b13..c268d759 100644 --- a/NOTES.git-debrebase +++ b/NOTES.git-debrebase @@ -1,3 +1,34 @@ + +# +# 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-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)