Skip to content
Won-Kyu Park edited this page Aug 28, 2026 · 4 revisions

SimpleRCS Wiki

SimpleRCS๋Š” ๋ฌธ์„œ ํ•˜๋‚˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ดˆ๊ฒฝ๋Ÿ‰ ์ŠคํŠธ๋ฆผ ๊ธฐ๋ฐ˜ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค. RCS์˜ ์—ญ๋ฐฉํ–ฅ ๋ธํƒ€ ์ €์žฅ ๋ฐฉ์‹์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๋˜, ์š”์ฆ˜ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์‹œ ์„ค๊ณ„ํ–ˆ๋‹ค โ€” ์ŠคํŠธ๋ฆผ ์ค‘์‹ฌ I/O, HEAD O(1) ์ ‘๊ทผ, ํ…์ŠคํŠธ/๋ฐ”์ด๋„ˆ๋ฆฌ ํ†ตํ•ฉ ์ง€์›, ํ•ด์‹œ์ฒด์ธ๊ณผ GPG ์„œ๋ช…๊นŒ์ง€.

์ด ์œ„ํ‚ค๋Š” ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ ๋ณด๋Š” ์‚ฌ๋žŒ์ด "์ด๊ฒŒ ์™œ ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ๊ณ , ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€"๋ฅผ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜๋„๋ก ๋งŒ๋“  ๋ฌธ์„œ ๋ชจ์Œ์ด๋‹ค. ์†Œ์Šค ์ž์ฒด๊ฐ€ ์ง„์‹ค์ด๊ณ , ์—ฌ๊ธฐ๋Š” ๊ทธ๊ฑธ ์ฝ๊ธฐ ํŽธํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋‘” ๊ณณ์ด๋‹ค.

์ฝ๋Š” ์ˆœ์„œ

์ฒ˜์Œ์ด๋ผ๋ฉด ์œ„์—์„œ ์•„๋ž˜๋กœ ์ฝ๋Š” ๊ฑธ ๊ถŒํ•œ๋‹ค.

  1. System Overview โ€” SimpleRCS๊ฐ€ ๋ญ˜ ํ•˜๋Š” ๋ฌผ๊ฑด์ธ์ง€, ์™œ ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€
  2. Source Code Map โ€” ํŒจํ‚ค์ง€ ๊ตฌ์„ฑ๊ณผ ๊ฐ ํŒŒ์ผ์ด ๋งก์€ ์—ญํ• 
  3. Storage Format โ€” .srcs ํŒŒ์ผ ํฌ๋งท, ๋ธ”๋ก ๊ตฌ์กฐ, ํ•ด์‹œ์ฒด์ธ
  4. Diff Engines โ€” StreamSequenceMatcher์™€ Myers ๊ณ„์—ด, ๋ญ๊ฐ€ ์‹ค์ œ๋กœ ์“ฐ์ด๋Š”์ง€
  5. CLI Tools โ€” tools/ ์•„๋ž˜ ๋ช…๋ น์ค„ ๋„๊ตฌ๋“ค

์„ค๊ณ„ ๋…ธํŠธ / ์‹คํ—˜

  • Wiki Backend Design โ€” SimpleRCS๋ฅผ ์œ„ํ‚ค ์‹œ์Šคํ…œ์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ ์—”์ง„์œผ๋กœ ์“ธ ๋•Œ ๋ญ˜ ๋ณด๊ฐ•ํ•ด์•ผ ํ•˜๋Š”์ง€, DB ๋ฐฑ์—”๋“œ๋ณ„ ์‹ค์ธก ํฌํ•จ
  • Write Durability โ€” ์ปค๋ฐ‹ ๋„์ค‘ ๋Š๊ธฐ๋ฉด ์–ด๋””๊นŒ์ง€ ์‚ด๋ฆด ์ˆ˜ ์žˆ๋‚˜. RCS/git/hg ์•ˆ์ „์žฅ์น˜ ๋น„๊ต์™€ ์‹ค์ธก (ยง8 ๊ถŒ์žฅ์€ Plan Atomic Commit์œผ๋กœ ๋’ค์ง‘ํ˜”๋‹ค)
  • Plan Atomic Commit โ€” ์ปค๋ฐ‹์„ temp + os.replace๋กœ ์›์ž์ ์œผ๋กœ ์„ค์น˜ํ•œ๋‹ค. HEAD๊ฐ€ ๋’ค์— ์žˆ์–ด prefix๊ฐ€ ๊ณต์œ ๋˜๋ฏ€๋กœ RCS์‹ ์ „์ฒด ์žฌ์ž‘์„ฑ๋ณด๋‹ค ์‹ธ๋‹ค. ๊ตฌํ˜„ ์™„๋ฃŒ

English

์ฐธ๊ณ 

  • ์ €์žฅ์†Œ: https://github.com/wkpark/SimpleRCS
  • ๋ผ์ด์„ ์Šค: Apache License 2.0
  • Python 3.13+, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋Š” uv

Clone this wiki locally