プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

【Java】 Play!Framework のプロジェクトをSVNで管理

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に問題がある場合もあります。この場合は下記などを参考にしてください。

【EC2】 Subversion+Redmine環境の構築 (3/6) : SSLの設定