Revert to this revision을 하면
working copy 자체가 구버전으로 변경된다.
물론 빨간색 느낌표로 modified로 인식이 되는데..
단순하게 구버전을 HEAD 로 끌어올 방법은 없으려나?
대충 해보니 Create branch/tag from revision에서 HEAD로 정해주면 될것 같은데..
사용하던 저장소라 테스트해보기 겁나네 ㅠ.ㅠ


아무튼, 이 리비전으로 돌아갈건지 꽤나 겁을 주네 -_-


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

gitosis - 안전하게 git 호스팅 하기  (0) 2011.12.23
git-svn  (0) 2011.12.23
TortoiseSVN Trac의 SVN 접속시 인증오류  (0) 2011.11.15
svn 명령어  (0) 2011.10.16
rabbitVCS - 리눅스용 svn client  (0) 2011.10.15
Posted by 구차니
authorization failed: Could not authenticate to server: ignored NTLM challenge, rejected Basic challenge

이런 에러가 날경우 딱히 해결책이 없다 -_-
리눅스에서 svn co로 하면 문제가 없는데
윈도우의 tortoiseSVN에서만 하면 인증이 계속 실패 


---
2011.11.16 추가

For Basic and Digest schemes you provide a login name and a password. Like this:
  ISVNAuthenticationManager authManager = new BasicAuthenticationManager( "login" , "password" );

In the NTLM auth scheme you also provide a domain name:
  ISVNAuthenticationManager authManager = new BasicAuthenticationManager( "DOMAIN\\login" , "password" );

[링크 : http://wiki.svnkit.com/Authentication]

If you are behind a corporate firewall that requires NTLM authentication, you can try a tool called NTLMAPS to check out from Subversion.

If you are using Windows, we recommend TortoiseSVN as a Subversion client.


[링크 : http://www.jtrac.info/doc/html/dev-guide.html

그냥 로그인시에 "domain\"을 추가해주면 되려나?

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

git-svn  (0) 2011.12.23
svn 과거버전 끌어오기?  (0) 2011.12.01
svn 명령어  (0) 2011.10.16
rabbitVCS - 리눅스용 svn client  (0) 2011.10.15
git-svn 을 이용해서 svn 을 복제가능하다고?  (0) 2011.08.14
Posted by 구차니
repository browse
>> svn ls file:///repo_dir

Check for modificiations
>> svn status

[링크 : http://wiki.kldp.org/wiki.php/SubversionBook/Reference]
[링크 : http://maverick.inria.fr/~Xavier.Decoret/resources/svn/index.html]
Posted by 구차니
솔찍히 svn 이나 cvs를 콘솔에서 하기에는 너무 무리가 많은데.. (내 능력의 한계일지도 -_-)
rabiitVCS는 리눅스 용으로 nautilius와 통합이 된다고 한다.

[링크 : http://rabbitvcs.org/]
    [링크 : http://wiki.rabbitvcs.org/wiki/install/ubuntu]
[링크 : http://ioriy2k.pe.kr/archives/2628]

설치는 간단하게 (반드시 nautilus를 재실행 해야한다)
$ sudo add-apt-repository ppa:rabbitvcs/ppa
$ sudo apt-get update
$ sudo apt-get install rabbitvcs-core rabbitvcs-nautilus rabbitvcs-thunar rabbitvcs-gedit rabbitvcs-cli 

$ nautilus -q 

그나저나 패키지 의존성 좀 쩌는듯...
$ sudo apt-get install rabbitvcs-core rabbitvcs-nautilus rabbitvcs-thunar rabbitvcs-gedit rabbitvcs-cli
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지를 더 설치할 것입니다:
  exo-utils global ipython libexo-0.3-0 libexo-common libthunar-vfs-1-2
  libxfce4util-bin libxfce4util-common libxfce4util4 libxfcegui4-4
  libxfconf-0-2 meld python-configobj python-dulwich python-foolscap
  python-nautilus python-svn python-wxgtk2.8 python-wxversion thunar
  thunar-data thunar-volman thunarx-python xfce-keyboard-shortcuts xfce4-panel
  xfconf
제안하는 패키지:
  doxygen apache httpd id-utils python-profiler python-numpy python-matplotlib
  python-qt3 python-qt4 python-svn-dbg wx2.8-doc wx2.8-examples python-wxtools
  tcsh csh octave3.0 mksh pdksh thunar-archive-plugin thunar-media-tags-plugin
다음 새 패키지를 설치할 것입니다:
  exo-utils global ipython libexo-0.3-0 libexo-common libthunar-vfs-1-2
  libxfce4util-bin libxfce4util-common libxfce4util4 libxfcegui4-4
  libxfconf-0-2 meld python-configobj python-dulwich python-foolscap
  python-nautilus python-svn python-wxgtk2.8 python-wxversion rabbitvcs-cli
  rabbitvcs-core rabbitvcs-gedit rabbitvcs-nautilus rabbitvcs-thunar thunar
  thunar-data thunar-volman thunarx-python xfce-keyboard-shortcuts xfce4-panel
  xfconf
0개 업그레이드, 31개 새로 설치, 0개 지우기 및 5개 업그레이드 안 함.
24.0M바이트 아카이브를 받아야 합니다.
이 작업 후 73.7M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]? Y

기본적으로 meld가 비교용 프로그램으로 등록되며, TortoiseSVN 보다는 갱신이 잘 안되는 경향이 있는것 같으니
귀찮아도 사용전에 F5를 눌러 상태를 갱신하고 사용해야 할때가 있을 듯 하다.

아래는 nautilus와 통합된 rabbitVCS의 context-menu 구조이다.


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

TortoiseSVN Trac의 SVN 접속시 인증오류  (0) 2011.11.15
svn 명령어  (0) 2011.10.16
git-svn 을 이용해서 svn 을 복제가능하다고?  (0) 2011.08.14
TortoiseSVN doc 비교  (0) 2011.07.29
svn pam  (0) 2011.06.24
Posted by 구차니
SVN repository를 GIT에 담아가서 svn에 여러번 commit후
나중에 통합을 한다는 이야기를 들었는데
[링크 : http://allofsoftware.net/entry/왜-하나만-써야-하는가]

stackoverlfow에는 이렇게 하면 된다는데 흐음.. 조금더 조사를 해봐야할듯.
git svn clone -rN svn://some/repo 

[링크 : http://stackoverflow.com/.../how-to-git-svn-clone-the-last-n-revisions-from-a-subversion-repository

[링크 : http://www.kernel.org/pub/software/scm/git/docs/git-svn.html

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

svn 명령어  (0) 2011.10.16
rabbitVCS - 리눅스용 svn client  (0) 2011.10.15
TortoiseSVN doc 비교  (0) 2011.07.29
svn pam  (0) 2011.06.24
혼자서도 잘쓰는 tortoiseSVN  (0) 2011.06.20
Posted by 구차니
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 구차니
현재 딱히 좋은 방법이 없어서
/etc/shadow에 직접 연결했는데 음..
생각해보니 DAV도 이용하고 적절하게 된듯?

Setup PAM for authentication

However, our SVN can be access by everyone, that is to say everyone can check out and commit, so we need to configure apache’s authentication for SVN. We plan to use PAM so that UNIX system user can access SVN use their username and password.

First enable auth_pam and auth_sys_group modules for apache2:

$ sudo a2enmod auth_pam
$ sudo a2enmod auth_sys_group

If we use shadow password in our system, we need to add www-data to the shadow group so that apache can read (not write!) the password of system user:

$ sudo adduser www-data shadow

Then edit our /etc/apache2/sites-available/ssl file and it should contain the following lines (the lines in red are newly added):

    DAV svn
    SVNPath /home/svn
 
    AuthType Basic
    AuthName “Subversion Repository”
    # this line is needed if your system use shadow password
    AuthUserFile /etc/shadow
    require group src

Restart the apache and everyone in the src group can access SVN repository.


[링크 : http://inming.net/?p=86]
 

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 구차니
relocate는 서버의 주소가 변경되었을 때 사용하는 명령어이고
switch는 서버내의 다른 브랜치나 태그로 변경할 때 사용하는 명령어이다.
만약에 두가지 모두 변경이 되면 대책이 없는듯?

서버 이전시에도 경로를 일단 유지하고
그 이후에 디렉토리 구조를 변경해야지 무난하게 사람들의 이전을 시킬수 있을듯 하다.
그게 아니라면, 미리 다 서버에 올리고 한번에 옮기는 수 밖에 -_-



SVN 도움말 중 다음 항목 참고 
4.19.2. To Checkout or to Switch... 
4.27. Relocating a working copy



Posted by 구차니
만약에 2개의 장소에서 독립적인 지역 저장소(local repositories)를
하나의 중앙 서버에서 합쳐서 서비스를 하려고 한다는 상황에 적절한 내용

--- 2011.05.11 추가
병합된 내용을 보니 날짜 / 시간별로 revision이 맞물려 들어간다.
---

# svnadmin load --help
load: 사용법: svnadmin load REPOS_PATH

stdin 으로 'dumpfile' 형식의 스트림을 읽어들여, 새로운 리비젼을
저장소의 파일시스템으로 커밋합니다. 이전에 저장소가
비어있었다면, 기본적으로 그것의 UUID 가 스트림에 지정된
한가지로 변경될것입니다. 진행 피드백은 stdout 으로 전송됩니다.

옵션:
  -q [--quiet]             : stderr 에 대한 진행사항이 (오류에 한해서) 없습니다
  --ignore-uuid            : 스트림에 어떤 repos UUID가 발견되어도 무시합니다
  --force-uuid             : 만약 있다면, repos UUID 를 스트림에서 발견된 것에 설정합니다,
  --use-pre-commit-hook    : 리비전을 새로이 커밋하기 전 post-commit 훅을 호출합니다.
  --use-post-commit-hook   : 리비전을 새로이 커밋한 뒤 post-commit 훅을 호출합니다.
  --parent-dir ARG         : 저장소의 지정된 디렉토리에 로드합니다

# svnadmin dump --help
dump: 사용법: svnadmin dump REPOS_PATH [-r LOWER[:UPPER] [--incremental]]

파일 시스템의 내용을 stdout으로 포터블한 형식의 'dumpfile'로 출력하며,
stderr로 피드백을 보냅니다. 리비젼 LOWER부터 UPPER까지 출력합니다.
주어진 리비젼이 없다면, 모든 리비젼 트리를 적재합니다. LOWER만 주어졌다면,
LOWER 값에 해당하는 리비전만 출력합니다.
--incremental 옵션을 사용한다면, 출력되는 첫번째 리비전에는 해당
리비전에서 바뀐 경로에 대한 것만 기술될 것이며, 그렇지 않은 경우에는
해당 리비전에 존재하는 모든 경로가 출력됩니다.
(이 옵션의 사용여부에 상관없이 출력되는 두번째 이후의 리비전에는 해당
리비전에 바뀐 내용이 있다면, 그 경로의 내용만 출력됩니다)

옵션:
  -r [--revision] ARG      : 리비젼 넘버 ARG ( 또는 X:Y 범위 )를 지정합니다
  --incremental            : incremental 적재를 합니다.
  --deltas                 : 적재된 결과물에 deltas를 사용합니다
  -q [--quiet]             : stderr 에 대한 진행사항이 (오류에 한해서) 없습니다

$ svnadmin dump repo1 > a1.d
$ svnadmin dump repo2 > a2.d
$ svnadmin create new
$ svn mkdir file:///.../new a1
$ svnadmin load new --parent-dir a1 < a1.d
$ svn mkdir file:///.../new a2
$ svnadmin load new --parent-dir a2 < a2.d 

[링크 : http://spyced.blogspot.com/2007/09/merging-two-subversion-repositories.html] 

간단하게 요약하자면
repo1 의 내용을 a1.d 에 
repo2 의 내용을 a2.d 에 파일로 저장하고

new라는 새로운 저장소를 만들어
그 안에 repo1은 a1 이라는 상위 디렉토리를 넣어주고
repo2는 a2 라는 상위 디렉토리를 넣어준다.

만약, 특별한 상위 디렉토리 없이 전부를 넣어주고 싶다면
--parent-dir /
이라고 해주면 목적지 저장소의 / 에 전부 넣어지게 된다.
(실험해보진 않았지만 parent는 저장소의 지정된 디렉토리 이므로,
엄밀하게는 미리 디렉토리를 생성해주고 그 안으로 넣어도록 지정이 가능할 것으로 보인다.)

[링크 : http://geekswithblogs.net/kariemali/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx]
[링크 : http://stackoverflow.com/questions/267256/combining-multiple-svn-repositories-into-one]
Posted by 구차니