Word 2007의 기능인지 모르겠지만 이전 버전과 비교시 비교가 된다!
쫄지말고 Diff 눌러보자!




 

'프로그램 사용 > Version Control' 카테고리의 다른 글

rabbitVCS - 리눅스용 svn client  (0) 2011.10.15
git-svn 을 이용해서 svn 을 복제가능하다고?  (0) 2011.08.14
svn pam  (0) 2011.06.24
혼자서도 잘쓰는 tortoiseSVN  (0) 2011.06.20
SVN relocate / switch  (0) 2011.05.11
Posted by 구차니
tortoiseSVN은 원래 Client 프로그램이지만
File system 레벨로 구성하면 로컬 하드에 저장소를 구축하여 사용할 수 있다.
(물론 이 경우 사용자 이름으로 윈도우 로그인 이름이 저장된다)

Step 1. 일단 귀찮으니 D 드라이브의 루트에 repos 라는 폴더 생성!


Step 2. repos 폴더를 선택해서 "TortoiseSVN -> Create repository here"를 실행한다.

 
Step 3. 머 생성되었다는 간단한 메시지

 
Step 4. 심심하니 한번 구경을 해보려면 바탕화면이나 탐색기의 빈공간에서 "TortoiseSVN -> Repo-browser"를 실행

 
Step 5. file:/// (/이 세번 들어감!) d:/ 이런식으로 리눅스 스타일로 적어줌

 
Step 6. 아직 넣은게 없으니 깨끗한 저장소

 
Step 7. 정식대로 쓰려면 빈공간에서 "SVN Checkout"을 실행하고

 
Step 8. URL에 아까 repo-browser에서 사용했던 것처럼 file:///d:/repos 를 입력한다.

 

Step 9. 아직 파일은 없으니 단순하게 check out만 하고 폴더가 생긴다.



그 이후에는 이 폴더 안에 파일을 넣고
TortoiseSVN 메뉴에서 Add를 하거나 Delete를 하거나 Rename 등의 작업을 하고


저장소에 정식으로 올려넣으려면 Commit을 하면된다. 

 

'프로그램 사용 > Version Control' 카테고리의 다른 글

TortoiseSVN doc 비교  (0) 2011.07.29
svn pam  (0) 2011.06.24
SVN relocate / switch  (0) 2011.05.11
svnadmin dump / load를 이용한 저장소 합치기  (2) 2011.05.09
SVN 저장소 합치기 - merging SVN repositories  (0) 2011.01.08
Posted by 구차니
TortoiseSVN에는 Diff / Merge 툴이 내장되어 있다.
Diff/Merge 프로그램은 외관상으로는 WinMerge와 유사하고, 동일 프로젝트를 변형해서 사용하는게 아닐까라는 생각이 든다.
아무튼 이러한 개인적인 추측은 패스하고~ 장점과 단점을 말하자면 다음과 같다.

   WinMerge  TortoiseMerge
 Syntax Highlight  지원  미지원
 UTF-8 지원  지원  미지원
 네비게이션 부분 확대  미지원  지원


일반적인 소스를 다루는 경우에는 UTF-8 을 굳이 지원해야 할 필요는 없지만,
현재 다국어지원 작업을 하는데 UTF-8을 지원하지 않는 다면 아래와 같이 선택할 경우에 글씨가 깨지는 문제가 발생한다.


TortoiseMerge - 좌측의 네비게이션 부분확대가 매력적이다. (확대해서 비교해 보세요!!)
색상이 있는 줄이 차이점 부분이 확대된 것이고, 아래의 흐릿한 선들이 원래 크기의 차이점 부분표시이다.

WinMerge - 네비게이션을 제외하면 전반적으로 WinMerge가 낫다


구버전의 TortoiseCVS의 경우에는, 기본 비교/병합 프로그램이 없어, 무조건 하나만 입력이 가능한 단점이 있었지만,
TortoiseSVN은 내장 비교/병합 프로그램이 있어서, 사용하지 않더라도 외부 프로그램의 링크는 사라지지 않아 좋다.


남아있는 External Link (화면 배색문제로, 일반적인 pc에서는 회색으로 보임)




