ぬうぱんの備忘録

技術系のメモとかいろいろ

作った曲一覧はこちら

合作用にバイナリファイル同期環境を構築する

この記事は

DTM の合作でプロジェクトデータをやり取りするのにイチイチ SNS やらなにやらでやり取りするのが嫌だったのでサーバー借りて subversion 入れて…て感じで環境を作った時のメモです。

作業手順の解説の前に

前提とか

  • バイナリファイルのやり取りを簡単にしたい
    • git で言う所の pull / push の手間を簡略化したい
    • やり取りの手間を億劫にしたくない
  • バージョン管理したい
    • 万が一手順をミスってファイルを喪失してもリカバリが効くようにしたい
    • ちょっと実験してみて気に入らなかった時にロールバックできるようにしたい
  • 複雑なバージョン管理は想定しない
    • 作業のコンフリクトは諦める(というかマージのしようがない)
    • お行儀よく交互に作業する事を前提とする
    • せいぜい2~3人程度のルール尊守を徹底できる規模しか考えない
  • 合作以外の個人作業にも流用したい
    • 上記のメリットを個人作業にも使いまわしたい

おおまかな流れ

  • 適当にサーバー借りてくる
  • サーバー上で subversion のサービス動かす
  • 各個人のマシンに tortois-svn を入れる

サーバー側の環境構築

さくらレンタルサーバーを借りる

まずは ssh ログイン環境を整える

  • 作業マシンは windows 10 なので bash on ubuntu on windows 上で何とかする
  • ssh-keygen で鍵作って公開鍵サーバーに送ってローカルで ~/.ssh/config 書く
    • めんどいので詳細は省略(参考にしたページ忘れてしまった…)
  • ついでなのでクソうるさいエラー音を黙らせておく

bash に変える

subversion をインストール

  • pkg は使えない
    • 共有サーバーだから sudo 権限無いんですねこれ…
    • ということでソースから自分でビルドして $HOME 以下に入れる

結局打ち込んだコマンド

cd
mkdir src
cd src
wget http://ftp.kddilabs.jp/infosystems/apache/subversion/subversion-1.9.7.tar.bz2
tar xf subversion-1.9.7.tar.bz2
cd subversion-1.9.7
./configure --prefix=$HOME/local/subversion
gmake
gmake install

tortoise-svn からの接続用にバイナリのリンクを貼る

クライアント側の環境構築

tortoise-svn をインストールする

秘密鍵を変換

  • bash on windows 上で作った鍵はそのままだと TortoiseSVN に渡せないので putty 用の形式に変換する
    • bash on windows 上で apt-getputty 入れて puttykeygen で鍵を変換する
    • putty 秘密鍵~/.ssh/id_rsa.ppk に置いておく
  • 参考

tortoise-svnssh 設定する

  • windowsエクスプローラー開いて適当な所で右クリックして「TortoiseSVN > Settings」
  • 設定窓が開くので左側のツリーで「ネットワーク」を選択
  • SSH Client:」のテキストボックスを埋める
  • "C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l <user name> -i <putty private key>
  • <putty private key> の場所は windows 上だと C:\Users\<USERNAME>\AppData\Local\lxss\home\<USERNAME>\.ssh\id_rsa.ppk
  • 秘密鍵の場所はすっっごい間違えやすいのでエクスプローラーのアドレスバー上でサジェストしてもらいながらパスを組み立ててそれをコピペすると無難(特にユーザー名が1つめと2つめで違うのが罠)

接続テスト

cd
mkdir svn
cd svn
svnadmin create <REPONAME>
  • クライアント側でリポジトリを閲覧
    • TortoiseSVN を開いて Repo-browser を選択
    • URL に svn+ssh://<USERNAME>.sakura.ne.jp/home/<USERNAME>/svn/<REPONAME> を入れて OK
    • パスワードやユーザー名の入力を要求されずにエラーメッセージも出ずにそれっぽいウィンドウが出てくれば疎通確認は OK
    • エラー出てきたりパスワード要求されたりするばあいは何処かで設定を間違えている(デバッグ情報に乏しいので間違い探しがかなりしんどい)

作業の相手にやってもらう作業リストのテンプレ

TortoiseSVN をインストール

TortoiseSVNssh 接続設定

  • 予め送ってある秘密鍵(id_rsa.ppk)を C:\Program Files\TortoiseSVN に配置
  • エクスプローラ上の適当な場所で右クリックして「TortoiseSVN > Settings」
  • 左側のツリー内の「Network」をクリック
  • SSH」内のテキストボックスに以下の文字列をコピペ "C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l <USERNAME> -i "C:\Program Files\TortoiseSVN\id_rsa.ppk"

作業用コピーをダウンロード

  • 作業に使うフォルダをエクスプローラで開く
  • 適当な所で右クリック > SVN Checkout
  • 「URL of repository:」に svn+ssh://<USERNAME>.sakura.ne.jp/home/<USERNAME>/svn/<REPONAME> をコピペ
  • OK をクリック
  • プロジェクトファイル一式が展開されれば問題なし

作業内容をサーバーから受け取る

  • プロジェクトファイルの入っているフォルダ上で「右クリック > SVN Update」

作業内容をサーバーに送る

  • FL Studio 上で
    • 「FILE > Export > Project Data Files...」で .flp と同じフォルダ上にデータを出力
  • プロジェクトファイルの入っているフォルダ上
    • 「右クリック > SVN Commit...」
    • Message: に変更内容やら申し送りやらをコメントに記入
    • Changes made(double-click on file for diff): のリストボックス内のチェックをすべていれる
    • OK をクリック

感想

アズールレーンたのしい