• ベストアンサー

svnを使用してタグ、ブランチの作成の仕方

EclipseのSVNのエクスプローラ上から「新規」→「タグ(又はブランチ)」とやると 「リポジトリーの子フォルダーを取得する操作に失敗しました。」 というエラーが出てしまいました。 SVNのリポジトリを作成すると通常、「trunc」、「tags」、「branch」といった ディレクトリがEclipseのSVNのエクスプローラから見えると思っていたのですが 自分の環境(添付画像)では見当たりませんでした。リポジトリにこれらのフォルダを 自分で作成してみたのですが結果は同じでした。 何が原因かわかりますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

EclipseのSubversiveプラグインはtrunk、tags、branchesじゃないとブランチ操作がうまくいかないかも知れない。 先にTortoiseSVNやSlik SVNなど別のSVNクライアントでブランチを作ってからSubversiveで「切り替え」操作を行うのは特に問題ないと思う。 trunkとtagsとbranchesは自動的に作られるものではなく、SVNリポジトリー(あるいはSVNリポジトリー内のプロジェクト)ごとに明示的に作ってあげないといけないものだ。 svn://localhost/repo/branches svn://localhost/repo/tags svn://localhost/repo/trunk を作って、 sampleとTestを svn://localhost/repo/trunk/sample svn://localhost/repo/trunk/Test に移動した後でsampleやTestをブランチしようとするとうまくいくかも知れない。 SVNにおいて、trunk、tags、branchesは必須ではないのだが、Subversiveプラグインはちょっと融通が利かないというか、trunktagsbranches前提で作られているというイメージはあるね。 EclipseにはSVNクライアントとしてSubversiveの他にSubclipseというものもあって、そちらの方がやや柔軟な操作ができる。が、Subversiveは日本で最も有名なEclipseディストリビューションであるPleiades All In One Eclipseに標準で含まれている事から、trunktagsbranches方式になれておいた方が吉かも知れない。

unko347
質問者

お礼

ご回答ありがとうございます。 trunktagsbranches方式で進めていきたいと思います。 ご助言ありがとうございました。

