티스토리 툴바

svn 1.6 dump > 1.7 loadsvn 1.6 dump > 1.7 load

Posted at 2012/01/17 09:51 | Posted in 작업일지
사내 개발 서버 머신을 조만간 옮기게 되어서 subversion 으로 관리 되고 있는 소스들을 옮겨야 한다. 지금 사용하고 있는 버전은 1.6이며 2012년 01월 기준으로 가장 최신 버전이 1.7


1.7 릴리즈 노트를 보니까 http 프로토콜 성능향상(!) 등 꽤 많은 버그픽스, 개선이  되었기에 1.7 로 판올림 하기로 했으나, 걱정되는 문제는 1.6 에서 dump 된 파일을 1.6 에서 바르게 load 할 수 있을까 ?


결국 1.6 에서 dump 실행 후, 생성된 파일을 1.7 에서 load 해봤지만 계속 아래와 같은 오류가 나오면서 진행 불가능!

svnadmin: E125005: Invalid property value found in dumpstream; consider repairing the source or using --bypass-prop-validation while loading.

svnadmin: E125005: Cannot accept non-LF line endings in 'svn:log' property



이 오류는 svnsync 명령으로 해결 할 수 있다고 한다.

Version 1.6.3

(22 Jun 2009, from /branches/1.6.x)

http://svn.apache.org/repos/asf/subversion/tags/1.6.3


 User-visible changes:

  * fix segfault in WC->URL copy (r37646, -56)

  * let 'svnadmin load' tolerate mergeinfo with "\r\n" (r37768)

  * make svnsync normalize svn:* props to LF line endings (issue #3404)

  * better integration with external merge tools (r36178)

  * return a friendly error message for 'svn diff' (r37735)

  * update dsvn.el for 1.6 (r37774)

  * don't allow setting of props on out-of-date dirs under neon (r37745)

  * improve BASH completion (r36450, -52, -70, -79, -538)

  * always show tree conflicts with 'svn st' (issue #3382)

  * improve correctness of 'svn mergeinfo' (issue #3126)

  * decrease the amount of memory needed for large commits (r37894, -6)

  * work around an APR buffer overflow seen by svnsync (r37622)

  * ra_svn clients now use TCP keep-alives if available (issue #3347)

  * improve 'svn merge' perf by reducing server contact (r37491, -593, -618)

  * stop propagating self-referential mergeinfo in reintegrate merges (r37931)

  * fix NLS detection where -liconv is required for bindtextdomain() (r37827)

  * don't delete unversioned files with 'rm --keep-local' (r38015, -17, -19)

  * bump apr and apr-util versions included in deps to latest. (r37941)

  * avoid temp file name collisions with ra_serf, ra_neon (r37972)

  * fixed: potential segfault with noop file merges (r37779)

  * fixed: incorrect output with 'svn blame -g' (r37719, -23, -41)

  * fixed: bindings don't load FS libs when module search enabled (issue #3413)

  * fixed: DAV RA layers not properly handling update/switch working copy

    directory to revision/place in which it doesn't exist (issue #3414)

  * fixed: potential abort() in the working copy library (r37857)

  * fixed: memory leak in hash reading functions (r37868, -979)



하지만  svnsync 명령어를 사용하지 않고 1.7 버전에서 새로 추가된 remote dump 명령어를 사용해 보기로 했다.
remote dump 명령을 사용하기 위해서 요구되는 subversion 버전이 최소 1.4 버전 이상이니, 저 녀석을 사용해보자!



1. 개발 서비 os가 엉망이라 네트웤 연결이 불가능. (역시나 관리 안되고있었다.)
그래서 해당 저장소와 사용된 subversion 을 압축해서 로컬 pc 복사. 그리고 데몬 모드 실행.

svnserve --daemon --root D:\_svn\SVN_Repository



2. v1.7 에서 추가된 svnrdump 명령어를 사용해서 dump 파일을 만들었다. (remote dump)

svnrdump dump svn://localhost > z:\from1.6.dump



3. subversion 1.7 에서 신규 저장소 생성.

svnadmin create z:\target



4. 생성된 저장소 hooks 디렉토리에  pre-revprop-change.bat 라는 이름으로 비어있는 배치 파일을 만든다. 그리고 subversion 1.7 을 데몬 모드로 실행 후, 2번에서 생성한 dump 파일을 URL 로 load  (굵은글씨가 subversion 1.7 URL)
--username / --password 명령어 뒤에는 subversion 계정 정보를 넣어주면 된다.

svnrdump load https://FEEEEL/svn/devecm  --username guest --password guest < z:\from1.6.dump

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

1 2 3 4 5 ... 25