現在のソース一式(appディレクトリ)をSubversionにインポートしましたが、それをチェックアウトで取得する際にわざわざappディレクトリを空にしているのですが、手法として正しいでしょうか?
なお、この方法だと随所で解説されているtrunkやtagが使えません(使えなくても問題ない?)。
良い方法やテクニックなどありましたらご教授ください。
これが一般的かはわからない自己流ですが。私はこんな感じでやってます。
条件:appフォルダ配下のみをバージョン管理
リポジトリ `--app |--branches |--tags `-- trunk
結果的に、app/truncをローカルのappフォルダにチェックアウト,コミットを行う感じですね。
私は、最新版ソースをリポジトリから取得する場合は、
トップディレクトリを選択して「SVN 更新」を使っています。
これなら、変更されたファイルだけが上書きされるかと思います。
同様の操作法を解説していると思われるサイトのURLを書いておきます。
http://www.gside.org/Gentoo/subversion/subversion_client2.html
URLは確認しましたが、開発環境と別に作業スペースを設けず、そのまま開発フォルダを改版していく方法を検討しています。
状況をつかみかねますが、以下のようなスタイルですよね?
開発環境で改変 ↓ コミット(svn ci(commit)) リポジトリ ↓ アップデート(svn up(update)、最初はco(checkout)) 公開環境を更新
空にせず、app/ 以下で「svn up」コマンドを実施してみてはいかがですか?
あと、branches, tags, trunk などはスタンダードな命名則です、リポジトリの構成次第で「随所で解説されている」方法が可能かと思います。
リポジトリ |-- branches | |--v1.0.1 | | `-- Sources | | `-- app | `--v1.0.2 |-- tags | `--v1.0 | `-- Sources | `-- app `-- trunk `-- Sources `-- app
最後に質問内容とはズレますが、webroot以下にも.svnディレクトリができますので.htaccessかなにかで.svnディレクトリへのアクセスを拒否された方がよいかと思います。
詳細な説明をありがとうございます。
現状を補足しますとローカルで開発しています(まだ公開していません)。
C:\xampp\htdocs\cake\app
このappを直接リポジトリにインポートし、再び取得する際にappを空にしています。
またbranchesなどのフォルダを作成すると、
C:\xampp\htdocs\cake\app\branchesとなってしまい動作しないと思った次第です。
これが一般的かはわからない自己流ですが。私はこんな感じでやってます。
条件:appフォルダ配下のみをバージョン管理
リポジトリ `--app |--branches |--tags `-- trunk
結果的に、app/truncをローカルのappフォルダにチェックアウト,コミットを行う感じですね。
ありがとうございます。手順など参考になりました。
「app/trunkを選択」がポイントですね。
>現在のソース一式(appディレクトリ)をSubversionにインポートしましたが、それをチェックアウトで取得する際にわざわざappディレクトリを空にしているのですが、手法として正しいでしょうか?
正しいと思います。
ただし、他の方の解説にあるように「"app"を"app_"などにリネームしてからインポート」、「新しく"app"フォルダを作ってチェックアウト」のほうがスマートだと思います。慣れるまでは操作を間違えやすいので"app_"のバックアップに助けられることが出てくると思います。
>なお、この方法だと随所で解説されているtrunkやtagが使えません(使えなくても問題ない?)。
他の方の解説にもありますが、ローカルのルートフォルダとリポジトリルートフォルダを1対1で対応させるわけではありません。リポジトリ側は管理が容易なツリー構成にしておき、その中の特定のフォルダだけをローカルにコピーして使うイメージです。ローカルとリポジトリは全く違う物だということを忘れないで下さい。
以上を踏まえて「trunk/branch/tagsが必要か?」という質問にお答えしますが、この手法を使うことをお勧めします。仕事で使うようなソースをバージョン管理し始めると、かならずbranchやtagsが欲しくなると思います。その時になってからリポジトリ構成を変更するのは大変ですから、trunkだけでも作っておいてください。
適切な回答、アドバイスをありがとうございます。
>ローカルのルートフォルダとリポジトリルートフォルダを1対1で対応させるわけではありません。
この部分をいまいち理解していませんでした・・・。
ありがとうございます。手順など参考になりました。
「app/trunkを選択」がポイントですね。