関連するQ&A

  • SVN 削除してしまったフォルダの復元

    最近、SVNというのに興味を持ち「Trac ightning」というのがあったので、いろいろ試しています。下記の状況になってしまい、解決方法が分からず困っています。 1.SVNのリポジトリから自身のローカルPCにあるeclipseへチェックアウト 2.不要なフォルダを削除(念のためバックアップ) 3.削除情報をeclipseからリポジトリへコミット 4.不要なフォルダではない事に気付く 5.2でバックアップをしていたフォルダを、eclipseのパッケージエクスプローラへコピー 6.該当のフォルダに「!(赤色)」が表示されていて、「リポジトリと同期」など、リポジトリ関連のすべてが選択不可な状態 以上です。 環境としては、OSがwindows XP 「Trac ightning」「TortoiseSVN?」というのを使用しています。 復元は不可能でしょうか?どなたかご教授願います。

  • TortoiseSVNにてサーバー上の共有フォルダにブランチを作成でき

    TortoiseSVNにてサーバー上の共有フォルダにブランチを作成できない。 と質問させて頂いた者です。間違えて締めてしまったので再度質問させて頂きます。 TortoiseSVN-1.6.10にて下記サイトを参考に、ローカルからサーバー上の共有フォルダにブランチ/タグを作成し、 ファイルのバージョン管理を行おうとしています。 http://www.ipl.co.jp/item/Subversion.html リポジトリのURLを指定し実行すると、下記エラーが表示されます。 ==================================================================================================================================== コマンド: C:\test から file://【サーバーのIPアドレス】/kaihatsu2/SVN_SOFT/branches/testa へのコピー、リビジョン HEAD エラー: URL に対し ra_local セッションを開始できません エラー: リポジトリ 'file://【サーバーのIPアドレス】/kaihatsu2/SVN_SOFT' を開けませんでした 終了! ===================================================================================================================================== サイトに書かれている内容通りに作業したのですが、何が悪いのか分かりません。 解決法をご存知の方おられましたら、ご教授お願いできませんでしょうか? よろしくお願いします。

  • TortoiseSVNにてサーバー上の共有フォルダにブランチを作成でき

    TortoiseSVNにてサーバー上の共有フォルダにブランチを作成できない。 TortoiseSVN-1.6.8にて下記サイトを参考に、サーバー上の共有フォルダにブランチ/タグを作成し、 ファイルのバージョン管理を行おうとしています。 http://www.ipl.co.jp/item/Subversion.html サーバー側の共有フォルダに対して、branches以下に好きなフォルダ名でブランチを作ります。 にて、リポジトリのURLを指定し実行すると、下記エラーが表示されます。 ==================================================================================================================================== コマンド   file://【サーバーのIPアドレス】/kaihatsu2/SVN_SOFT/branchies/test2からfile://【サーバーのIPアドレス】/kaihatsu2/SVN_SOFT/test1/branchies/test2 へのコピー、リビジョン 2 エラー    URL に対し ra_local セッションを開始できません エラー    'file://【サーバーのIPアドレス】//kaihatsu2/SVN_SOFT/test1' を開けませんでした 終了! ===================================================================================================================================== サイトに書かれている内容通りに作業したのですが、何が悪いのか分かりません。 解決法をご存知の方おられましたら、ご教授お願いできませんでしょうか? よろしくお願いします。

  • Linuxでsvnコマンドでcommitしたい。

    現在Ubuntu Linuxを使用しています。svn管理のディレクトリ内で、a.outというフォルダを削除しました。 これをSVNサーバー側のリポジトリ側へも反映したいのでcommitしたいのですがどうやれば良いでしょうか? 現在カレントディレクトリは /root/20140411 このディレクトリです。 20140411のディレクトリがSVNで管理しているディレクトリです。 /root/20140411 カレントディレクトリ内で # svn update このようにアップデートを行ってみたら、アップデートできました。 しかし、 # svn commit これをやっても、コミットされませんでした。 現在のカレントディレクト内をコミットする方法をご教示頂きますよう、お願い致します。

  • SVNのファイルを一括削除できない

    現在Windows7を使用しています。 SVNで管理していたり、そうでなかったりするファイルの入った10GByteぐらいのフォルダをを渡されました。 このフォルダを新規のSVNリポジトリで管理したいので、SVNで管理されていたフォルダの中にある.svnフォルダやその中身のファイルを全部削除しようと思いました。 エクスプローラの検索で”svn”で検索して出て来たファイル4000個ぐらいを一括で削除しようとしたらなぜか削除できません。 どのように解決したらよいのかご存じの方いらっしゃいましたらご教授よろしくお願い致します。

  • CVSコマンドrlogでブランチにつけたタグで実行したいがうまくいかな

    CVSコマンドrlogでブランチにつけたタグで実行したいがうまくいかない CVSコマンドのrlogを実行したいのですが、うまくいきません。 「cvs rlog: invalid branch or revision pair…」というメッセージが出ます。 ※「コマンド」と表現していますが、シェルの中で「FROM_TAG」「TO_TAG」 を指定し、連続的に指定ファイルのrlogを機械的に取得するという 処理を行ないたいと思っています。 コマンドは以下のような単純なコマンドです。 ------------------------------- PERIOD=${FROM_TAG}::${TO_TAG} cvs -d ${CVSROOT} rlog -N -r${PERIOD} ${ファイル名} ------------------------------- 指定しているタグはブランチに付与した「つもり」のタグです。 そこで、タグを確認してみたところ TO_TAGは確かにブランチに付与されていました。一方で FROM_TAGはtrunkに付与されていました。 「それが原因だろ」といわれるとそのとおりなのですが、 タグは確かにブランチを指定しタグを付与しました。 FROM_TAGをつけたのはブランチを作成した直後です。 つまり、trunkとまったく同じファイル。 なので、リビジョンはtrunk用の「1.n」のままです。 この時点で、ブランチの最新にタグをつけたのですが、 するとタグは「1.n」系のリビジョンにつきました。 ファイル自体はまったく変更していないので当然といえば当然です。 それではと、とりあえず以下のコマンドにしたところ一応うまくいきました。 ------------------------------- PERIOD=::${TO_TAG} cvs -d ${CVSROOT} rlog -N -r${PERIOD} ${ファイル名} ------------------------------- ただ、これが通用するのはブランチを作成してから 何も修正していない状態のファイルにだけです。 つまり、ブランチを作成してから、タグA, B, Cを打っており BとCを指定してrlogを取得するときに、 AとBの間、BとCの間で修正があったソースは成功するけれども BとCの間だけで修正があったソースは失敗してしまうことになると思います。 この現象を回避するコマンドの書き方はありますでしょうか? タグのつけ方が何か悪いのでしょうか? タグを適切につけたらこのようなことはおこらないのでしょうか? (SVNならこんな苦労はしないはずなのに…とも思っています) 対応方法・アドバイス等よろしくお願いします。 (SVNを使ってとかはナシで)

  • SVNのリポジトリをNASに。

    こんばんわ。 CentOSにSVN(httpでアクセス)をインストールして、リポジトリはNASにということをやってみたくていろいろ実験しているのですが上手くいきません。 $ sudo mkdir /var/www/svn として作ったディレクトリを $ sudo mount -t nfs <NASのIPアドレス>:/svn /var/www/svn 上記のようにマウントしてみました。 マウントした先は読み書きできます。 次にリポジトリを $ sudo svnadmin create /var/www/svn/test と作成し、 $ sudo chown -R apache:apache /var/www/svn 一応再起動。 $ sudo /etc/init.d/httpd restart リポジトリが作成できたので、 http://<SVNのIPアドレス>/svn/test/ とすると HTTP 500 が帰って来ます。 ログを見ると、 (20014)Internal error: Can't open file '/var/www/svn/test/format': Permission denied Could not fetch resource information. [500, #0] Could not open the requested SVN filesystem [500, #13] Could not open the requested SVN filesystem [500, #13] と出ています。内容からするとパーミッション関係だと推測できます。 上記の問題を解決するにはどのような設定をすればよろしいのでしようか。

  • svnの差分を出力するバッチを作りたい

    現在ソース管理でsvnを使用しており、windows7で 毎日決まった時間に差分をエクスポートするバッチを作成しようと思っています。 今まではsvnのGUIツールTortoiseSVNを使用していて、手動で行っていたのですが、 対象ファイルが多く、この作業をwindows batchなどで出来たらいいなと思いました。 やりたいことは以下です。 (1)デスクトップに差分をエクスポートするフォルダを作る(例:差分フォルダを作成) ↓ (2)svnのリビジョンやタグを基準にして差分を(1)で作成したフォルダにエクスポート  (例:svn://XXX.XXX/turnkとsvn://XXX.XXX/branchの差分を差分フォルダにエクスポート) ↓ (3)差分一覧のようなものをテキストで(1)のフォルダに出力 (1)は出来たのですが、(2)と(3)がネット上で見てもあまり情報なくてわからず… 特に(3)とかは出来るかもわからず…javaやantだと出来ると同僚には伺ったのですが、javaに関して知識がなくて…antは少し書いていたことがある位です。 antなどでは上記のようなことは難しいのでしょうか? もし、参考になるサイトなどあれば教えていただけると助かります。 よろしくお願い致します。

  • svnサーバでsvnプロトコルでチェックアウト

    現在、自分のwindows10のPCにSVNサーバを、下記のサイトを参照しながらインストール作業を行っています。 WindowsにSubversion 1.12サーバーを構築する https://blogs.osdn.jp/2019/06/14/subversion.html 最後まで進めて、新規に作成したリポジトリをtortoiseSvnでチェックアウトできるようになりました。 その際に、リポジトリをチェックアウトする際に設定するURLでは頭のところを"http://...."とhttpのTCP80番ポートに設定してチェックアウトは成功することを確認しました。 ただ、今までsvnサーバで使っていたプロトコルがsvnのTCP 3690番だったので、URLを"svn://...."と設定してチェックアウトできるか確認したところ Unable to connect to a repository at URL 'svn://....' Can't connect to host '192.168.1.188':対象のコンピュータによって拒否されたため、接続できませんでした。 一応、windowsのファイアーウォールではtcp 3690番ポートは開放するようにせっていはしました。 httpプロトコルではできることは分かったのですが、svnプロトコルでもURLでアクセスできるようにするために必要なことなどご教示頂きますよう、よろしくお願い致します。

  • svn commitで失敗 svn: attempt to write

    svn commitで失敗 svn: attempt to write a readonly database http://wiki.minaco.net/index.php?VMwareFusion%2FCentOS5%2F15.Apache%2BSubversion%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB 上記を参考にsubversionを導入しました。 リポジトリは作成でき、ブラウザ上で確認できました。 しかし、リポジトリをチェックアウトしてファイルの追加などするとsvn addまでは出来るものの、svn commit した段階で svn: attempt to write a readonly database というエラーメッセージが出ます。 権限が無いなどの原因だと思うのですが、どこの権限をどのように変更すべきか分かりません。 どなたかお分かりになりましたらアドバイスをお願いします。