현재 내가 일하는 곳(일본)에서는
워드, 엑셀과 같은 파일을
TortoiseSVN에 관리하고 있는 편이다.
사용하다보니 SVN에서의
파일 관리는 여러사람이
동시에 파일을 수정하는 것이 어렵다는
단점이 존재하고 있다.
그래서 단점이긴 하지만
설계서를 SVN에 관리하면서도
각각의 프로젝트에 관한 설계서에 대해서는
기존의 설계서에 넘버를 증가시켜
설계서를 늘려가는 방식으로 관리하고 있다.
설계서 1
설계서 2 (설계서 1 내용 포함)
설계서 3 (설계서 1, 2 내용 포함)
그런데 이런 파일 관리에는
단점이 존재하는 것이
갑자기 프로젝트1의 설계서를
변경해야하는 경우에는
설계서1의 내용을 변경하지 않으면 안되는데
이런 경우 설계서2, 설계서3의
내용을 동시에 변경하거나
설계서3만 수정하는 방식을 택해야 한다.
하지만 때에 따라서는 적절한 판단을 내리는게
애매해지고 각 설계서에 내용의 누락이
발생할 수 있다.
즉, 사람이 하는 일은 체계가 없으면
틀림없이 어딘가에 손실이 발생하기 마련이다.
그렇기 때문에 내 생각은
엑셀과 워드 파일같은 경우는
파일 서버에 공유파일로 관리하면서
협업을 용이하게 하고
최종적인 파일은 SVN에 관리하여
기록을 통한 추적을 용이하게 하는 것이다.
SVN에 대해서 더 알아보니
이러한 단점을 가지고 있다고 한다.
1. 바이너리 파일의 특성
• 엑셀이나 워드 파일은 바이너리 형식이기 때문에, 텍스트 파일처럼 라인 단위로 변경 사항을 추적할 수 없다.
• SVN은 주로 텍스트 기반의 파일(소스 코드 등)을 잘 추적하는데, 바이너리 파일은 내부 구조를 알 수 없어서 차이점(diff)을 명확히 구분하기 어렵다.
2. 파일 병합의 어려움
• 바이너리 파일에서는 병합(Merge)이 어렵다. 예를 들어, 두 사람이 동시에 같은 엑셀 파일을 수정하면, SVN은 이 파일을 병합할 수 없고 그냥 덮어쓰기를 하게 된다.
• 이때 누군가의 작업 내용이 사라질 수 있는 위험이 있다. 특히 여러 사람이 동시에 파일을 수정하는 경우에 매우 불편하다.
3. 변경 사항 추적의 어려움
• SVN은 바이너리 파일에서 어디를 수정했는지 정확하게 추적할 수 없다. 그저 파일 전체를 새로운 버전으로 커밋할 뿐.
• 이로 인해 엑셀 파일의 수정 내용이나 특정 셀에 대한 변화 내역을 확인하는 게 어렵다.
4. 파일 크기 문제
• 바이너리 파일은 변경될 때마다 파일 크기가 커질 수 있기 때문에, 버전 관리 시스템에 부담을 줄 수 있다.
• 특히 대용량의 엑셀 파일이나 워드 문서가 자주 변경될 경우, SVN의 성능에도 영향을 미칠 수 있다.
• 텍스트 파일: 사람도 읽을 수 있는 형식으로 저장된 파일.
ex) .txt, .html, .csv 파일
텍스트 파일은 각 문자가 아스키 코드(숫자 코드)로 표현
• 바이너리 파일: 컴퓨터가 데이터를 처리하기 위해 이진수(0과 1)로 저장된 파일.
ex) .xlsx, .docx, .jpg, .png .mp4 등이 모두 바이너리 파일
'IT 일기 > 개발자노트' 카테고리의 다른 글
UI는 포기 할 수 없다. (0) | 2024.12.15 |
---|---|
올스택 개발자가 될 수 있을까? (1) | 2024.11.29 |
어떤 유산을 물려줄 것인가?(1) (0) | 2024.11.28 |
2016. 05 .11 어떤 개발자가 될 것인가? (1) | 2016.05.11 |