AIと戦って、あなたの人生のリスク診断 >>

初心者です。トータスSVN(TortoiseSVN)を利用しています。私がリポジトリを作成、ネットワーク上のファイルサーバーに配置したのですが、SVNコミットを私以外の人ができません。

他の人はリポジトリブラウザの参照はできますが、SVNコミットができません。そもそも使用の仕方が間違っているのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>まさしく、その通りにリポジトリ作成しました。


>やり方がまずいんですね。。。

1.7のヘルプ、[リポジトリ][リポジトリの作成][ネットワークフォルダー上のリポジトリへのアクセス]から…
>file:// アクセスは、ローカルでの1ユーザーのみのアクセスを想定しており、そのようにテストとデバッグを行っています。リポジトリを共有したい場合は、 まさに 適切なサーバーをセットアップする必要がある場面であり、それは見かけほど難しくはありません。

理由は上記を参照して下さい。

>もし、ご存知でしたら、どこか参考になるサイトをお教え頂けると幸いに存じます。

OS不明な上、サーバでドコまでのことが出来る権限をお持ちなのか不明なのですが…。
その辺りがクリアできるとして…
「Subversion サーバ 構築」で検索するといろいろ見つかります。

自分のPC(Windows)をサーバにするなら…
・コマンドライン版Subversionをインストールしてsvnserveサーバにする。
 http://sourceforge.net/projects/win32svn/ からDL可能。
・Trac Lightningをインストールして、Trac/Aacheサーバにする。
 http://sourceforge.jp/projects/traclight/ からDL可能。
でしょうかね。
ApacheとSubversionを個別にインストールして連携させる。といのが普通でしょうが、そんなのは検索すればいくらでも事例はありますし。
# ちなみにウチのサーバ(CentOS)はApacheもTracもSubversionも入っています。
# が…リポジトリへのアクセスはSVNプロトコルでやってます。
# もちろん自分のサーバですからroot権限だってあるワケで……。
    • good
    • 0

>ネットワーク上のファイルサーバーに配置した



っていうのは、どうやりました?
TortoiseSVNでリポジトリを作成してWindowsファイル共有で配置、file:///でアクセスでしたら正しくありません。
# というか、その場合のネットワークアクセスは拒否するかと…。1.6.x辺りから。
抜け道はありますが、誰かが同時にコミットしたりするとリポジトリが壊れる可能性があります。

その上で…
>SVNコミットを私以外の人ができません。
というのであれば、ファイルサーバが他の人に書き込み権限与えていないのでしょう。
プロパティで設定できるかも知れませんが……リポジトリぶっ壊されても良いのでしたらアクセス権を設定すれば良いでしょう。

http、またはSVNプロトコルを使っているのであれば設定が足りないのでしょう。
# svnserve.confとかパスワードデータベースとか。


サーバでapache動かしてsvnを使えるようにする(HTTP/HTTPSプロトコル)か、svnserveを動かしてsvnを使えるようにする(SVNプロトコル)か…
のどちらかになるかと。
# 以前のヘルプにはその辺り記載されていたような気がしますが…1.7の日本語ヘルプにはない…ですな。
    • good
    • 0
この回答へのお礼

ご丁寧にご回答頂き、どうもありがとうございます。

>っていうのは、どうやりました?
>TortoiseSVNでリポジトリを作成してWindowsファイル共有で配置、file:///でアクセスでしたら正しくありません。
まさしく、その通りにリポジトリ作成しました。
やり方がまずいんですね。。。

>サーバでapache動かしてsvnを使えるようにする(HTTP/HTTPSプロトコル)か、svnserveを動かしてsvnを使えるようにする(SVNプロトコル)か…
もし、ご存知でしたら、どこか参考になるサイトをお教え頂けると幸いに存じます。

お礼日時:2011/11/03 16:13

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QTortoiseSVNにてサーバー上の共有フォルダからチェックアウトできない

TortoiseSVN-1.6にて下記サイトを参考に、サーバー上の共有フォルダにリポジトリを作成し、
ファイルのバージョン管理を行おうとしています。
http://www.syon.co.jp/syontech/tech014.html

サーバー側の共有フォルダに対して、リポジトリの作成は成功したのですが、
参照サイト作業内容
>クライアント側:
>実際に作業を行うクライアントマシンにおいて「SVNチェックアウト」でバージョン管理を行う環境をサーバからコピーします。
>今回は作業フォルダの下にフォルダ(work)を作成し、そこで「SVNチェックアウト」を行います。

にて、リポジトリのURLを指定し実行すると、下記エラーが表示されます。

====================================================================================================================================
コマンド   file://【サーバーのIPアドレス】/test/web/共有フォルダ/develop からチェックアウト、リビジョン HEAD, 再帰的, 外部を含む
エラー    URL に対し ra_local セッションを開始できません
エラー    リポジトリ
エラー    'file://【サーバーのIPアドレス】/test/web/%E5%85%B1%E6%9C%89%E3%83%95.../develop'
エラー    を開けませんでした
終了!
=====================================================================================================================================

サイトに書かれている内容通りに作業したのですが、何が悪いのか分かりません。
解決法をご存知の方おられましたら、ご教授お願いできませんでしょうか?
よろしくお願いします。

TortoiseSVN-1.6にて下記サイトを参考に、サーバー上の共有フォルダにリポジトリを作成し、
ファイルのバージョン管理を行おうとしています。
http://www.syon.co.jp/syontech/tech014.html

サーバー側の共有フォルダに対して、リポジトリの作成は成功したのですが、
参照サイト作業内容
>クライアント側:
>実際に作業を行うクライアントマシンにおいて「SVNチェックアウト」でバージョン管理を行う環境をサーバからコピーします。
>今回は作業フォルダの下にフォルダ(work)を作成し、そこで「SVNチェッ...続きを読む

Aベストアンサー

バージョン1.6は、そのような動作をするようです。
今のところ原因は分かりませんが、以下のようにすると目的は達成できると思います。
(1)TortoiseSVN 1.5.9を使う。
もしくは
(2)共有フォルダをネットワークドライブに割り当てて、ネットワークドライブ経由でアクセスする。
↓こんな感じ
file://Z:/develop

バージョン1.6のリリースノートを見ると、BDB形式のリポジトリにfile:///でアクセスできなくしたということが書かれていますので、そのからみなのかもしれません(FSFS形式でもアクセスできなくなっているようですが)。

QTortoiseSVNでリポジトリURLの指定方法

TortoiseSVNでインポートする際の、リポジトリURLの指定の仕方が分からないので質問させて頂きます。

自身で立てたサーバを使用して、現在ホームページの運用をしております。
(サーバ、ローカルPCには、すでにsvnをインストール済みです)

サーバはCentOS(i386版)を使用しており、ローカルPC(Windows VISTA)で作成したホームページ用ファイル郡をsubversionで管理したいと思い、サーバ側にリポジトリを作成して、そのリポジトリへローカルPCにあるファイル群をインポートしたいのですが、その際にどのようにURLを指定すればよいのでしょうか?

下記情報を参考にしていただき、お分かりになる方いらっしゃいましたら、ご教授の程お願い致します。

=======
・サーバ側のsvnディレクトリ
/home/develop/svn/ 以下に"test"というリポジトリを作成してあります。

・URLの指定
ローカルPCから、インポートしたいファイルを選択して、
右クリック→TortoiseSVN→インポート
で、リポジトリのURLを

http://サーバのIPアドレス/home/develop/svn/test

としたのですが、

エラー: OPTIONS (URL: 'http://サーバのIPアドレス/home/develop/svn/test'): 200 OK (http://サーバのIPアドレス)

と表示され、エラーになってしまいインポートできません。
=======

TortoiseSVNでインポートする際の、リポジトリURLの指定の仕方が分からないので質問させて頂きます。

自身で立てたサーバを使用して、現在ホームページの運用をしております。
(サーバ、ローカルPCには、すでにsvnをインストール済みです)

サーバはCentOS(i386版)を使用しており、ローカルPC(Windows VISTA)で作成したホームページ用ファイル郡をsubversionで管理したいと思い、サーバ側にリポジトリを作成して、そのリポジトリへローカルPCにあるファイル群をインポートしたいのですが、その際にどのようにUR...続きを読む

Aベストアンサー

><Location /svn>

で設定していますから、アクセスする際のURLは
http://サーバのIPアドレス/svn/test
になるハズです。
# apacheのLocationディレクティブの設定になりますので、その辺りのキーワードで検索して下さい。

いくつかのパターンで試しましたが…httpプロトコルでSubversionを使う場合、まずHTTPのOPTIONSリクエストが発行されるようです。
そこで、Subversion固有のレスポンスが返されると、処理を続けるようですが……
apacheはアクセス不能なパスを指定してもOPTIONSで200 OKのレスポンスを返却するようで。

>グループ:root
>所有者:root
>パーミッション:755

所有者はapacheに変更しておいた方がよいかと思われます。
chown -R apache.apache /home/develop/svn
と…
これでもダメでしたら
chmod 755 /home/develop
でしょうか。

>また、http://ではなくfile://でアクセスしても上手くいきませんでした。

file:///home/develop/svn/test
になりますが、この指定が可能なのはローカルマシンだけです。
svn info file:///home/develop/svn/test
で情報が出るかと。

>httpプロトコルでSubversionを使用する場合、
>svnのディレクトリを現在の
>/home/develop/svn
>から
>/var/www/svn
>と変えなくてはアクセスできない、ということなのでしょうか?

パーミッションの設定とapacheの設定が正しく行われれば、そのようなコトはない…ハズです。
# Subversion専用のユーザを作成し、そのホームディレクトリ(/home/svn など)にリポジトリを作成、
# httpでアクセス…という方法をブログなどで公開している人もいますし。

なお、/home以下の各ユーザが自分のsubversionリポジトリを作成してhttpプロトコルで利用。
の場合は、その都度apacheの設定変更が必要…のようです。
# svnプロトコルならできなくはない…と思われますが……。

><Location /svn>

で設定していますから、アクセスする際のURLは
http://サーバのIPアドレス/svn/test
になるハズです。
# apacheのLocationディレクティブの設定になりますので、その辺りのキーワードで検索して下さい。

いくつかのパターンで試しましたが…httpプロトコルでSubversionを使う場合、まずHTTPのOPTIONSリクエストが発行されるようです。
そこで、Subversion固有のレスポンスが返されると、処理を続けるようですが……
apacheはアクセス不能なパスを指定してもOPTIONSで200 OKのレスポンスを返却す...続きを読む

QTortoiseSVNでアクセスエラー

Subversion関連の質問です。

クライアント側からTortoiseSVNのリポジトリブラウザを使用し
サーバ側にあるリポジトリにsvn:// プロトコルでアクセスしたところ
以下のエラーメッセージが表示されました。
(file:// プロトコルではアクセス可能です。)

「ホスト'サーバ名'に接続できません: 呼び出しでポインタ引数を
 使用するときに、無効なポインタ アドレスを検出しました」

svnserveは起動していますが、他にも設定等が必要なのでしょうか。

■サーバ側の情報
○OS
 Microsoft Windows 2000 Server
○Subversion のバージョン
 version 1.6.6.

■クライアント側の情報
○OS
 Microsoft Windows XP Professional Version 2002
 Service Pack 3
○TortoiseSVN のバージョン
 TortoiseSVN 1.6.12

Aベストアンサー

>・他のPCでは問題なく接続できる

ホスト側の問題ではない…ということになりますね。

>・問題のPCでも他のソフトウェアからは接続できる

クライアント自身の方もOK…かと。

>・pingは相互に通る

TCP/IPでの疎通はできている…と。

となると、クライアント側パーソナルファイヤーウォールとかのセキュリティソフトが入っている場合、
そちらのソフトで通信をブロックしている可能性がありそうです。
# ESET Smart Securityでも未登録のソフトが外部と通信しようとすると許可するか確認するダイアログが出ます。(設定次第ですが…)
ということで、クライアントに入っているであろうセキュリティソフトでTortoiseSVNの通信をブロックしていないか確認されてはどうでしょうか?
# 該当ホストへの通信…だけではなく、TortoiseSVNのDNSへの通信をブロックしている可能性もあるかと。
# いや、IPアドレス指定でダメだったのだからDNSのブロックは違うかな?

他のSVNリポジトリへはアクセスできるんでしょうか?
TortoiseSVN自身のリポジトリ http://tortoisesvn.googlecode.com/svn/trunk とか。

>・他のPCでは問題なく接続できる

ホスト側の問題ではない…ということになりますね。

>・問題のPCでも他のソフトウェアからは接続できる

クライアント自身の方もOK…かと。

>・pingは相互に通る

TCP/IPでの疎通はできている…と。

となると、クライアント側パーソナルファイヤーウォールとかのセキュリティソフトが入っている場合、
そちらのソフトで通信をブロックしている可能性がありそうです。
# ESET Smart Securityでも未登録のソフトが外部と通信しようとすると許可するか確認するダイアログが出ます。...続きを読む

QTortoiseSVNがタイムアウトします

お世話になります。

Windows 7+TortoiseSVN 1.7を使っています。サーバーはさくらインターネットで、Subversionのバージョンは1.6.5です。

あるフォルダでリポジトリビューを開こうとすると、Timed Outと言うダイアログが4回表示されて、接続できません。

更新をした時もやはりTimed Outと出てしまいます。

MacからはVersionsでもDreamweaverでも正常にSVN+SSH接続できています。

解決法を教えて頂ければ幸いです。

Aベストアンサー

>TortoiseSVNでのsvn+sshは正しく設定されています。

パスワード認証なんでしょうか?
公開鍵認証なんでしょうか?
svn+sshではなく、普通にsshで接続できる状態になっているでしょうか?
# 公開鍵認証の場合は、その公開鍵で正しくログインできますか?
# 公開鍵ファイルでcommand="~"等を指定している場合は一時的にハズしてログインできるか確認して下さい。

>>PuTTYでセッションを保存して、TortoisePlink.exe辺りで連携する。
>の件ですが、具体的にはどの様にすれば良いのでしょうか?ご教示頂ければ幸いです。

英語ですが…
http://www.vectorns.com/blog/11-tortoisesvn-over-ssh-on-windows-via-putty
とか。

PuTTYでポート番号・秘密鍵ファイル・ユーザ名・接続先ホストなどを設定して、「セッションの読込、保存、削除」から適当な名前を付けて保存します。
そこで保存した情報をTortoiseSVNとTortoisePlink.exeで利用できます。

ホスト名はsshで接続する時の名前、ポート番号を非標準ポートに変更していて、公開鍵認証を使用(秘密鍵ファイルも指定済み(パスフレーズは未指定))でセッションを「svn_sakura」と名前を付けたとします。
TortoiseSVNの設定、ネットワークの「SSHクライアント」にTortoisePlink.exeを指定している状態で、
リポジトリブラウザからURLに svn+ssh://svn_sakura/path/repo と指定するコトで、
PuTTYで設定している情報が利用できます。
# 秘密鍵ファイルの指定やポート番号、ユーザ名の指定が楽になります。
# 秘密鍵のパスフレーズに関してはpageantを使うと楽になります。


>さくらインターネットでアクセスログを取っていませんでした。設定します。

自宅のSVNサーバへ公開鍵認証を使ってsvn+sshで接続してみましたが……たいしたログは出ていませんでしたね。(公開鍵認証で成功したというのしか無かった)
# ログレベル変えればイロイロ出るんでしょうけど。

サーバに置いてある公開鍵ファイルによってリポジトリのパスの指定のしかたが変わる場合もあるのでご注意を。
# Macからアクセスできているのであればその辺りは大丈夫だと思いますが。

ウチのは…/var/svn/repos以下にリポジトリがあって、公開鍵では
command="svnserve -t -r /var/svn/repo",no-pty,no-port-forwarding
となっています。(svnserveはフルパスの方がいい…かも知れない)
ので、クライアント側での指定は svn+ssh://セッション名/リポジトリ名/trunk 等のようになります。
# となみにローカルではスーパーデーモン経由でsvnserveが待ち受けしていますので、URLの指定自体はほとんど同じです。 svn+sshがsvnになるだけ。


svn+sshをパスワード認証で運用したことはありませんので…パスワード認証でしたらご自分で調べて下さい。
# そもそもローカルネットワークでない限りsshをパスワード認証にしないので……。

>TortoiseSVNでのsvn+sshは正しく設定されています。

パスワード認証なんでしょうか?
公開鍵認証なんでしょうか?
svn+sshではなく、普通にsshで接続できる状態になっているでしょうか?
# 公開鍵認証の場合は、その公開鍵で正しくログインできますか?
# 公開鍵ファイルでcommand="~"等を指定している場合は一時的にハズしてログインできるか確認して下さい。

>>PuTTYでセッションを保存して、TortoisePlink.exe辺りで連携する。
>の件ですが、具体的にはどの様にすれば良いのでしょうか?ご教示頂ければ幸...続きを読む

QInner join と Left joinの明確な違いは?

Inner join と Left joinの違いがよくわかりません。
教えてください。

Aベストアンサー

出てくる結果が違います。

テーブル1のフィールド1に、






が、

テーブル2のフィールド1に、






が入力されている場合、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 LEFT JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3               3
4               NULL
5               NULL
6               NULL
の6レコードが出力されますが、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 INNER JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3               3
の3レコードしか出力されません。

出てくる結果が違います。

テーブル1のフィールド1に、






が、

テーブル2のフィールド1に、






が入力されている場合、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 LEFT JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3           ...続きを読む

QSubversionのリポジトリの削除

Subversionを使ってみようと現在ダウンロードしていろいろ試しています。
そこで疑問なんですが、たとえばテスト用で作ったSubvewsionのリポジトリを完全に削除したい場合はどうすればいいのでしょうか?

単純にそのリポジトリ以下のファイルやディレクトリを削除するだけでいいのでしょうか?

現在、Windowsで上でリポジトリ(ローカル)を作成し、TortioseSVN経由で利用しています。
UNIX系の場合でかまわないので、情報があれば教えてほしいです。

Aベストアンサー

リポジトリごとごっそり削除したい場合は、Subversionのディレクトリ以下を全て消してしまえば良いと思います。

試しに ディレクトリをRenameしてみてはどうでしょうか?
当然ですが、アクセスできなくなると思います。。
# 何かSubversion用のデーモンを動かしている場合はちょっと注意が要るかもしれません。

私は大抵そういう場合は消してしまいますが、はたして他のディレクトリに書き込みを全くしていないかというと、確認したことはないです。
ただ、マニュアルにも
http://subversion.bluegate.org/doc/book.html#svn.reposadmin.maint.backup
「コピーすればバックアップが取れる」とあるので、その部分にしか書き込みはしていないと思われます。

Q3つの表の外部結合

表A、B、Cの3つがあり、Aのすべての行を出力したいと考えています。
外部結合を用いるのだとは思うのですが、3つの表に対して行う場合の
書き方がわからず困っています。
ご教授いただけないでしょうか?
select * from a,b,c
where a.商品ID =b.商品ID (+) and b.商品ID (+) =c.商品ID (+)
としてみましたが、うまくいきませんでした。

Aベストアンサー

ansi構文の趣旨からいえば、結合条件と絞り込み条件は分けて書くので・・

select *
from a
left join b on (a.商品ID =b.商品ID)
left join c on (b.商品ID =c.商品ID)
where a.年月 = 任意の値

と書くのが一般的でしょうね。

QSVNのアンロック

TortoiseSVNでソース管理をしているのですが、あるファイル(自分で変更)をコミットの途中で中断してしまいました。
それ以来、ロックがかかってしまいコミット出来なくなりました。
おたすけ下さい。

Aベストアンサー

>初心者なのでサーバ側かクライアント側なのかの区別も付かないです。
>コマンドラインの叩き方も分からないもので…申し訳ありません。

Windows側のワーキングコピー(コミットしようとした方)のフォルダにオーバーレイアイコンが設定されていると思われますが、それはどんな状態でしょう?
右クリック->TortoiseSVN->設定で開くダイアログで
アイコンオーバーレイ->アイコンセットで表示される状態が確認できます。
「ロック」になっているのか、それ以外なのか……。

右クリック->TortoiseSVN->クリーンアップ
を試してみるとか、
右クリック->TortoiseSVN->ロックを解除
を試してみるとか……。


なんとなく…サーバ側のような気がしないでもないですが……
そうなるとちょっと面倒ということになりますね。
# SVNサーバの管理者にお願いすることになるかと思われます。

Q「ご連絡いたします」は敬語として正しい?

連絡するのは、自分なのだから、「ご」を付けるのは
おかしいのではないか、と思うのですが。
「ご連絡いたします。」「ご報告します。」
ていうのは正しい敬語なのでしょうか?

Aベストアンサー

「お(ご)~する(いたす)」は、自分側の動作をへりくだる謙譲語です。
「ご連絡致します」も「ご報告致します」も、正しいです。

文法上は参考URLをご覧ください。

参考URL:http://www.nihongokyoshi.co.jp/manbou_data/a5524170.html

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング