[펌] Win CVS 에서 CVSNT 사용법

WinCVS을 설치 했다. 사용법을 몰라 어떻게 해야 할지....
사용법이 간단하지 않을 것 같은데 차례대로 해보는 방법밖에 없는가 보다.

1. 프로그램 설치

- Python 설치

http://python.org/
http://python.org/download/

Python 2.1.3
을 설치 했다. 현재 2.4버전이 있는데 이것은 WinCVS가 인식을 못한다.

- WInCVS

다운로드 사이트
http://www.wincvs.org/

이것을 설치하면 특별한 문제가 되는 것은 없고, WinCVS가 끝나면 CVSNT 설치를 묻는다. CVSNT을 설치하고 아래와 같이 실행 해 보니 무엇인가 문제가 있어 login이 되지 않는다. local은 문제가 없지만...
CVSNT을 다시 다운 받아 재설치하면 login이 되는 것으로 보아, 무엇인가 내가 잘못 사용하고 있는지 아니면...

- Help 사용법 :

CVS commands are:
add Add a new file/directory to the repository
admin Administration front end for rcs
annotate Show last revision where each line was modified
chacl Change the Access Control List for a directory
checkout Checkout sources for editing
chown Change the owner of a directory
commit Check files into the repository
diff Show differences between revisions
edit Get ready to edit a watched file
editors See who is editing a watched file
export Export sources from CVS, similar to checkout
history Show repository access history
import Import sources into CVS, using vendor branches
init Create a CVS repository if it doesn't exist
info Display information about supported protocols
log Print out history information for files
login Prompt for password for authenticating server
logout Removes entry in .cvspass for remote repository
ls List files in the repository
lsacl List the directories Access Control List
passwd Set the user's password (Admin: Administer users)
authserver Authentication server mode
rannotate Show last revision where each line of module was modified
rdiff Create 'patch' format diffs between releases
release Indicate that a Module is no longer in use
remove Remove an entry from the repository
rename Rename a file or directory
rlog Print out history information for a module
rtag Add a symbolic tag to a module
server Server mode
status Display status information on checked out files
tag Add a symbolic tag to checked out version of files
unedit Undo an edit command
update Bring work tree in sync with repository
version Show current CVS version(s)
watch Set watches
watchers See who is watching a file
(Specify the --help option for a list of other help options)



2. 사용하기

- 디렉토리 만들기

저장소 및 전체 관리자가 있어야 할곳을 만든다. 여기서는 Multi-User의 사용을 목표로 하였다.

D:CVS을 CVSROOT로 한다.

init 명령 사용으로 CVS을 디렉토리를 만들고 초기화 한다.

cvs -d /CVS init

***** CVS exited normally with code 0 *****

위의 결과는 아래와 같이 디렉토리를 확인할 수 있다.





Python 2.1.3 (#35, Apr 8 2002, 17:47:50) [MSC 32 bit (Intel)] on win32
C:Program FilesGNUWinCvs 1.3Macroscvs2cl.py:156: SyntaxWarning: local name 'line' in 'wrapLine' shadows use of 'line' as global in nested scope 'lambda'
def wrapLine( line, wrapmargin=64):
TCL is available, shell is enabled : help (select and press enter)


cvs -d /CVS init

***** CVS exited normally with code 0 *****


cvs -d /CVS passwd -r administrator -a dolicom

***** CVS exited normally with code 0 *****

Adding user dolicom


사용자는 만들어 지고 'passwd'파일을 확인 할 수 있다.

cvs -d :pserver:dolicom@127.0.0.1:/CVS login

하면 login일 될것 같은데 무엇인가가 문제가 있다.


3. CVSNT 재 설치

login이 되지 않아 cvsnt가 무엇인가 문제가 있는것으로 보인다.
CVSNT를 재설치를 한다.

- http://www.cvsnt.org

에서 다운 받는다.

설치를 하고, 다음과 같이 CVSBT 'Serive Contol Panel'을 실행한다.





설정을 바꾸기 위해 Stop버튼으로 2개의 서비스를 중단한다.





Repositories에서 저장소 디렉터리를 만들어 준비를 한다.





여러가지 통신 관련 설정을 한다.

이제는 'Service Status' 탭을 선택하고 Start 버튼으로 서비스를 실행 한다.

다음은 확인 작업이다.

명령 프롬프트을 실행 하여 다음과 같이 login을 확인한다.

D:>set cvsroot=:ntserver:127.0.0.1:/CVS

D:>cvs -d /CVS passwd -r administrator -a dolicom
Adding user dolicom
New password: ********
Verify password: ********

D:>set cvsroot=:pserver:dolicom@127.0.0.1:/CVS
D:>cvs login
Logging in to :pserver:dolicom@127.0.0.1:2401:/CVS
CVS password: ********

D:>cvs ls -l -R
Listing modules on server

Directory CVSROOT
checkoutlist 1.1 Mon Dec 13 13:53:49 2004
commitinfo 1.1 Mon Dec 13 13:53:49 2004
config 1.1 Mon Dec 13 13:53:49 2004
cvsrc 1.1 Mon Dec 13 13:53:49 2004
cvswrappers 1.1 Mon Dec 13 13:53:49 2004
editinfo 1.1 Mon Dec 13 13:53:49 2004
historyinfo 1.1 Mon Dec 13 13:53:49 2004
loginfo 1.1 Mon Dec 13 13:53:49 2004
modules 1.1 Mon Dec 13 13:53:49 2004
modules2 1.1 Mon Dec 13 13:53:49 2004
notify 1.1 Mon Dec 13 13:53:49 2004
postcommand 1.1 Mon Dec 13 13:53:49 2004
postmodule 1.1 Mon Dec 13 13:53:49 2004
precommand 1.1 Mon Dec 13 13:53:49 2004
premodule 1.1 Mon Dec 13 13:53:49 2004
rcsinfo 1.1 Mon Dec 13 13:53:49 2004
taginfo 1.1 Mon Dec 13 13:53:49 2004
verifymsg 1.1 Mon Dec 13 13:53:49 2004
Directory CVSROOT/Emptydir

Directory tmp

Directory tmp/cvs-serv3872

D:>

사용자를 설정하고 login으로 확인 되었다.

이제는 WinCVS을 실행하여 다음과 같다.


*** WinCVS ************************************************

Python 2.1.3 (#35, Apr 8 2002, 17:47:50) [MSC 32 bit (Intel)] on win32
C:Program FilesGNUWinCvs 1.3Macroscvs2cl.py:156: SyntaxWarning: local name 'line' in 'wrapLine' shadows use of 'line' as global in nested scope 'lambda'
def wrapLine( line, wrapmargin=64):
TCL is available, shell is enabled : help (select and press enter)


cvs -d :pserver:dolicom@127.0.0.1:/CVS login

***** CVS exited normally with code 0 *****

Logging in to :pserver:dolicom@127.0.0.1:2401:/CVS


역시 login에 문제가 없다.

4. Import 하기

import는 작업 디렉토리의 내용을 버전 관리용 저장소에 저장하여 관리하는 단계이다. 가장 기초적인 목적이 이 단계이다.

메뉴 : Remote -> Import module...
을 실행하면



위의 파일 타입에서 프로그램중에 컴파일 된 obj는 파일 생성을 하고 제거하기 위해 다음과 같이 Edit버튼으로 실행한다.



무시하면 처리에서 제외 된다.

OK을 누르면


어디에 할 것인지를 확인하고 login도 동시에 이루어 진다.




CVSROOT에 사용자 이름과 password가 넣어 졌기 때문에 password 확인 절차는 없이 import가 이루어 진다.

Filtering 'D:testM340'...
cvs -q -d :pserver;username=dolicom;password=_______;hostname=127.0.0.1:/CVS import -I ! -I CVS -I *.obj -m "no message" M340/100 avendor arelease (in directory D:testM340)
I M340/100/cmd.obj
I M340/100/com.obj
I M340/100/command.obj
I M340/100/c_out.obj
I M340/100/funrsvd.obj
I M340/100/init.obj
I M340/100/init340.obj
I M340/100/intr340.obj
I M340/100/keypad.obj
I M340/100/lcd.obj
I M340/100/main.obj
I M340/100/putc.obj
I M340/100/rstart.obj
I M340/100/rtlib1.obj
I M340/100/rtlstr.obj
I M340/100/startup.obj
I M340/100/stdio.obj
N M340/100/CMD.C
N M340/100/CMD.H
N M340/100/COM.C
N M340/100/COM.H
N M340/100/COMMAND.C
N M340/100/COMMAND.H
N M340/100/C_OUT.SRC
N M340/100/DEBUG.H
N M340/100/FUNRSVD.C
N M340/100/hw.h
N M340/100/INIT.C
N M340/100/INIT.H
N M340/100/INIT340.C
N M340/100/INIT340.H
N M340/100/INTR340.C
N M340/100/KeyPad.c
N M340/100/KeyPad.h
N M340/100/Lcd.c
N M340/100/Lcd.h
N M340/100/m340.abs
N M340/100/m340.cmd
N M340/100/m340.map
N M340/100/M68340.H
N M340/100/M68340.INC
N M340/100/M68K.H
N M340/100/M68K.INC
N M340/100/main.c
N M340/100/Makefile
N M340/100/Makefile.bak
N M340/100/Makefile.step1
N M340/100/putc.c
N M340/100/RSTART.SRC
N M340/100/RSTART.SRC.TXT
N M340/100/RSTARTUP.C
N M340/100/RTLIB.H
N M340/100/RTLIB1.C
N M340/100/RTLSTR.C
N M340/100/SCONFIG.H
N M340/100/STARTUP.C
N M340/100/STDDEF.INC
N M340/100/STDIO.C
N M340/100/STDIO.H
N M340/100/USTDDEF.H
No conflicts created by this import

***** CVS exited normally with code 0 *****




import의 결과로 파일 생성 되어 있는 것이 보인다.

5. Checkout 하기

이 절차는 위에서 만들어진 버전 관리 파일로 부터 원래의 소스로 추출하는 과정이다.

Remote -> Checkout module ...



M340/100에 있는 모듈을 d:tmp 에 만드는 과정이다.

확인 하면

cvs -q -d :pserver;username=dolicom;password=____;hostname=127.0.0.1:/CVS checkout -P M340/100 (in directory D:tmp)

U M340/100/CMD.C
U M340/100/CMD.H
U M340/100/COM.C
U M340/100/COM.H
U M340/100/COMMAND.C
U M340/100/COMMAND.H
U M340/100/C_OUT.SRC
U M340/100/DEBUG.H
U M340/100/FUNRSVD.C
U M340/100/INIT.C
U M340/100/INIT.H
U M340/100/INIT340.C
U M340/100/INIT340.H
U M340/100/INTR340.C
U M340/100/KeyPad.c
U M340/100/KeyPad.h
U M340/100/Lcd.c
U M340/100/Lcd.h
U M340/100/M68340.H
U M340/100/M68340.INC
U M340/100/M68K.H
U M340/100/M68K.INC
U M340/100/Makefile
U M340/100/Makefile.bak
U M340/100/Makefile.step1
U M340/100/RSTART.SRC
U M340/100/RSTART.SRC.TXT
U M340/100/RSTARTUP.C
U M340/100/RTLIB.H
U M340/100/RTLIB1.C
U M340/100/RTLSTR.C
U M340/100/SCONFIG.H
U M340/100/STARTUP.C
U M340/100/STDDEF.INC
U M340/100/STDIO.C
U M340/100/STDIO.H
U M340/100/USTDDEF.H
U M340/100/hw.h
U M340/100/m340.abs
U M340/100/m340.cmd
U M340/100/m340.map
U M340/100/main.c
U M340/100/putc.c

***** CVS exited normally with code 0 *****

이제는 D:tmp에서 파일을 확인 한다.


-----------------------------------------------------------------------------------------------------
돌아이님 블로그에서 펌... 원주소는 http://blog.empas.com/dolicom/5317512
-----------------------------------------------------------------------------------------------------
by 디어환 | 2005/05/10 15:02 | JAVA | 트랙백 | 덧글(0)
트랙백 주소 : http://dearhwan.egloos.com/tb/139150
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >