夜行録 - 酔歩.net
Calendar
Mon | Tue | Wed | Thu | Fri | Sat | Sun |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Monday, 01.08.11
subversion repository の操作
ふと、 subversion リポジトリを mercirual にコンバートして見ようとして、思ったより上手くいかなかったので正規化を試みる。
対象になっているのは、昔集積した個人リポジトリで、大体は正しかったのだが、一部 /branches/ だの /releases/ の直下にブランチ名、リリース名なしでプロジェクトディレクトリがあったり、古いものを /finished/ とか作って放り込んであったので、この階層をなんとかする。
段取りとしては、svnadmin dump して sed で調整。Node-path: だけだと Node-copyfrom-path: で問題がおこるので sed -e '@-path: XXX@-path: YYY@' とか。 さらにXXX を YYY/ZZZ とかにしようとすると、ディレクトリがないとやはり破綻するので、それは諦めて dump ファイルを vi で編集して微調整。
ディレクトリの追加は、あるリビジョンに、てきとーに
Node-path: brances/XXX Node-kind: dir Node-action: add Prop-content-length: 10 Content-length: 10 PROPS-END
の部分を複製して追加(このブロックは複数あっても構わないので)。
結局、うかつに mv して tags/ にだけ存在させると怪しいことになる(タグがあって実体がない)。branches/ に捨てるのが得策。