마음의 안정을 찾기 위하여 - CVS 서버 IP/도메인 변경시 대처하는 방법
2266102
439
804
관리자새글쓰기
태그위치로그방명록
별일없다의 생각
dawnsea's me2day/2010
색상(RGB)코드 추출기(Color...
Connection Generator/2010
최승호PD, '4대강 거짓말 검...
Green Monkey**/2010
Syng의 생각
syng's me2DAY/2010
천재 작곡가 윤일상이 기획,...
엘븐킹's Digital Factory/2010
CVS 서버 IP/도메인 변경시 대처하는 방법
개발관련 Tool Manual | 2010/01/02 23:55
혼자 개발을 하는 프로젝트가 많이 있지만, 회사 데스크탑과 노트북 그리고 집에서 일을 하는 경우 집에 있는 데스크탑의 각각의 프로젝트를 동기화 시키기 위해 CVS를 사용하고 있다.

CVS를 이용함으로써, 3개의 데스크탑과 노트북에서 동일한 소스를 가지고 작업을 할 수 있게 되는데, 서버 아이피가 고정 아이피인 경우에는 그럴일이 드물겠지만, 유동 아이피를 사용한다던가 혹은 서버 아이피/도메인이 어떤 사정에 의해 변경되었을때는 Commit/Update 작업이 되지 않아 상당히 골머리를 썩게 한다.

TortoiseSVN의 경우에는 "Relocate" 메뉴를 지원한다고 하는데, (관련 링크 : http://junho85.tistory.com/10)
사용자 삽입 이미지

이미지 출처 : http://junho85.tistory.com/10



내가 사용중인 CVS에서는 저런 메뉴는 보이지도 않는다.

결국 이런 경우에는 다시 checkout 을 하거나 CVS/Root 파일내에 아이피 정보를 모두 수정 해 주어야 한다.

:pserver:cvsid@변경전 아이피:/var/repo:pserver:cvsid@변경후 아이피:/var/repo 로...

뭐 이걸 일일이 수작업으로 변경하는 일은 프로젝트의 규모가 크지 않은 경우라면 관계없지만, 프로젝트 규모가 큰 경우에는 수정해야할 "root" 파일의 갯수만 해도 수백개가 된다. 결국 매번 저런 작업을 한다는것은 무리라는 얘기...

그래서 리눅스에서는 perl 스크립트를 이용하여 변경작업을 하여주고,
find ./ -name "Root" -exec perl -pi -e 's/변겅전IP/변경후IP/g' {} \;

윈도우에서는 AcroEdit나 기타 파일 내용 바꾸기가 가능한 툴을 이용해서 변경 작업을 해주면 된다.

하지만!!!!! CVS 서버 주소의 변경이 빈번하게 일어나는 일이 아니기때문에 저런 형태로의 대응 방법도 괜찮겠지...

저 방법보다 좀더 깔끔한 방법을 소개하고자 한다. 현재 본인이 사용하고 있는 방법인데 굉장히 편하다.

자 그 방법에 대해 알아보도락 하자.

1. C:\Windows\System32\Drivers\Etc 폴더를 보면 "hosts"라는 파일이 존재하는데 해당 파일을 약간만 수정해줌으로써, CVS 서버에 관해 좀더 유연한 대처를 할 수 있게 된다.

해당 파일의 내용을 살펴보자.
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

127.0.0.1       localhost

위의 내용에서 보면 127.0.0.1 / localhost 라는 내용을 볼 수 있는데, 127.0.0.1이라는 아이피 주소를 localhost라는 영문명(도메인명)으로 별명을 지어주는 역할을 할 수 있다.

2. 이를 이용하여 저 hosts 파일에 아래의 내용을 넣어보자.

192.168.0.100             my_cvs_server

이후에 CVS 서버에 새로운 모듈을 만들거나 CheckOut / Commit / Update를 수행할때 아래와 같이

:pserver:cvsid@my_cvs_server:/var/repo  의 형태로 하게 되면 서버 아이피가 바뀔때마다 hosts 파일만 손봐주면 손쉽게 CVS를 이용할 수 있게 된다.

애초에 CVS 서버 주소를 "my_cvs_server" 나 기타 자신이 좋아하는 영문 이니셜등으로 하자라는 얘기!!!

위에서 언급한 방법보다 더 좋은 방법이 있다면 알려주시길....그리고 CVS에서 지원하고 있다면 해당 CVS Client의 버전 정보도 ㅠㅠ
2010/01/02 23:55 2010/01/02 23:55
Article tag list Go to top
View Comment 1
Trackback URL :: 이 글에는 트랙백을 보낼 수 없습니다
From. 구차니 2010/01/04 01:23
답글달기삭제
ㅋㅋ 확실히 귀찮은 문제죠.
DDNS 사용하다가 네트워크 문제가 생기거나 아니면 출장가면서 기존 repository 문제로
종종 겪였던데 말이죠 ^^;

저의 경우에는 linux server + windows terminal 식으로 사용하는데
Acroedit 을 이용해서 파일에서 찾아 바꾸기 기능을 이용한답니다.

그게 아니라면 음... 그냥 새로 checkout하고 병합하기를 주로 사용하죠 ㅋ
PREV : [1] : NEXT
 
 
 
 
: [1] ... [316][317][318][319][320][321][322][323][324] ... [1317] :
«   2024/03   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
전체 (1317)
출판 준비 (0)
My-Pro... (41)
사는 ... (933)
블로그... (22)
My Lib... (32)
게임 ... (23)
개발관... (3)
Smart ... (1)
Delphi (93)
C Builder (0)
Object... (0)
VC, MF... (10)
Window... (1)
Open API (3)
Visual... (0)
Java, JSP (2)
ASP.NET (0)
PHP (5)
Database (12)
리눅스 (29)
Windows (25)
Device... (1)
Embedded (1)
게임 ... (0)
Web Se... (2)
Web, S... (21)
잡다한... (6)
프로젝트 (0)
Personal (0)
대통령... (13)
Link (2)