또 다른 TortoiseSVN의 내장 비교툴로 IDiff가 있다(Image Diff)
말그대로 이미지를 비교 하는 것인데, I가 굴림체인지라 Diff밖에 눈에 안들어 온다.


위의 이미지가 이미지 비교 프로그램, 아래는 소스 비교 프로그램

이 포스트에 들어간 이미지 a.png와 c.png를 비교한 화면이다

비교 옵션 중 겹쳐보기로 본 비교화면 (Overlay Mode)

비교 옵션 중 혼합 겹쳐보기로 본 비교화면 (Overlay Mode + Alpha Blend)
Posted by 구차니
UFO:AI 한글화 프로젝트 참여중인데, SVN의 사용은 처음이라 이래저래 적응이 안된다.
가장 큰 것으로는
CVS의 history라는 것이 SVN에서는 Show Log로 바뀌었다는 것이다.
그리고 SVN은 하나의 커밋이나 수정사항이 있을때, 전체의 리비전이 변경되므로,
파일 각각이 아닌 SVN repository 전체에 대한 Log가 존재하게 된다
(사용이 미숙해서 그럴지도 모르지만 TortoiseCVS에서는 파일 단위로 밖에 보지 못했다)

Context-menu 이다. 주로 사용하는 것은
프로젝트 전체의 업데이트인 SVN Update와
프로젝트 전체의 수정 업로드인 SVN Commit 그리고
프로젝트의 변경사항을 볼수 있는 Show Log 이다.

위의 이미지는 프로젝트 전체의 Show Log 결과이다.
프로젝트에서 추가 / 삭제된 파일등과 전체의 Revision이 표기된다.

자막 번역 파일 하나의 내역이다. 자세히 보면 알겠지만, Revision이 1씩 증가하지 않는다.
리비전에서 변동사항이 있을 수도 있고, 없을 수도 있기 때문에, 파일을 Show Log 하면
위와 같이 나오지 않는 사항들을 볼 수 있다.
Posted by 구차니
CVS의 경우는 CVSNT 와 TortoiseCVS로 서버 및 클라이언트 환경을 구축할 수 있다.
하지만 SVN의 경우는 TortoiseSVN만으로도 서버를 구축 할 수 있다.
물론 svn:// 으로 접속은 하지 못할지라도 말이다(아직 설정법을 모르니 혹시 모름)

ToroiseSVN을 설치 하면 다음과 같은 context-menu가 생긴다(현재 빵집/CVS/SVN/WinMerge가 설치되어 있다)

CVS에서도 그러했 듯, SVN에서도 repository는 있어야 한다.
아무것도 없는 빈 폴더를 하나 만들고, 그 안에서 Create repository here를 눌러준다.

아래의 파일들이 생성되며 repository가 생성되었다는 메시지가 뜬다.
d:\svn_repo 라는 경로로 생성했다.

일단은 SVN에 저장할 파일을 찾아본다. 원하는 폴더를 클릭해서 Import 한다.

Import 에서는 저장할 repository의 경로를 넣어준다.
위에서 d:\svn_repo에 저장소를 생성했으므로 file://d:/svn_repo가 URL이 된다.

import가 완료되었다.
(repository에 파일이 Add 되었다)

저장소에 넣었으니(import) 이제 저장소에서 꺼내오자(checkout)
경로는 저장한 경로와 동일하게 넣어 주고, 받아와서 저장할 경로를 지정해 준다.
아까는 경로를 지정해 주지 않았으므로 받을 곳에 디렉토리를 하나 추가해준다.

checkout 장소에 파일이 Add 되었다.

SVN 클라이언트가 있으면 체크가 생긴다. 녹색은 서버와 동일하다는 의미이다.
빨간색은 서버와 동일하지 않은 내용이 담겨 있다는 의미이다.

TortoiseSVN의 가장 강력한 점은 바로 Repositoty Broswer가 아닐까 생각이 된다.
원래 file://d:\svn_repo에 존재하던 po 파일들을, Create Folder를 사용하여 po를 만들고
단순하게 드래그 해서 po로 넣었더니 간단하게 이동이 되었다.
CVS는 경로이동이 불가능 한 단점이 있는데 SVN은 이렇게 편하게 이동 할 수 있다.

TortoiseSVN에 내장된 Merge 툴이다.

Checkout 창에서 Show Log를 누르면 뜨는 창
revision은 cvs는 파일별로 생겼지만, svn은 전체 저장소에 대해서 생성이 된다.
어떻게 보면 더욱 좋은것이, 태그의 확장 판으로 어떠한 행동을 했었는지 추적이 가능하고
그 때 이후의 버전을 세부적으로 받아 올수 있다. 이러한 작업은 CVS에서는 매번 tag를 해야만 가능하다.

위의 창에서 통계를 누른 모습이다. cvs에서는 역시 볼 수 없었던 기능이다.


예전부터 설치만 해 놓고 쓰지 않던 svn을 끄집어 내서 한번 서버 설치를 해보려니 결국은 또 실패로 돌아 갔다.
하지만 이렇게 클라이언트/ 개인용 서버로 사용하는 법이라도 알았으니 위안으로 삼고,
다음번 문서에 svnserve로 공용 서버 만드는 법만 추가 하면 될 듯하다.
Posted by 구차니
솔찍히 내가 TortoiseCVS Client for Windows에 쩔어 있어서
콘솔에서 명령어로 체크아웃 할지도 모르고, SVN에는 손이 가지 않는다.

SVN의 장점으로는 디렉토리 이동 등이 있다는 것도 알고,
CVS에서 SVN으로 이전도 그리 어렵지는 않다고 하지만,

가장 큰 문제는, 나 혼자 사용하는 SVN 서버가 아닌
다른 사람들도 접속할 수 있는 SVN 서버를 만드는 법을 모른다는 것이다.

아무튼! 용기를 내서 한번 문서를 뒤적이다가 발견했는데..
TortoiseSVN Client for Windows help에 있었다.. OTL 역시 등불밑이 가장 어두운 것인가..


키워드는 svnserve 이다.

Running svnserve

Now that svnserve is installed, you need it running on your server. The simplest approach is to run the following from a DOS shell or create a windows shortcut:

svnserve.exe --daemon

svnserve will now start waiting for incoming requests on port 3690. The --daemon switch tells svnserve to run as a daemon process, so it will always exist until it is manually terminated.

If you have not yet created a repository, follow the instructions given with the Apache server setup the section called “Configuration”.

To test that svnserve is working, use TortoiseSVNRepo-Browser to view a repository.

Assuming your repository is located in c:\repos\TestRepo, and your server is called localhost, enter:

svn://localhost/repos/TestRepo

when prompted by the repo browser.

You can also increase security and save time entering URLs with svnserve by using the --root switch to set the root location and restrict access to a specified directory on the server:

svnserve.exe --daemon --root drive:\path\to\repository\root

Using the previous test as a guide, svnserve would now run as:

svnserve.exe --daemon --root c:\repos

And in TortoiseSVN our repo-browser URL is now shortened to:

svn://localhost/TestRepo

Note that the --root switch is also needed if your repository is located on a different partition or drive than the location of svnserve on your server.

Svnserve will service any number of repositories. Just locate them somewhere below the root folder you just defined, and access them using a URL relative to that root.


Run svnserve as a Service

Running svnserve as a user is usually not the best way. It means always having a user logged in on your server, and remembering to restart it after a reboot. A better way is to run svnserve as a windows service. Starting with Subversion 1.4, svnserve can be installed as a native windows service.

To install svnserve as a native windows service, execute the following command all on one line to create a service which is automatically started when windows starts.

sc create svnserve binpath= "c:\svnserve\svnserve.exe --service 
--root c:\repos" displayname= "Subversion" depend= tcpip
start= auto

If any of the paths include spaces, you have to use (escaped) quotes around the path, like this:

sc create svnserve binpath= "
\"C:\Program Files\Subversion\bin\svnserve.exe\"
--service --root c:\repos" displayname= "Subversion"
depend= tcpip start= auto

You can also add a description after creating the service. This will show up in the Windows Services Manager.

sc description svnserve "Subversion server (svnserve)"

Note the rather unusual command line format used by sc. In the key= value pairs there must be no space between the key and the = but there must be a space before the value.




[출처 : http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup-svnserve.html]
Posted by 구차니