svn 1.6 dump > 1.7 loadsvn 1.6 dump > 1.7 load
Posted at 2012/01/17 09:51 | Posted in 작업일지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
