From: Ian Jackson Date: Wed, 8 Feb 2012 18:01:24 +0000 (+0000) Subject: Unwanted dep removal search - difficulties X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke.git;a=commitdiff_plain;h=9a8795b9394e4064ebe309bedf0162c193922952;ds=sidebyside Unwanted dep removal search - difficulties --- diff --git a/DESIGN b/DESIGN index 1569517..97f0681 100644 --- a/DESIGN +++ b/DESIGN @@ -280,41 +280,64 @@ rm.. rm.. - proposed (elsewhere) - / \ | | - / \ | | - / | | | - REMOVAL rm | | | - | | | | - inc | | | - / | | | | - / inc | | | - | | `------------ | ----<-------- | -.| - inc inc | | *2 - |`- | ------------- | ----<--------.| | - `---inc | 1* / - | | | / - RE-INCLUDE inc rm REMOVAL |' - \ | / | - * REMOVAL rm / | - | inc | - inc / | - | / | - inc / | - | /`--------<-----------.| - inc / | - | / | - RE-INCLUDE inc / | - \ | / | - * REMOVAL rm / | - | / | - inc | - \ | - `------------<-------------.| - | - | - IT + OUR BASE SOURCE OUR IT TIP + | | | + | | | + ADD DEP WH/ inc rm | + NEEDS IT /| /\ | + / | rm \ | + / | ______________'/ \ | + inc |' / \ | IT tip + / inc REMOVAL rm \ | elsewhere + / | / \ | | | + / | inc \ | | | + some IT | / | | | | + | inc | | | | + / | | | | | + / inc | | | | + | / | | | | | + / / inc | | | | + / | | `------------ | ----<-------- | -.| | + / inc inc | | *2 | + | |`- | ------------- | ----<--------.| | | + | `---inc | 1* / | + | | | | / | + | RE-INCLUDE inc rm REMOVAL |' | + inc \ | | | | + | * REMOVAL rm | | | + | | / | | + |`-------------- | ----------. / | | + | | inc ANC2 | | + inc inc / | | + |`.____________ | / | | + | `inc ANC1 / | | + | | /`--------<----------- | ---. | + without inc / | \/ + | | / | / + \ RE-INCLUDE inc / | / + \ \ | / | / + \ * REMOVAL rm / | / + \ | / | / + \ inc FIRST ADD DEP |/ + \ | \ *3 + \ | `------------<-------------.| + \ | | + \ without | + \_____ | | + `without | + | | + IT Merge 1* and 2*, diff against some relevant base branch commit - or something, and apply to proposed. + or something, and apply to proposed. ??? + + +After we are done: + source tip is included in our base + +Each time: + * pick common ancestor + * compute whether merge from common anc would unwantedly remove + * if so we arrange that the common anc is a "rm" but our branch + actually contains IT