人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SubversionでTortoiseSVNを使ってCakePHPの開発をしています。
現在のソース一式(appディレクトリ)をSubversionにインポートしましたが、それをチェックアウトで取得する際にわざわざappディレクトリを空にしているのですが、手法として正しいでしょうか?
なお、この方法だと随所で解説されているtrunkやtagが使えません(使えなくても問題ない?)。
良い方法やテクニックなどありましたらご教授ください。


●質問者: umakoya
●カテゴリ:インターネット ウェブ制作
✍キーワード:CakePHP Subversion tag TortoiseSVN インポート
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● y3b5
●15ポイント

私は、最新版ソースをリポジトリから取得する場合は、

トップディレクトリを選択して「SVN 更新」を使っています。


これなら、変更されたファイルだけが上書きされるかと思います。


同様の操作法を解説していると思われるサイトのURLを書いておきます。

http://www.gside.org/Gentoo/subversion/subversion_client2.html

◎質問者からの返答

URLは確認しましたが、開発環境と別に作業スペースを設けず、そのまま開発フォルダを改版していく方法を検討しています。


2 ● zero-uhura
●15ポイント

状況をつかみかねますが、以下のようなスタイルですよね?

運用

開発環境で改変
 ↓ コミット(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ディレクトリへのアクセスを拒否された方がよいかと思います。


コマンド×TortoiseSVN 対応表

◎質問者からの返答

詳細な説明をありがとうございます。

現状を補足しますとローカルで開発しています(まだ公開していません)。

C:\xampp\htdocs\cake\app

このappを直接リポジトリにインポートし、再び取得する際にappを空にしています。

またbranchesなどのフォルダを作成すると、

C:\xampp\htdocs\cake\app\branchesとなってしまい動作しないと思った次第です。


3 ● khazad-Lefty
●30ポイント ベストアンサー

これが一般的かはわからない自己流ですが。私はこんな感じでやってます。

条件:appフォルダ配下のみをバージョン管理

  1. 既存のappフォルダをリネーム(app_ など)→バックアップも兼ねる
  2. 新規でappフォルダを作成(空のフォルダ)
  3. リポジトリブラウザ上でapp、およびその配下にtrunc,tagsなどのフォルダを下記のように作成する。
リポジトリ
 `--app
 |--branches
 |--tags
 `-- trunk
  1. 2で作成したappフォルダを右クリック、チェックアウトを選択、対象として上記リポジトリのapp/trunkを選択
  2. app_ 内のファイルをappフォルダに上書き
  3. appフォルダを右クリック、コミットを選択。
  4. 全ファイルにチェックを入れ(これで「追加」になる)OK

結果的に、app/truncをローカルのappフォルダにチェックアウト,コミットを行う感じですね。

◎質問者からの返答

ありがとうございます。手順など参考になりました。

「app/trunkを選択」がポイントですね。


4 ● ひでと
●30ポイント

>現在のソース一式(appディレクトリ)をSubversionにインポートしましたが、それをチェックアウトで取得する際にわざわざappディレクトリを空にしているのですが、手法として正しいでしょうか?


正しいと思います。

ただし、他の方の解説にあるように「"app"を"app_"などにリネームしてからインポート」、「新しく"app"フォルダを作ってチェックアウト」のほうがスマートだと思います。慣れるまでは操作を間違えやすいので"app_"のバックアップに助けられることが出てくると思います。


>なお、この方法だと随所で解説されているtrunkやtagが使えません(使えなくても問題ない?)。


他の方の解説にもありますが、ローカルのルートフォルダとリポジトリルートフォルダを1対1で対応させるわけではありません。リポジトリ側は管理が容易なツリー構成にしておき、その中の特定のフォルダだけをローカルにコピーして使うイメージです。ローカルとリポジトリは全く違う物だということを忘れないで下さい。


以上を踏まえて「trunk/branch/tagsが必要か?」という質問にお答えしますが、この手法を使うことをお勧めします。仕事で使うようなソースをバージョン管理し始めると、かならずbranchやtagsが欲しくなると思います。その時になってからリポジトリ構成を変更するのは大変ですから、trunkだけでも作っておいてください。

◎質問者からの返答

適切な回答、アドバイスをありがとうございます。

>ローカルのルートフォルダとリポジトリルートフォルダを1対1で対応させるわけではありません。

この部分をいまいち理解していませんでした・・・。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