0.2.2 • Published 2 years ago

@logseq/diff-merge v0.2.2

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

Logseq Diff & Merge:

Block level diff and merge for Logseq

Progress:

  • Merge
  • Tests
  • Consider id::
  • Finalize language choice & rewrite - Typescript
  • Mldoc port in
  • Org-mode support - via Mldoc

Usage:

  • Refer to the demo at entry src. yarn dev to run it.
  • Returning operations are indexed by the "original block position". For Diff, it's defined by the first (base) branch to diff; For Merge, it's defined by the base branch of the branches to merge.
    • The 0 index is reserved for the ops to be inserted before the first base block.
    • Ex. the following case would generate an empty [] at 0 index: base:
      ## hello
       - world
        - nice
         - nice
         - bingo
         - world
      branch:
      ## Halooooo
       - world
        - nice
         - nice
         - bingo
         - world
      result (notice the empty array at 0 index):
      Array(7) [ [], (2) […], (1) […], (1) […], (1) […], (1) […], (1) […] ]
      Reason: no insertion is needed before the first base block.
  • The op (DELETE/EQUAL/INSERT) represents the one-to-one correspondence between blocks before and after diff-merge. Equal doesn't mean equal in content, it means that the block is the same block as it was before (e.g., same block UUID)

Strategy:

  • Resolve inner block conflict by line if block are shipped with uuid (e.g., id:: in Logseq Markdown)
  • Do not execute delete operation if there is any "modified" equal block in the same position from other branches. This is to avoid deleting a block that is modified by other branches.

Dev:

  • Experiments: yarn dev
  • Build dist: yarn build
  • Publish to NPM: yarn publish
0.2.1

2 years ago

0.2.0

2 years ago

0.2.2

2 years ago

0.1.0

2 years ago

0.0.3

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago