Archive

Archive for the ‘Developer’s Tool’ Category

멀티 플랫폼 환경에서 ssh key 관리하기

January 8th, 2013 No comments

Social coding의 시대에 맞춰서 대부분의 오픈 소스 프로젝트들과 소스컨트롤들이 git으로 가고 있는 현 추세에 맞춰서 ssh키 관리하는 글을 하나쓸까한다. 현재 필자는 윈도우 머신 2대, 맥, 리눅스와 호스팅서버, VPS 모두 사용해야하는 상황인데 그렇다고 해서 키를 시스템별로 다 새로 만들어서 사용하는 것은 아니기에 이렇게 가이드 문서를 하나 만든다.

먼저 ssh키를 하나 생성하도록 하자. ssh키는 자신의 이메일 주소당 하나 있다고 생각하는 것이 맞는 것 같다. 필자의 경우에는 개인용 프로젝트에 사용하는 이메일 계정에 맞는 키 1개 그리고 회사에서 일할 때 쓰는 키 1개 이렇게 2개로 운영하고 있다.

0. 환경 전제
윈도우에서는 cygwin을 사용한다고 전제하자. 맥과 리눅스는 터미널을 사용한다고 하자.

1. 키 생성하기
먼저 자신의 키를 하나 만들어야 한다. 새 환경 중 아무데서나 다음의 키를 이용해서 키를 하나 만든다.

이러면 passphrase를 물어보는데 비밀번호를 잘 넣어주면 된다.
그러면 자신의 홈디렉토리의 .ssh 디렉토리안에 다음의 2개의 파일이 만들어진것을 볼 수 있을 것이다.
~/.ssh/mike3dk
~/.ssh/mike3dk.pub
.pub파일은 자신의 퍼블릭키이고 그냥 파일은 자신의 프라이빗키이다. 공개키는 여기저기 막 놓아두어도 상관없지만 private키는 잘 간수하는 것이 좋겠다. Github나 다른 Git관련 솔루션에서 내 계정과 연결할 때 쓰는 공개키가 바로 mike3dk.pub 이 파일이다.

2. 이 키를 이용해서 ssh 로그인해보기
이 키를 이용해서 다른 사이트에 로그인을 해보자.
ssh myid@remotehost.com
그러면 ssh 비밀번호를 물어보는데 그 키를 넣어주면 된다.

3. 이제 비밀번호 없이 그 사이트에 로그인을 하는 법을 해보자.
크게 2가지 방법이 있는데 하나는..

다른 하나는 ssh-copy-id 명령어를 사용하는 법이다.

4. 이 키를 이용해서 다른 시스템에서 사용하기
방금 만든키를 이용해서 다른 환경에서 사용하기 위해서 먼저 이 키페어를 다른 시스템으로 복사를 한다.

이 키를 이 시스템에서 쓰겠다고 하기 위해서는 먼저 ssh config파일을 만들어 줘야한다. 키가 설치가 안된 다른 환경으로 먼저 가서 config란 이름의 파일을 .ssh디렉토리 안에 만들고 다음의 내용을 추가해준다.

5. ssh-agent 띄우기

6. key chain 사용하기
keychain은 자동으로 ssh-agent를 관리해주는 키 관리자이다.
맥에는 키체인이 GUI버전의 키체인이 기본으로 깔려있다.
대부분의 시스템에는 기본으로 설치되어있지는 않으니 일단 각 환경에서 설치하는 법을 적어보면

6.1 Ubuntu
1. keychain package를 인스톨한다.

2. keychain이 읽는 파일들을 만들어줘야 한다. 이를 위해 keychain을 한번 실행하도록 하자

3. .bashrc 파일을 편집해서 다음의 2줄을 넣어준다.

그러면 ssh-agent를 한번에만 로딩하면서 키들은 캐쉬되어서 패스워드 안 넣어도 되는 시스템이 된다.

4. 현재 돌아가는 모든 ssh-agent를 죽일려면

6.2 Cygiwn
1. keychain을 인스톨 한다.
cygwin 설치할 때 쓰는 setup.exe을 실행시켜 보면 util 쪽에 keychain 이 있다. 이거 설치하도록 한다.

2. 나머지는 위와 동일하다.

Categories: Developer's Tool Tags:

새 터미널 git 환경설정

July 31st, 2012 No comments

새로 계정이 생겨서 git작업을 할 때에 주로 추가하는 명령을 모아봤다.

git config --global alias.st status
git config --global alias.ci 'commit -a'
git config --global alias.co checkout
git config --global color.ui auto

일단 이것먼저 하고 시작한다.

Categories: Developer's Tool Tags:

My Software Project Tool Chain in 2011

July 11th, 2011 No comments

My selection of Tool chains in 2011:

    redmine: project management
    git: version control
    gitolite: central source repository
    dokuwiki: project logging
    refinerycms: web site
    hudson ci: continuous integation
Categories: Developer's Tool Tags:

Windows7에서 TortoiseSVN쓰다가 고용량 파일들 add할때 에러나는 문제 해결법

April 16th, 2011 No comments

간만에 프로젝트 정리하느라 TortoiseSVN으로 파일들 새 Repository에 옮기고 있는데, 바이너리 파일들 올리다 보니 에러가 자꾸난다.
에러내용은 대략..

Can’t move
…\\.svn\tmp\entries
to

…\\.svn\entries
The file or Directory is corrupted and unreadable.

증상은.. 일단 svn add도 하다가 중간에 튀고, 재부팅 하면 chkdsk가 도는 골때리는 상황 연출이다.
윈도우 index 서비스랑 상관이 있단다. index를 끄라는 이야기도 있다. 나는 아예 커지않고 쓰니까 이건 나랑 해당이 없는 일이고.

해결책은 windows hotfix깔란다.
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=982927&kbln=en-us#step2
이메일을 넣으래서 넣었더니 그 쪽으로 다운로드 할 수 있는 링크가 날라오고 그 안에 암호도 들어있다.
다운 받으니 winzip으로 묶여있는 암호가 걸린 exe파일이 하나 오는데 풀어보니 Windows6.1-KB822927-x86.msu 들어있다. 2010-05-05 빌드이니 그 때 만든 것 같기도 하고.

아니면 Windows7 SP1안에 깔려있다고도 한다. 확인한바는 없지만..

레퍼런스
제대로 증상을 찝어낸 것 같은 링크…
http://social.technet.microsoft.com/Forums/en/w7itprogeneral/thread/df935a52-a0a9-4f67-ac82-bc39e0585148
http://www.seangw.com/wordpress/index.php/2011/01/tortoisesvn-error-adding-and-committing-corrupted-and-unreadable/

Categories: Developer's Tool Tags:

Redmine Svn Pre-commit hook script

December 29th, 2010 No comments

Recently, I’m considering switching my development management system to redmine. In order to make a nice transition, I’d tested the following pre-commit hook script that connects the svn commit message to redmine issue number. It’s the same way as I used to do with the trac.

Thanks to Sam and the post, the transition was stressfree.

Here is the script to download.

Categories: Developer's Tool Tags:

Project Line Counter Addin for Visual Studio 2008 and later

December 15th, 2010 No comments

I have been a big fan of Oz Solomon’s PLC(Project Line Counter Add-In 2.21) since Visual Studio 6. However, I wasn’t able to use it under Visual Studio 2008 which is my main development environment because of the installer doesn’t support it.

I was looking for the alternatives but nothing really worked for me.

Today, I was reading through the comments of the Oz’s article on the Code Project and found out there was a way to use it in visual studio 2008 and later which is modifying the registry keys. Brilliantly work by keenedm.

I’ve attached the registry key for my further use and time saver for the others.

pls211_vs9.zip

Kudos to keenedm and Oz!!

Categories: Developer's Tool Tags:

Suppressing Visual Studio 2008 Warnings

October 28th, 2010 1 comment

Warning:

Solution:

  1. Open Project Settings.
  2. From the left menu, select C/C++->General and then find Detect 64-bit Portability Errors.
  3. Set the value to “No“.
  4. Now the warnings will be disappeared.

Warning:

Solution:

  1. Open Project Settings of your dll project. In here, this will be “tlib” project.
  2. From the left menu, select C/C++ -> Output Files and then find Program Database File.
  3. Change the value to “$(TargetDir)$(TargetName).pdb” from “$(IntDir)\vc90.pdb”.
  4. Rebuild the library and the warnings will be disappeared.
C/C++ -> Output Files
Program Database File
Categories: Developer's Tool Tags:

How to set up svn ignore in command line

September 16th, 2010 No comments

Often I ran into this, so here are the steps to set up the ignore files in command line or in a shell.

When adding new xcode project into svn repository: Let’s say the project name is “helloapple” and user name is “myuser”.

When editor opens up, add these lines

And finally, commit the changes

Trac Installation on Dreamhost

May 17th, 2010 No comments

trac logo

  1. Install SVN through dreamhost web panel: “Goodies>Subversion”.
  2. Install Trac through dreamhost web panel: “Goodies> One-Click Installs”.
    1. Install more new website software – Advanced mode.
    2. Click Trac and hook up with svn repository just made.
  3. Add your user and authentification through Htaccess/WebDAV.
  4. In order to add Admin, log in to your shell account and type the following to add admin.
  5. Open the trac with your browser and log in as a admin account, change the settings as you wish.
  6. Change the trac.css, the default one is ugly, /path/to/trac/projects/htdocs/css/trac.css.
  7. Set up subversion hooks, this hook forces the users to write a ticket number against the trac. The hooks that I use can be found here. Need to edit “post-commit”, “pre-commit” file to match your path.
  8. Set the permission of /path/to/trac/db directory to 777.

Another Unity3D Project Contineous Integration: Hudson CI on Mac OSX

May 15th, 2010 No comments

Last week, I have automated the build system on windows by Cruise Control .net, unity3d and a couple of ftp tasks. However, there was a couple of problems in running ccnet as a windows service mode. While it was running great in command prompt, it gives errors in service mode. It wouldn’t be an issue if there is a dedeciated build windows server and nobody will mess with the command window. But unfortunately it wasn’t my case.

Now I turned my eyes to mac machine which I use it less frequently.
I spent a few hours to find a good solution for it and came up with this combination.

Hudson CI + Subversion + Unity mac + Hudson SCP plugin + Hudson post build script.

Here are the steps:

  1. Download hudson.war file from http://hudson-ci.org
  2. Place the war file into the directory of your choice. In my case, I made a special directory called “/_infra/” and place it in here. All CI related files will be stored under “/_infra/hudsonci/”.
  3. Though it will run great by running this command “java -jar hudson.war”, I want to run this more of a demon-style. There is another option of installing tomcat and place the war file under webapp but it is too much in my case. So the solution I used is this. Make this file “hundson.ci.plist” with the following information first. You can download it from here. Another trick I used here is that by explictly expressing the installation directy with “-DHUDSON=/_infra/hudsonci”, you can install the hudson in the designated directory instead of  “~./hudson”.
  4. Place the file in ~/Library/LaunchAgents/.
  5. Load this plist file as a service by running this command: “launchctl load -w ~/Library/LaunchAgents/hudson.ci.plist”
  6. Check hudson installation in http://localhost:8080

References:

[35.1] 템플릿에 담겨진 숨은 뜻은 무엇인가요?
[35.2] “class template”의 문법/구문은 무엇인가요?
[35.3] “function template”의 문법/구문은 무엇인가요?
[35.4] 어떻게 명시적으로 어떤 버전의 함수 템플릿이 호출되어야 할지를 선택할 수 있나요?
[35.5] “매게변수화된 형(Parameterized Type)”이란 무엇인가요?
[35.6] “범용성(Genericity)”란 무엇인가요?
[35.7] 내 템플릿 함수는 템플릿 형 T가 int혹은 std::string일때 특별한 동작을 하는데, T가 이렇게 형마다 다를 경우에 어떻게 이에 해당하는 코드를 작성할 수 있나요?
template so it uses the special code when T is one of those specific types?
[35.8] 응? foo나 bar를 사용하지 않는 템플릿 특수화의 예제를 보여주세요.
[35.9] 내 템플릿하무에 있는 대부분의 코드는 다 비슷해요; 소스 코드를 중복시키지 않으면서도 템플릿 특수화를 할 수 있는 특별한 방법이 있나요?
[35.10] 모든 이런 템플릿과 템플릿 특수화를 사용하면 프로그램을 느리게 할 것 같아요, 맞나요?

Successfully Built a Production Pipleline: SVN + Unity3D + CruiseControl.net + Publish To Web

May 8th, 2010 No comments

ccnet logo

As the number of the Unity3D web projects has increased, I was looking for a decent way of automating deployment.
I took some time to research and read some articles about it and finally get it all working.

The whole build pipeline was set up on Windows machine and SVN and TRAC has setup on Linux in a different machine.

Check these articles and I’m sure any one can do the same without too much of hassle.

A few notes:

  • Even though Unity doesn’t allow multiple instances when it’s running in editor, it does allows multiple instances when it’s running in batch mode
  • SVN is really poorly handing binary data such as the art assets. Maybe using Mercurial might be helpful and yet just don’t have a resource to look into it yet.
  • Combining with TDD tools like NUnit will be great and yet there was an unexpected error when handling GUIStyle with NUnit. Should look into more in a near future.

svn repository 2개 합하기

March 23rd, 2010 No comments

본사에서 하던 프로젝트에 소스코드 관리하던 중에 svn 리포 2개를 합할 일이 있어서 몇 자 적어놓는다.

상황

  1. 리포가 2개가 있다. 리포 A는 /trunk/projectA/files 이렇게 있고, 리포 B는 /trunk/files 이렇게 있다. 리포 B의 내용을 합해서 리포A로 가는 것이 궁극의 목표다. 리포 B의 files는 나중에는 리포 A의 /trunk/projectA/files 에 합해지면 된다.

해결책

  1. 리포 A를 덤프한다. svnadmin dump repoA > repoA.dmp
  2. 리포 B를 덤프한다. svnadmin dump repoB > repoB.dmp
  3. 리포 B를 리포 A에 로딩한다. svnadmin load –parent-dir trunk/projectA repoA < repoB.dmp

주의할 점

/projectA 폴더 구조를 맞출려고 repoB에서 /trunk/projectA/files 라고 디렉토리를 옮겨놓고, svn commit 해서. 그 다음에 svnadmin load를 했는데, 이 디렉토리가 있다고 에러가 나면서 로딩이 되지 않았다. 반드시 이렇게 하지 말고 svn admin –parent-dir 를 사용해야 제대로 로딩이 된다.

Categories: Developer's Tool Tags: , , ,

내가 쓰는 Visual Studio 환경 설정파일 vssettings

March 17th, 2010 No comments

2010년에 내가 사용하는 Visual Studio 환경 설정파일 vssettings 파일 저장해둔다.
MichaelKang.VS8.zip

별 특별한 내용은 없고, C#프로젝트에서 띄어쓰기 설정, 폰트 설정, 단축키 설정 등이 내가 일하기에 최적화되어 있다.

Categories: Developer's Tool Tags:

How to Uninstall Cygwin

January 22nd, 2009 No comments

As cygwin doesn’t supply uninstaller, the whole uninstall process should be done manually.

  1. Stop any service if running.
  2. Delete cygwin folder. (\cygwin)
  3. Delete cygwin install file folder.
  4. Delete 2 registry keys.
    HKLM\Software\Cygnus Solutions
    HKU\S-1-5-21-1801674531-2077806209-2146658873-1004\Software\Cygnus Solutions
Categories: Developer's Tool Tags: ,

LFTP commands

January 22nd, 2009 No comments
  • 동기화 문제를 해결하기 위해서 cygwin에 포함된 lftp를 사용한다. lftp는 mirror를 통해서 사이트간의 동기화 문제를 해결해준다.
  • cygwin의 Net 카테고리에 따로 있기 때문에 추가적으로 설치해 줘야한다.
  • 주로 사용하는 명령어는 다음과 같다.
    • 다운로드시
    • 업로드시
  • 간혹가다 Passive 설정때문에 “Delaying before reconnect”라는 문제가 생기기도 하는데 이 때에는 /etc/lftp.conf파일에서 다음 설정을 해준다.

Subversion Repository Migration

