Play!Frameworkを使ってWebアプリを作っていると、当然ソースコード管理をする必要が出てきます。
今、ソース管理用に使っているのがSubversionなので、とりあえずこれに登録しておきます。
ただ、フレームワークが生成するファイルも多いので、どのファイル(フォルダ)が登録不要なのかを調べてみると、Play!Frameworkでプロジェクトを作った際に作られる、.gitignore ファイルを参考にすればよいようです。手元の環境だと、
mor@T105-PandRDev:~/work/test$ cat .gitignore logs project/project project/target target tmp .history dist /.idea /*.iml /out /.idea_modules /.classpath /.project /RUNNING_PID /.settings mor@T105-PandRDev:~/work/test$
となってました。
今の開発環境は、Eclipse に Subversive を入れているので、上記のファイル・フォルダを svn:ignoreとして設定していきます。なお、サブフォルダを指定する場合は親フォルダが既にバージョン管理下に入っている必要があるので、設定作業に多少手間がかかります。
登録した結果を、確認すると下記のとおりになっていました。
mor@T105-PandRDev:~/work/test$ svn st --no-ignore I .classpath I logs I .project I .target I .gitignore I target I .settings I project/project I project/target mor@T105-PandRDev:~/work/test$ cat .gitignore
なお、上記の登録方法だと、eclipseのプロジェクトファイルも無視しているので、リポジトリから落としてきたあとは、play eclipse のように再度eclipseプロジェクトとして認識するように処理をする必要があります。
(参考)
Playframework is not comfortable with svn ,how to resolve?
[2.0] What to ignore when importing into version control?
(環境)
Ubuntu 12.04.2 LTS, 64bit
Play!Framework 2.1.1
Subversion 1.7.5(サーバー), 1.6.17(クライアント)
おまけ:svnコマンドで問題が発生する場合
ubuntu 上で svn をコマンドラインで使う場合、認証に問題が出る場合があります。たとえば下記のようなエラーメッセージがでてきます。
mor@T105-PandRDev:~/tmp$ svn info 'https://xxxx.mori-soft.com/svn/test' Password for '(null)' GNOME keyring: svn: OPTIONS (URL: 'https://xxxx.mori-soft.com/svn/test'): 認証が失敗しました: Could not authenticate to server: rejected Basic challenge (https://xxxx.mori-soft.com) mor@T105-PandRDev:~/tmp$
GNOME keyring なんて設定した覚えも無いので、これはどういうことか調べてみると、一種のバグのようです。
回避方法は、~/.subversion にある設定ファイル config に対して、
password-stores =
という行を追加すればよいようです。詳しくは、GNOME keyringでのユーザ認証が要求される などをご参考にしてください。
また、『Ubuntuでsvnコマンドを使用した時”Password for ‘(null)’ GNOME keyring:”と表示されユーザー認証ができない問題について』という回避策もあるようです。
なお、以前まとめた記事に書いたように、SSLに問題がある場合もあります。この場合は下記などを参考にしてください。