Skip to content

Implement compute diff with hash tree traversalย #16

@toothlessdev

Description

@toothlessdev

๐Ÿงฉ Summary

  • HashTree ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ฉฐ diff ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋กœ์ง์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค

๐ŸŽฏ Context

  • ํ‘œ์ค€ํ™”๋œ oas spec ์„ ๋น„๊ตํ•˜์—ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•จ

๐Ÿ›  Proposed Change

  • HashTree ๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ, hash ๊ฐ€ ๋‹ค๋ฅธ๊ฒฝ์šฐ children ์œผ๋กœ ๊นŠ์ด์šฐ์„ ํƒ์ƒ‰ ์ง„ํ–‰
  • hash ๊ฐ€ ๋‹ค๋ฅธ leaf ๋…ธ๋“œ ๋ฐœ๊ฒฌ์‹œ diffInternalNode ๋ฅผ ํ˜ธ์ถœํ•ด์„œ DiffResult ์— ์ถ”๊ฐ€ (added, removed, modified)

๐Ÿ“ฆ Scope

  • @patchlogr/core
  • @patchlogr/cli
  • @patchlogr/inspector
  • docs, examples
  • tests
  • ci / infra
  • other (์•„๋ž˜์— ๋ช…์‹œ)

โš ๏ธ Impact & Risk

  • No Breaking Changes
  • Possible Breaking Changes

๐Ÿ“Ž ์ถ”๊ฐ€ ๋งฅ๋ฝ (Additional Context)

๊ด€๋ จ ์ด์Šˆ, PR, ๋ฌธ์„œ, ์Šคํฌ๋ฆฐ์ƒท ๋“ฑ์„ ์ฒจ๋ถ€ํ•ด์ฃผ์„ธ์š”.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions