SVN μ¬μ©λ²
μ©μ΄ μ€λͺ
μ μ₯μ
: 리ν¬μ§ν 리(Repository)λΌκ³ λ νλ©° λͺ¨λ νλ‘μ νΈμ νλ‘κ·Έλ¨ μμ€λ€μ μ΄ μ μ₯μ μμ μ μ₯μ΄ λ©λλ€. κ·Έλ¦¬κ³ μμ€λΏλ§μ΄ μλλΌ μμ€μ λ³κ²½ μ¬νλ λͺ¨λ μ μ₯λ©λλ€. λ€νΈμν¬λ₯Ό ν΅ν΄μ μ¬λ¬ μ¬λμ΄ μ κ·Ό ν μ μμ΅λλ€. λ²μ κ΄λ¦¬ μμ€ν
λ§λ€ κ°κ° λ€λ₯Έ νμΌ μμ€ν
μ κ°μ§κ³ μμΌλ©° Subversionμ Berkeley DBλ₯Ό μ¬μ©ν©λλ€. ν νλ‘μ νΈ λ§λ€ νλμ μ μ₯μκ° νμν©λλ€.
리λΉμ (Revision)
: μμ€ νμΌλ±μ μμ νμ¬ μ»€λ°νκ² λλ©΄ μΌμ ν κ·μΉμ μν΄ μ«μκ° μ¦κ° ν©λλ€. μ μ₯μμ μ μ₯λ κ°κ°μ νμΌ λ²μ μ΄λΌ ν μ μμ΅λλ€. Subversionμ κ²½μ° νμΌλ³λ‘ 리λΉμ μ΄ λ§€κ²¨μ§μ§ μκ³ νλ² μ»€λ° ν κ²μΌλ‘ μ 체 리λΉμ μ΄ λ§€κ²¨ μ§λλ€. 리λΉμ μ λ³΄κ³ νλ‘μ νΈ μ§ν μν©μ μ μ μμ΅λλ€.
trunk
: λ¨μ΄ μ체μ λ»μ 본체 λΆλΆ, λ무μ€κΈ°, λͺΈν΅ λ± μ
λλ€. νλ‘μ νΈμμ κ°μ₯ μ€μ¬μ΄ λλ λλ ν 리μ
λλ€. λͺ¨λ νλ‘κ·Έλ¨ κ°λ° μμ
μ trunk λλ ν 리μμ μ΄λ£¨μ΄μ§λλ€. κ·Έλμ μμ ꡬ쑰μμ trunk λλ ν 리 μλμλ λ°λ‘ μμ€λ€μ νμΌκ³Ό λλ ν λ¦¬κ° λ€μ΄κ°κ² λ©λλ€.
branches
: λ무μ€κΈ°(trunk)μμ λ»μ΄μ Έ λμ¨ λ무 κ°μ§λ₯Ό λ»ν©λλ€. trunk λλ ν 리μμ νλ‘κ·Έλ¨μ κ°λ°νλ€ λ³΄λ©΄ ν° νλ‘μ νΈμμ λ λ€λ₯Έ μμ λΆλ₯λ‘ λΉΌμ λ°λ‘ κ°λ°ν΄μΌ ν κ²½μ°κ° μκΉλλ€. νλ‘μ νΈμμ μμ νλ‘μ νΈλΌκ³ μκ°νλ©΄ λ©λλ€. branches λλ ν 리 μμ λ λ€λ₯Έ λλ ν 리λ₯Ό λμ΄ κ·Έ μμμ κ°λ°νκ² λ©λλ€.
tags
: tagλ 꼬리νλΌλ λ»μ κ°μ§κ³ μμ΅λλ€. μ΄ λλ ν 리λ νλ‘κ·Έλ¨μ κ°λ°νλ©΄μ μ κΈ°μ μΌλ‘ 릴리μ¦λ₯Ό ν λ 0.1, 0.2, 1.0 νλ μμΌλ‘ λ²μ μ λΆμ¬ λ°ννκ² λλλ° κ·Έλκ·Έλ λ°νν μμ€λ₯Ό λ°λ‘ μ μ₯νλ 곡κ°μ
λλ€. μμμ 보면 tags λλ ν 리 μλμλ λ²μ λͺ
μΌλ‘ λλ ν λ¦¬κ° λ§λ€μ΄μ Έ μμ΅λλ€.
λͺ
λ Ήμ΄ μλ―Έ
Import
:
svn import sampledir svn+ssh://svn-domain/svn/sample/trunk
맨 μ²μ νλ‘μ νΈ μμν λ μ μ₯μμ λ±λ‘νλ λͺ
λ Ήμ΄ ν λ² νκ³ λλ©΄ μΈμΌμ΄ μ μμ λ―.
Checkout
:
svn checkout svn+ssh://svn-domain/svn/sample/trunk sample
μ μ₯μμμ μμ€λ₯Ό λ°μ μ€λ λͺ
λ Ήμ΄. λ°μμ¨ μμ€μλ μμ€ λΏλ§μ΄ μλλΌ λ²μ Όκ΄λ¦¬λ₯Ό μν νμΌλ κ°μ΄ λ°μ μ¨λ€. μ§μ°κ±°λ λ³κ²½μ μ μ₯μμ μ°κ²° λΆκ°λ₯
Export
:
svn export svn+ssh://svn-domain/svn/sample2/trunk sample
체ν¬μμκ³Όλ λ¬λ¦¬ λ²μ Όκ΄λ¦¬ νμΌμ λΊ μμν μμ€λ§ κ°μ Έμ€λ λͺ
λ Ήμ΄ λ§μ§λ§μ μ¬μ©.
Commit
:
svn commit
체ν¬μμ ν μμ€λ₯Ό μμ , νμΌ μΆκ°, μμ λ±μ ν λ€ μ μ₯μμ μ μ₯νμ¬ κ°±μ νλ λͺ
λ Ήμ΄. Revisionμ΄ 1 μ¦κ° νλ€.
Update
:
svn update
체ν¬μμ ν΄μ λ°μ μμ€λ₯Ό μ΅μ μ μμ€λ‘ μ
λ°μ΄νΈ νλ λͺ
λ Ήμ΄. μμ€ μμ μ΄λ Commit νκΈ°μ μ ν λ²μ© ν΄μ€μΌ ν λ―. μ λͺ»νλ©΄ μμ€ λ§μΉλ κ²½μ°κ° μμ λ―.
Log
:
svn log
μ μ₯μμ μ΄λ ν κ²λ€μ΄ λ³κ²½ λμλμ§ νμΈ ν μ μλ log λͺ
λ Ήμ΄
Diff
:
svn diff --revision 4 sample.c
diff λͺ
λ Ήμ μμ μμ€ νμΌκ³Ό μ§κΈμ μμ€ νμΌμ λΉκ΅ν΄ 보λ λͺ
λ Ήμ΄
Blame
:
svn blame sample.c
Blameμ ν μμ€νμΌμ λμμΌλ‘ κ° λ¦¬λΉμ λν΄μ μ΄λ€ νμ λκ° μμ νλμ§ μμ보기 μν λͺ
λ Ήμ΄
lock
:
svn lock hello.c
νμΌμ λ½μ κ±Έμ΄ λ½μ 건 μ¬μ©μλ§μ΄ μμ ν μ μκ² ν΄μ£Όλ λͺ
λ Ήμ΄. ν΄μ λ
svn unlock
.
μ νμΌμ λ½μ κ±Έμλμ§ λ‘κ·Έλ₯Ό κΈ°λ‘ ν μ μλ€.
Add
:
svn add hello.c
μ νμΌμ λ§λ€μμ κ²½μ°μ νμΌμ μΆκ° ν΄μ£Όλ λͺ
λ Ήμ΄. κ·Έ λ€μ κΌ svn commitλ₯Ό κΌ ν΄μ€μΌ νλ€.
μ νμΌμ μμ±ν΄μ μ¬λ¦΄ λμλ κΌ addλ₯Ό ν΄μ€μΌ ν¨. μν΄μ£Όλ©΄ commitμ ν΄λ μ μ¬λΌκ°.
νμΌ λ°±μ
λ° λ³΅κ΅¬
dump
:
svnadmin dump sample > sample.dump
load
:
svnadmin load sample < sample.dump
μ νμΌμ λ§λ€μμ κ²½μ°
1.
svn add filename.*
2.
svn ci filename.*
κ·Έλ₯ κΈ°μ‘΄ μμ€ μμ ν κ²½μ°
1.
svn ci filename.*
νμ
svn update
λ κΌ ν΄μ£Όμ
svn status
: μμ μ΄ μμ νκ³ μλ νμΌμ μνλ₯Ό μλ €μ£Όλ λͺ
λ Ήμ΄
[μΆμ²] SVN μ¬μ©λ²κ³Ό μ©μ΄ μ€λͺ
|μμ±μ hbesthee