January 22nd, 2009 No comments
  • To back up:
  • To restore:
  • Trac Migration to New Server

    January 22nd, 2009 No comments

    From Trac 0.10 and above

    • Use Datamover plugin
    • To backup:

     

  • To restore:

  • Categories: Developer's Tool Tags: , ,

    Trac – How to change SVN repository

    January 22nd, 2009 No comments
    1. find trac.ini /your trac project/conf/
    2. find “repository_dir=” in ini file and change it to proper svn address
    3. in trac project root.
      trac-admin . resync
    Categories: Developer's Tool Tags:

    Trac On Windows 가이드

    January 18th, 2009 No comments

    TOW 0.3.0a, 2008년 8월 버전 TOW-0.3.0-alpha1-Base-en.ZIP

      • Python 2.5.2
      • Trac 0.11.1
      • Genshi 0.5.1
      • Apache HTTP Server 2.2.9
      • Mod_python 3.3.1
      • Subversion 1.5.1 (Subversion Repository support 1.4)
      • Subversion Python binding 1.5.1
      • EasyInstall 0.6c8
      • Added useful scripts.
    1. 다운받은 zip파일을 c:\TOW 디렉토리에 풀어준다.
    2. 환경변수를 등록하기 위해서 다음의 Python 스크립트를 실행시킨다.
      http://kjune.com/pds/towservice.py

     

  • 환경변수가 제대로 레지스트리에 추가되고 컴퓨터를 재부팅한다.
  • 제대로 되어 있는지 확인하기 위해서 Httpd를 실행시켜본다.

  • 확인을 하기 위해서 아래의 주소를 웹브라우저에 입력하기 제대로 동작하는 지 확인한다.

    제대로 trac 페이지가 떴다면 제대로 설치가 된것이다.

  • 이제 TOW를 서비스로 등록한다. 인터넷에서 찾은 다른 자료들은 start-tow.bat를 서비스로 등록을 하던데 여기서 하려고 하는 방법은 Apache를 직접 서비스로 등록하는 것이다. towservice.py가 이미 필요한 환경변수들을 시스템에 등록을 했고, 아파치 설정도 다 되어있기 때문에 바로 아파치를 서비스로 등록하는 것만으로도 충분하다.

  • 이제 윈도우 서비스 관리로 들어가서 Apache를 찾은 후에 시작 유형을 자동으로 하고 서비스를 시작한다. 이제 시스템이 시작함과 동시에 trac이 실행되게 된다.
    • 트랙 기본프로젝트 웹사이트:

     

  • svn repo :

  • 관리자 암호 변경하기

  • 새 사용자 추가하기

    그리고 반드시 이것을 해줘야 한다. http://trac.tistory.com/27

  • * 새 프로젝트 등록하기

    혹은

    • 프로젝트 제거하기
      다음 위치의 디렉토리 2개를 제거한다.

    • 리포지토리 변경할 때
      기존에 subverison 1.5.5 서버로 서비스로 운영하던 리파지토리를 이전하니까 제대로 되지 않았다. 그래서 궁리하던 바 아래의 명령어로 고쳐졌다.

      web에서는 됬지만 svn client로 check out할 때 에러가 나서 기존 1.5.5.기반의 리포지토리는 사용할 수 없게 되었다. 지금 가지고 있는 버전이 그닥 리비전이 많치 않아서 버전 히스토리 날리기로 맘먹었다.

    • Trac 환경설정 파일

    • 아직은 잘 모르겠는데, 일단 admin 계정으로 trac에 로그인 해서 상단 메뉴바 중에 가장 오른쪽 끝에 있는 Admin버튼을 누르고, 그 메뉴중에 Permissions를 선택한다.
      크게 3가지 메뉴가 있는데 여기에서 Grant Permission 쪽에다 다음과 같이 설정한다.
    • Subject: <UserName> Action: Trac_admin.
    • 이렇게 하면 Manage Permission 쪽에 새로운 이름이 나타나게 되고, 그 계정으로 로그인 하면 Admin 권한이 있다.
    • :?: 사용자들을 그룹별로 묶어서 그 그룹에 권한을 줘야 맞을 것 같은데 아직 사용법을 다 모르겠다. 일단은 이렇게 하면 할려고 하는 것은 할 수 있는 상태이므로 그렇게 놓치만 나중에 좀 더 프로젝트가 커지면 제대로 알아보도록 하자.
    • trac.ini 파일에서 150라인 근처의

      로 고쳐준다.

     

    1. AccountManager
    • 트랙에서 유용하게 사용하는 기능 중의 하나가 commit할 때 연관된 ticket에 그 내용을 적어서 나중에 ticket에 적힌 내용만으로 무슨 일들이 행해졌나를 보는 기능이 있다. 이것이 trac과 svn이 연결되는 가장 중요한 기능인데 이에 대한 셋팅을 하는 법이다.
    • pre-commit
      svn 로그가 형식에 맞게 쓰여지지 않았을 경우에 커밋이 안되게 하는 용도로 사용한다.
    • post-commit
      svn 로그에 적힌 티켓번호, 리비전등을 트랙 티켓에 연결한다.
    • 파일 및 다운로드
      디렉토리 안에 다음의 4개의 스크립트를 푼다. 다운받기
      • pre-commit.cmd
      • trac-pre-commit-hook.py
      • post-commit.cmd
      • trac-post-commit-hook.py

    • cmd 파일을 열어서 TRAC_ENV 변수를 잘 설정해준다.
    • TOW 기본 포트가 8080이라 좀 불편한 관계로 기본 포트로 변경을 하는게 좋을 것 같다.

     

  • 53라인근처의 아래 설정을 바꿔준다.

  • 142라인근처의 아래 설정을 바꿔준다.

    1. admin으로 로그인해서 사용자들에게 trac-admin permission을 준다.
    2. trac.ini 파일 수정하기

     

  • hook파일 복사해오기
    pre-commit.cmd, trac-pre-commit-hook.py, post-commit.cmd, trac-post-commit-hook.py 4개파일 복사해온다.
    그중에서 cmd 파일 열어서 TRAC_ENV 변수를 잘 설정해준다.
  • SVN, CVS에서 단체로 무시해야 할 패턴

    August 6th, 2007 No comments

    아래 패턴에 해당되는 파일이나 디렉토리들은 소스 컨트롤에 포함되면 안된다. 내가 쓰는 환경이다.

    Global Ignore Pattern:

    Debug Release DebugU ReleaseU DebugPS ReleasePS *.ilk *.exp *.positions *.ncb *.scc *.ncb *.plg *.aps *.cvsignore debug release debugu releaseu Hybrid debugGiga Output Dynamic_Debug Dynamic_Release Dynamic_Unicode_Debug Dynamic_Unicode_Release Unicode_Debug Unicode_Release DebugMVT *.suo .mayaSwatches *.bak

    cvs나 svn에서 Ignore pattern에 문자열을 등록한다.

    Categories: Developer's Tool Tags: , ,

    무료 개발 지원 사이트 SVN+TRAC+WIKI / assembla.com

    July 12th, 2007 No comments


    팀단위 개발 방법에 대해서 오래 전부터 이래저래 고민이 많았는데, 거의 SVN+WIKI+TRAC이 가장 편리한 것 같다. 물론 WIKI와 TRAC은 쓰는 사람 개개인의 노력이 필요하지만 프로젝트를 세련되게 수행하고자 한다면 하는 것이 좋은 것 같다.

    전에 google project라고 비슷한 형태의 개발지원 도구를 제공하는 사이트가 있었는데 역시 구글이야 하면서 크게 기대를 하고 써볼라고 했는데, svn repo가 너무 느려서 포기했다.

    그런데 이번에 Assembla.com 이란 사이트를 발견했다. 기본으로 svn/wki/trac 제공하고 공짜다. 회원가입하면, 프로젝트 수에도 제한 없고 용량도 제한없고, 속도도 본격적으로 한 건 아니지만 테스트 프로젝트로 해봤는데 svn 업다운 속도도 괜찮은 것 같다.

    학교 프로젝트나 취미 코딩등 소규모 프로젝트에서는 유용하게 사용할 수 있을 것 같다.

    cvs2svn으로 예전 프로젝트 저장소 변환하기

    July 12th, 2007 No comments

    과거 프로젝트는 cvs 로 버전 관리를 했었는데 이제 cvs는 쓰지 않고, 지금 하는 프로젝트들은 프로젝트 별로 svn repo에 관리했었기에 이 참에 옛날 repo를 변환해 보자 하고 cvs2svn을 해보기로 했다. 이글은 메뉴얼이라고 보다는 경험담이다. 나중에 다시 작업할 때 까먹지 않도록..


    준비물



    • Python 2.4 : FX Composer 2가 깔리면서 깔려서 2.4가 깔려있다.
    • cvs2svn : cvs2svn.tirgis.org 사이트에서 cvs2svn-1.5.1.tar.gz 이거 다운 받아서 깔았다.
    • 잡다한몇가지툴 : cygwin에서 몇가지 필요한 것들을 가져왔다. 이건 나중에 사용하기 좋으라고 여기에 올려논다. (sort.exe, cvs.exe등등..) 1049420793.zip

    절차



    1. 먼저 옛날에 쓰던 cvs repo를 적당한 디렉토리에 놓는다. 나는 “e:\cvs”에 놨다.
    2. 빈 디렉토리를 하나 만들었다. “e:\svnrepo”라고 만들었다.
    3. 방금 만든 디렉토리에 가서 (TortoiseSVN이 깔렸다는 전제하에) 마우스 오른쪽을 클릭해서 Tortoise SVN > Create Repository here… 를 눌러서 암것도 없는 새 저장소를 만든다.
    4. 이제 다운받은 cvs2svn을 적당한 디렉토리에 풀어놓는다.
    5. 그 안에 보면 cvs2svn 이란 파일이 있는데, 이 파일을 cvs2svn.py로 이름을 바꾼다.
    6. 준비물 3번째 잡다한몇가지툴을 cvs2svn깐 디렉토리에 압축을 푼다.
    7. 명령 프롬프트에서 다음의 명령어를 친다.
      cvs2svn.py –use-cvs –existing-svnrepos –encoding-mbcs -s e:\svnrepo e:\cvs

    8. 그러면 먼가 디글디글 하면서 일을 한다.
    9. 에러 없이 끝나면 오케이다. e:\svnrepo에는 cvs에서 작업한 것들이 저장되어 있을 것이다. 이제 이 디렉토리를 설정된 svn repo 디렉토리로 이동한다.
    10. TortoiseSVN으로 주소 입력해서 repo에서 데이터를 받아온다.
    11. 그러면 Trunk, Tags, Branches 로 디렉토리가 남겨져 있고 모든 데이터가 Trunk에 담겨져 있는 것을 볼 수 있다.

    도움주신 글들


    Miren.Info의 Subversion 관련 정보
    http://miren.info/bbs/viewtopic.php?p=1225#1225

    Categories: Developer's Tool Tags:

    SVN서버에서 여러개의 프로젝트를 관리하기

    March 2nd, 2007 No comments

    예를 들어 내가 A, B, C란 3개의 프로젝트를 진행하고 있다고 하자. 이 경우 각각 다르게 리포를 관리하고 싶을 때는 다음과 같이 하면 된다.

    [1] 먼저 리포로 사용할 디렉토리를 정한다. 여기에서는 “c:\svnrepo”란 디렉토리를 svn 리포디렉토리로 정하기로 하자.

    [2] 이 디렉토리에 3개의 서브디렉토리를 만든다. 그러면 다음의 3개의 디렉토리가 만들어 질 것이다.

    “c:\svnrepo\A”
    “c:\svnrepo\B”
    “c:\svnrepo\C”

    [3] 각각의 디렉토리에 가서 개별적으로 TortoiseSVN의 기능을 사용하여 “여기에 저장소 생성하기” 혹은 “Create Repository Here”를 눌러서 저장소를 생성한다.
    A, B, C 디렉토리안에 개별적으로 리포지토리가 생긴다.

    [4] 개별적으로 conf 디렉토리로 들어가서 개별적인 설정들을 해준다. 설정법은 윗쪽의 내용을 참고한다.

    [5] 서비스를 등록할 때에는 개별 리포지토리가 있는 루트 디렉토리를 등록해야 한다.
    즉 다음과 같이 등록을 해야 한다.

    SVNService -install -d -r ‘c:\svnrepo”
    “c:\svnrepo\A” 이렇게 하면 안 된다는 것이다.

    [6] 이렇게 만들어진 리포지토리를 접속하기 위해서 다음의 주소를 사용한다 개별적으로 리포지토리를 관리할 수 있다.

    svn://111.111.111.111/A
    svn://111.111.111.111/B
    svn://111.111.111.111/C

    Tortoise SVN Beginner’s Guide

    October 15th, 2006 No comments

    2005-03-23 광운대학교 K-NET 5기 조형렬 씨가 작성한 Tortoise SVN  초보자 가이드 문서를 인터넷 서핑하다가 발견했다.

    출처를 정확히 밝히고 업로드 해 놓는다.

    1050628951.doc

    Doxygen

    August 23rd, 2006 No comments

    Doxygen은 문서화 지원도구이다.

    Categories: Developer's Tool Tags: