Peaker/git-mediate

Auto-reduce deleted lines

yairchu opened this issue · 0 comments

Just had this conflict:

<<<<<<< HEAD
        addItem <-
            ConvertM.typeProtectedSetToVal
            <&>
            \protectedSetToVal tag ->
            do
                _ <-
                    DataOps.newHole
                    >>= ExprIRef.newValI . cons . (V.RowExtend tag ?? stored ^. ExprIRef.iref)
                    >>= protectedSetToVal stored
                DataOps.setTagOrder tag (Set.size existingTags)
        let resultInfo = ConvertTag.TagResultInfo <$> EntityId.ofTag (pl ^. Input.entityId) <*> addItem
        ConvertTag.replace nameWithoutContext existingTags resultInfo >>= ConvertM . lift
    where
        stored = pl ^. Input.stored
||||||| parent of e8ff6966d (wip)
        addItem <-
            ConvertM.typeProtectedSetToVal
            <&>
            \protectedSetToVal tag ->
            do
                _ <-
                    DataOps.newHole
                    >>= ExprIRef.newValI . cons . (V.RowExtend tag ?? stored ^. ExprIRef.iref)
                    >>= protectedSetToVal stored
                DataOps.setTagOrder tag (Set.size existingTags)
        ConvertTag.replace nameWithoutContext existingTags (EntityId.ofTag (pl ^. Input.entityId)) addItem
            >>= ConvertM . lift
    where
        stored = pl ^. Input.stored
=======
        protectedSetToVal <- ConvertM.typeProtectedSetToVal
        genNewExtendId <- transaction newKey & ConvertM.convertOnce <&> Lens.mapped %~ unsafeFromUUID
        let addItem tag =
                do
                    _ <-
                        DataOps.newHole
                        >>= ExprIRef.newValI . cons . (V.RowExtend tag ?? stored ^. ExprIRef.iref)
                        >>= protectedSetToVal stored
                    DataOps.setTagOrder tag (Set.size existingTags)
        ConvertTag.replace nameWithoutContext existingTags (EntityId.ofTag _) addItem
            >>= ConvertM . lift
>>>>>>> e8ff6966d (wip)

git-mediate -d ends with:

             >>= ConvertM . lift
-    where
-        stored = pl ^. Input.stored

The two removed lines are the end are exactly the last two lines in BASE and HEAD. It could have special case for removals in start and end that match the content and reduce those automatically. git doesn't do it on its own so perhaps there's a good reason not to?