bluegate.org のサーバーは何で安定しないの?
5 :
デフォルトの名無しさん :2008/12/29(月) 07:30:45
svn+sshで繋いだとき、 リポジトリの指定を自分のホームディレクトリを起点にして指定するようには出来ないでしょうか?
6 :
デフォルトの名無しさん :2008/12/29(月) 08:25:52
--root があるようなんですが、svn+ssh したときに 自動的にトンネルしたユーザのホームディレクトリに 切り替えてくれるような機能は無いみたいですね。
7 :
デフォルトの名無しさん :2008/12/29(月) 11:26:30
http://svnbook.red-bean.com/en/1.1/ch06s03.html これ見ると ssh の authorized_keys に書く command 指定で
「ある鍵で認証したユーザはここをルートとする」って
ことができるようですが、これって共通のアカウント
(たとえば svn とかいうユーザを作って共用する)を
使うことになるんですよね。
そもそも svnserve ってデーモンとして挙げる場合も svn とかの
特別なユーザを作ることになるとおもうので、デフォルトの動作として
起動されたユーザのホームディレクトリに chroot してくれればいいのに。
んなこたない。 アカウントを使い分けつつ同じリポジトリにアクセスしたいなら、 グループとアクセス権限を適切に設定すればできる。 というかsvn+sshでアクセスするなら、 svnみたいな共有アカウント作らないでしょ。 sourceforge.netとか、メジャーな所がどうやってるか知らないの?
9 :
デフォルトの名無しさん :2008/12/29(月) 15:41:09
fooというディレクトリがおかしくなってしまったので(例えばcoの時無視されるとか)、再構築を したいんですが、どのような手順で行えばよいでしょうか? 一度リビジョンを取り出す、というのはうまく行かなかったです。 svn delete foo も無視されます。 すみませんがよろしくお願いします。
>>9 まず原因を特定するんだ。
coの時無視されてるって事だけど、リポジトリ内に存在することはどうやって確認したの?
「とか」って何?何かエラーメッセージは出てないの?
11 :
デフォルトの名無しさん :2008/12/29(月) 16:02:28
>>10 普通にsvn add fooってやると、「もうそのディレクトリはバージョンコントロール下にありますよ」
と怒られる。
svn delete fooが無視される。
が、新たにcoすると、その中にfooが入ってない。Warningとか一切なし。
そんな感じです。
>>11 状態が不安なら svn status 使えよ。
14 :
デフォルトの名無しさん :2008/12/29(月) 16:27:34
>>12 コミットはしてる
svn statusは、
? foo
を吐きますね。
>>14 リポジトリ内に存在することはどうやって確認したの?
16 :
デフォルトの名無しさん :2008/12/29(月) 17:11:20
>>15 いや、エラーメッセージで「バージョンコントロール下にある」といわれたのを
鵜呑みにしただけっす。
>>16 svn ls あたりでリポジトリ内にあることを確認するといいかもしれない。
18 :
デフォルトの名無しさん :2008/12/30(火) 18:05:00
svn lsしたら、coできるファイルも表示されないのですが・・・。 当該ディレクトリも当然表示されません。
前スレ
>>896 亀だが、ログインシェルを変えるというのは試してみた?
こちらでも、
・秘密鍵で認証
・おなじ鍵でteratermやputtyはsvnサーバーにログインできる
・けど、リポジトリブラウザでアクセスすると「接続が突然閉じました」と怒られる
・別マシン(debian)からのコマンドライン上でのアクセスは可能
のでtortoisesvnの問題かなあとバージョンあげたり他のWinマシンで試してみたりしたけど、
結果的にsvnサーバーのログインシェルをtcshからbashに変更したら繋がるようになった。
たぶん.loginなどの設定ファイルの問題と思われる。参考までに。
svn merge したときにぜんぜん変更していないファイルまで svn:mergeinfo が 変更されるのはなぜでしょうか?
22 :
デフォルトの名無しさん :2009/01/07(水) 17:10:27
Windows ユーザに対してリポジトリを公開する際, Samba で公開して file: スキームでアクセスさせるのは やはり問題が起きやすいでしょうか? また重大な問題が起きなくてもパフォーマンスが悪いでしょうか?
23 :
デフォルトの名無しさん :2009/01/07(水) 17:18:21
>21
merge した結果、変更が起こらなかった、という点が反映されてるだけじゃないの?
再マージするとき、merge 済みのリビジョンまで調べなくて済むようになるじゃん。
>22
ttp://svnbook.red-bean.com/en/1.5/svn.serverconfig.choosing.html >Do not be seduced by the simple idea of having all of your users
>access a repository directly via file:// URLs. Even if the repository
>is readily available to everyone via a network share, this is a bad idea.
>It removes any layers of protection between the users and the repository:
>users can accidentally (or intentionally) corrupt the repository database,
>it becomes hard to take the repository offline for inspection or upgrade,
>and it can lead to a mess of file permission problems (see the section
>called “Supporting Multiple Repository Access Methods”).
全てのユーザに対して file:// URL で直接リポジトリにアクセスさせるという
単純なアイデアに誘惑されないこと。仮に、ネットワーク共有を介して全員に
リポジトリが利用可能であったとしても、これは悪いアイデアである。
これは、ユーザとリポジトリの間にある、あらゆる階層の保護を取り去ってしまう。
すなわち、ユーザは偶然に(あるいは意図的に)リポジトリを破損しうるし、
調査やアップグレードのためにリポジトリをオフラインにすることも
困難になる。また、ファイルパーミッションのごたごたした問題も引き起こしうる。
>>21 サブフォルダのふぁるなんかにいつの間にかmergeinfoがふかされると、マージのたびに更新されてしまうね。
trunkからmergeinfoを再帰的に削除してしまえばその後は余計な属性の更新がおきなくなるから。
26 :
21 :2009/01/08(木) 13:30:39
過去に svn copy か svn move したファイルやフォルダに svn:mergeinfo が付きやすいようです。 必ずしもそうならず、はっきりしたルールは分かりません。
>>26 そいつは Subversion 1.5.5 で付かないように修正された。
>>22 SMBというかTerastation(NAS)でのことですが
1.5系の新形式で作成したリポジトリですと
コミットが成功してもトランザクションファイルが削除できないと出て
ファイル状態がコミット済になりません(コミット自体は成功しています)
1.4系でリポジトリを作成した場合(1.5系で1.4互換形式で作成)は
とりあえず動きました。
複数人での負荷テストはしていないので分からないです。
そもそもTerastationは負荷に弱いですし…
破壊される事も想定しリポジトリのフォルダは毎日バックアップをとって
最悪前日の状態に戻せる様にはしていますが、
1日に頻繁に更新されるリポジトリには向きません。
はぁそうですか。
30 :
デフォルトの名無しさん :2009/01/21(水) 02:16:39
subversionの書籍に、 リポジトリのディレクトリをそのままコピーしてもバックアップできない、 と書いてあったのですが、 リポジトリが壊れ、dumpバックアップも失敗していて、 仕方なくディレクトリまるごとコピーしていた分を使うと、 問題なく復旧できました(verifyでチェック)。 これは偶然できたのでしょうか? あるいはwindows版のsvnだからでしょうか?
dbじゃなくてfsfsだからじゃないの?
Vista x64にx64版TortoiseSVN入れたんだけど、Explorerの詳細表示で SVN関係の列を追加出来ない。Vistaへの対応は不完全なの?
>>30 コミット中のバックアップでは過渡状態がコピーされたれ共有違反がおきるから完全ではない。
svnadmin hotcopyを使えばよい
>>32 列って何だ? メニュー項目のことか? せめて行だろ。
Vista x64 だけど普通に使えてるぞ。
32 じゃないが、[名前|サイズ|種類|更新日時|...] のことだろ。
エクスプローラすらまともに使えない
>>34 みたいなのが
Subversionスレに居るとは…w
>>36 きっと、Windows端末は使っていなかったんだよ。
それならそれで、黙っていればいいのにとは思うけどね。
>>30 偶然といえば偶然だろ。
安定した保証があるのはdumpだけで、
ほかはファイルシステムやタイミングに
よっては失敗するってことなんだから。
そんなことより、
>dumpバックアップも失敗していて、
ってどうゆうこと?
41 :
36 :2009/01/21(水) 23:51:40
すまん。なぜか詳細表示をコンテキストメニューと勘違いした。 ついでに教えて欲しいんだが詳細表示の列で見られる項目って言うのは プロパティで見れる項目と同様のもの?
自分のレス番号間違えた(´・ω・)
あ・れ? TortoiseProc.exe っていつも常駐してたっけ? ??
45 :
デフォルトの名無しさん :2009/01/23(金) 18:34:02
彼は自由さ.
46 :
デフォルトの名無しさん :2009/01/29(木) 16:33:00
TortoiseSVN 1.5.7 age
Version 1.5.7 - BUG: Error text returned from a repository hook script could get split up wrong if empty lines were in the text. (Stefan) - BUG: If the currently shown folder in the repository browser was renamed, the url bar did not change to the new url. (Stefan) - BUG: Unversioned items selected for reverting would move them to the trash bin instead of leaving them. (Stefan) - BUG: Deleting an item in the repository browser that had non-ascii chars in it didn't work. (Stefan) - BUG: TortoiseMerge showed a black line diff in one-pane view. (Stefan) - BUG: The styling of bug IDs in the commit dialog could fail. (Stefan) - BUG: TortoiseMerge added a newline at the end of a file when saving modifications. (Stefan)
質問なんですけど リポジトリから削除しつつ、ローカルのファイルは残す操作はどうしたらいいのでしょうか 私の知識だと、いったんコピーしてどこかに退避したあと、svn deleteして、そのあとコミットして退避したのを戻す ぐらいしか思いつかないのですが もうちょっとうまい方法をごぞんじないでしょうか
>>48 削除をコミットしてから前のリビジョンをエクスポートすればいいんじゃないか
>>48 --keep-localオプションでどう?
svn delete URL
Tortoiseでもシフトキー押しながらコンテキストメニュー出すと
>>50 と同等な項目が出るんだね。
返事が遅れてすいません
みなさんありがとうございます
>>49 言ってなかったので本当に申し訳ないんですが、残したいファイルは変更してることがあるんです
ただ、変更がなければそっちのほうがいいような気がするので参考にさせていただきます
>>50 まさにこれだ
っと思ったけどsvnのバージョンが古くて私のとこにはありませんでした
まぁ、わざわざオプションが追加されたということは
コマンド一発でやる方法はないんだろうということででしょうね
>>51 URL で指定して、レポジトリから削除して、ローカルのを管理対象から外せばいけますね
Subversionの管理下にあるファイルを管理から外したいんですが、どうやればいいんでしょう? クライアントはEclipse使ってます。
subversionいれてdigest認証にしたんですが Digest: user `xxx' in realm `Subversion Repository' not found: /svn/test/ というエラーが出ます レポジトリは作ってるんですがパスワードを入力してもアクセスできません どうしてでしょうか?
>>56 エラーメッセージによると xxx というユーザーが Subversion Repository というレルムに存在しないらしいが
認証ファイルはちゃんと作れてるか?
>>56 ありがとうございますいろいろ試したんですが結局うまくいかなかったので
SSL+Basic認証にしました
firefoxからだとレポジトリが見えるんですが svnコマンドを使ってレポジトリを調べると No repository foundになります どうしてですか?
>>56 俺の環境ではDigest認証でちゃんと使えている
俺も Digest うまくいってるな。 まあ SSL できるならそっちの方がいい気がするが。
subversion + apache で使ってるんですが、CGIとかJavaScriptでIE等のウェブブラウザからファイルの更新をできるようにするフリーのモジュールはありますか?
63 :
デフォルトの名無しさん :2009/02/08(日) 14:45:22
質問なのにあげてなかった。 すまん。
65 :
デフォルトの名無しさん :2009/02/09(月) 09:36:59
webdavで使うとか。 本来の使い方じゃ無いけど。
>>65 やってみたらコミットどころか、ファイルの新規追加すらできなかったわ。。。
>>65 Autoversioning追加で解決しました。 ありがとうございました。 私が早漏でした。
68 :
デフォルトの名無しさん :2009/02/12(木) 22:01:00
TortoiseMergeで複数行を選択して、このテキストボックスを利用 を押してから 保存するとその行の改行が無くなるんだけど、同様の症状の方います? 一行ずつだと大丈夫なんですよね。 verupしたせいかな・・・
>>69 ありがとうございます。
やはりバグでしたか・・・
71 :
デフォルトの名無しさん :2009/02/14(土) 08:18:24
TortoiseSVN 1.5.8 age
>>68-70 > Version 1.5.8
> - BUG: TortoiseMerge could loose line endings when saving edits. (Stefan)
72 :
デフォルトの名無しさん :2009/02/15(日) 01:02:46
ファイルがコミットされた時にpost commitでフックして、コミットされたファイルから 情報を取り出してデータベースに格納したいのですが、いい方法はありますか? 要はpost commitの中でコミットされたファイルの中身を見たいという事です。
74 :
72 :2009/02/15(日) 01:24:49
>>73 おー、そのものずばりのコマンドがあるんですね。
ありがとうございました。
最近バージョン管理をVSSからTortoiseSVNに変えたときに Ver.1.0用のリポジトリとVer.2.0用のリポジトリをそれぞれ作って、 最初は同じコードをインポートしたんだけど、 それぞれ別の機能が実装されていってったから 今は多くの部分が共通でありながら一部違うみたいになってます。 この状況で、Ver.2.0のリポジトリがいらなくなったから1.8のほうに 統合したいんだけど、リポジトリ違うときのマージの方法がわからん うまい方法ってない?
>>75 マージしたいバージョンをチェックアウトしてインポートしてマージ
>>76 さっきやってみた。
マージメニューの"ブランチを再統合する"ってやつは元が違うからできんかったな。
この場合は"異なる2つのツリーをマージ"ってやつでいいの?
どこに躓いてるんだw 別レポジトリのファイルでもチェックアウトしたものを 新しいレポジトリにインポートすればsvnの構造上ブランチと違いはない
79 :
75 :2009/02/16(月) 17:16:18
マージすらままならんsvn初心者なんだよ、すまん。ありがとう 出直してくる
80 :
デフォルトの名無しさん :2009/02/16(月) 17:32:02
1)もともとのソースコードの公開は開発元からに限られている 2)差分の公開は自由にしてよい こういうときって,リポジトリ自体をライセンスに合った形で 公開したり,みんなで機能追加をつっつく方法って無いですか? 古いコードで,もともとの作者にもはや連絡が取れない場合とか, ライブラリ製品だとそういうライセンスのやりかたを 取ってるものなどがあって,どうしたもんかなぁ,と. 完全にオープンソースのものだと楽なんですが・・ いいアイディアはないでしょうか? リビジョン 1 はリポジトリには入ってないけど みんな手元に同じ tar ball 持ってるよね? って状態でその後をオープンにいじりたいというのは無謀?
>>75 Ver1.8と最初のコードの差分を指定してVer2.0にマージする。これでリポジトリ間のマージはできるよ。
ただし、svn:mergeinfoはリポジトリ名が入らないんで矛盾が生じるので該当部分は消す。
編集したはいいけどやっぱブランチにしとけばよかったぜ! みたいなときってどうすんの?
あきらめる
>>82 私のリポジトリは、しばしばtagからbranchしているw
え、それ普通でしょ?
trunkには、直近の変更は入れたくないけどどうしようって質問だと思ったが。
それtrunkじゃないじゃん
何言ってんの
入れたくなければブランチすればいい話
91 :
82 :2009/02/18(水) 19:31:20
>>86 そのままブランチしても作業コピーの変更はちゃんとブランチに入るってことでおk?
俺が知ってるのはあるリビジョンから新しく作って(と同時に切り替えて)
作業していくって方法だけだから、それだと編集中のやつ無駄になるやん、と思ってな
92 :
86 :2009/02/18(水) 21:39:21
いや、作業コピーはそのままで分岐される。
TortoiseSVNの場合はリポジトリ内で最新リビジョン+切り替えるで分岐をすると作業コピーは変更されずに分岐ができる。
その後コミットすれば変更内容をリポジトリに格納できる。
よくやるのは、
>>84 のとおりtagsの作業コピーを編集した場合、そのままbranches上に分岐させる。変更が終わったらそのまま分岐をtrunkにマージできる。
93 :
デフォルトの名無しさん :2009/02/19(木) 04:36:14
ドメインとかIPかわっちゃった場合はどうやって変更かえればええんでしょうか?
95 :
デフォルトの名無しさん :2009/02/19(木) 05:53:01
relocate じゃね?
96 :
82 :2009/02/19(木) 09:14:10
再配置
svn switch で、どこにでも変更できたと思うけど。
>>98 switcgiはリポジトリ内でしか変えられない
relocateはリポジトリのurlしか変えられない。
101 :
デフォルトの名無しさん :2009/02/20(金) 18:25:21
Windows版のコマンドラインクライアントってどこからダウンロードすればいいんでしょうか? なんか登録サイトが出てきて、ダウンロードできない・・・。 以前は普通にダウンロードできたんだけども。
ああ、Windows binaries のリンク先 の tigirs.org の apache 2.0 のリンク先からいけました。 紛らわしいなあ・・・
>>101 sourceをおいてあるツリーのところにバイナリがおいてあった。
あと、binaryのリンク先のcollabnetでダウンロードする。collabonet subversionをダウンロードすると
collabnet desktopをダウンロードする様に出てくるけどこれってどんな機能があるのか良くわからないな?誰か知ってる?
スレチ
107 :
デフォルトの名無しさん :2009/02/22(日) 02:00:19
OpenOfficeのファイルをsubversionで管理している人はいますか? ODF(OpenDocument Format)ファイルが大きくなると、小さな変更に対しても差分が上手にとれずに、 レポジトリが肥大化することはありませんか? ODFファイルをsubversionでどう扱うかはWeb上にいくつか情報がみつかるんだけど、 どうすればよいのかよくわからない。デフォルトでは、subversionがバイナリファイル扱いをして、 差分はxdeltaでとられるみたい。xdeltaは、大きなODFファイルの小さな変更に対して、十分に小さい 差分を生成できるの? また、ooosvnも試したけど、Windowsで使えないのが難点。ファイル名やパスの書き方の問題だけな 気がするが。 ここら辺の問題意識は何年も前からあるみたいだけど、あまり解決していないのは、binary形式での 管理で十分ということなのだろうか。
109 :
デフォルトの名無しさん :2009/02/22(日) 11:31:13
>>107 試したよ。手順は以下の通り。
内容はほぼテキストのおよそ36kbのファイルをOpenOffice Writerで作成、svnにimportする。
レポジトリ以下のファイルサイズを記録しておく。OpenOffice Writerでドキュメントをわずかに変更。
svnにcommitする。レポジトリ以下のファイルサイズを見て、commit前のと比較。/db/revs/0が36kb程度
増加していることを確認。よって、上手に差分がとれていないと結論。
zipかよ。圧縮のせいで元が大きく変わってるから差分手法のせいじゃない。 zipをバラしてから差分を取るといった具合に専用に最適化させないと無理。
111 :
デフォルトの名無しさん :2009/02/22(日) 11:51:37
112 :
111 :2009/02/22(日) 11:53:52
ああ、そうか、
>>110 を見て、ODFの中身がZIPだということを認識した
なるほど・・・そりゃムリだw
113 :
デフォルトの名無しさん :2009/02/22(日) 12:40:06
ODFにしてもマイクロソフトの.docxみたいなのにしても、 なぜ非圧縮での保存というオプションが無いのだ。
114 :
デフォルトの名無しさん :2009/02/22(日) 14:36:37
gitやmercurialはdiffをODFファイルのdiffをとるプログラムが設定できるらしいが、 これもレポジトリレベルでは、単なるバイナリdiffしかとっていないのでは? そうすると 113>> のように、アプリケーション側でsubversionに対応するしかないのかな。 確かにUML Editorを使っていたのだけど、subversionと連携するように、非圧縮のXMLにして 保存していたような気がする。 しかし、プロジェクトでODFファイルを共有して皆で編集したいというニーズにはどうすれば いいのかな?plain textかHTMLで文書を書けという方針にするかな。
どんな運用かわからないけど、いまどきのストレージ事情でごり押しできない?
LaTeXで書け
117 :
デフォルトの名無しさん :2009/02/22(日) 19:52:32
>>115 おっしゃる通り、ゴリ押しすることにしようっと。しかし、ドキュメントが大きくなると
破綻するのは、目に見えているな。そういうときは、過去のバージョンをパージしたりするのかな。
>>116 自分はLaTeXで書いているんだけど、プロジェクトのメンバーにLaTeXを強要するのは酷だなと
思って調べだしたのが、今回のきっかけ。
OpenOfficeの側にバージョン管理システムフレンドリーにしてとリクエスト出すべきかな。
しかし、バージョン管理システム側の設定でバイナリ差分のとり方を設定できるようにするのは、
一見いいアイディアのように見えて、リポジトリの移行時などに問題が発生するので難しい問題ですね。
よーしらんが、コミットフックでzip展開させるわけにはいかないんかい?
119 :
デフォルトの名無しさん :2009/02/24(火) 16:55:36
使い始めたばかりで、間違った使い方してるのかもしれませんが教えて下さい。 TortoiseSVN + subversionです。 チェックアウトのリポジトリURLを「file://aaa/b/ccc/ddd」として、編集、コミットをした後 ログで作者の欄を見るとちゃんと入ってますが、 チェックアウトのリポジトリURLを「svn://xxx/yyy」として、編集、コミットをした後 ログで「作者」の欄を見ると空欄になってます。 何か設定などあるのでしょうか?
login
file://aaa/b/ccc/ddd でチェックアウトしてコミットしたものは、Windowsならそのユーザ名が入る svn:// でやってるんなら最初にログインしてないと空白になる svnserveで認証するようにすれば良い
122 :
119 :2009/02/24(火) 19:47:42
>>121 ありがとうございます。
無事できました。
subversion + TortoiseSVNの構成で svn:// にて使用しております。 現在は confフォルダ内の設定ファイルに記述したユーザ及びパスワードにて 認証しておりますが、Windowsのユーザで認証することは可能でしょうか?
>>124 ありがとうございます。
やっぱりapacheが必要なんですね。
なんとかなるといいんですが...
1つのリポジトリを、複数台のサーバからアクセスする構成を組みたいのですが そういう構成は安全でしょうか? 具体的にはWindows共有サーバ上にリポジトリをFSFSで作成し、多数のサーバ (WindowsやLinux等)を使って多数のユーザで使用することを考えています。
認証システム的にはCIFS(samba)+fileスキームで可能だけど、fileスキームでの アクセスが適切なのかはあんたの利用状況に依存。
129 :
126 :2009/02/28(土) 01:12:33
>>127-128 ありがとうございます。なんとか出来そうな感じですね。
とりあえずやってみることにします。
いま、仕事場で svn+sshでsvnユーザーさんでアクセスしてコミットしてもらっとるんですが、 これって誰がコミットしたかわからない、ですよね? 全部svnさんになる?TortoiseSVNですが、自動でWindowsログインユーザーとかにはならないですよね? ユーザーを認識するにはどうしたらいいんでしょ? svnのサーバーで利用者ごとにユーザー作って、 リポジトリのディレクトリにアクセスできる権限設定して、 そのユーザーにssh公開鍵置いてアクセスしたら、鯖で作ったユーザーで記録残る? この辺のドキュメントありませんでしょうか?
131 :
デフォルトの名無しさん :2009/02/28(土) 09:14:04
やっちまった〜 svnsync でミラーしてリードオンリーで公開したつもりが、 そっちからチェックアウトしてコミットした奴らと もともとのリポジトリにコミットした奴らが。 内輪のプロジェクトなのでおおごとではなかったけど、 こういうときはもうどうしようもないっすか? ないっすよねぇ・・・・
>>131 分散系だと別段問題ないけど、中央集権だと大変だな、こういうときは
133 :
131 :2009/02/28(土) 09:41:55
>>132 この場合、uuidが違うから気づいたのですが、
もしミラーをsvnsyncではなくrsyncやunisonを
使ってファイルシステムごとやっていたら、
uuidは同じわけで、気づくこともなくいつの間にか
違う歴史をたどり始めたuuidが同じ二つのリポジトリが・・
さらに被害甚大になっていたかと思うとガクブル。
>>130 その通り。利用者ごとにアカウントを作ってそのアカウントでアクセスすればよい。
>>136 マニュアルに書いてあると、池沼に指摘されたお前は池沼以下だな。ww
まて、さすがに俺は答えてくれた方々に池沼なんていわない
ここは
>>1 が全て悪いということで、丸く治めようぜ
140 :
デフォルトの名無しさん :2009/03/01(日) 11:21:35
チェックアウトしたディレクトリが あろうことか他の奴に削除されてしまったとき、 とりあえずそいつを一発殴った後で俺はどうすればいい? 昔のバージョンからブランチをひねり出して、 そこに switch すればいいのか? まぁとりあえず今日のところは手元の変更点を diff 取って そいつにメールで送りつけてお前のところでマージしやがれと 言っておいた。
「チェックアウトしたディレクトリ」ってなんだよ。 ワーキングコピーの事か? それなら他人に削除可能なワーキングコピーを作った自分を殴れ。 リポジトリのディレクトリの事なら、そいつのコミット分を戻せば行けそうな気がする。
142 :
デフォルトの名無しさん :2009/03/01(日) 11:40:11
>>141 用語の選択がまずかった。
俺がブランチ作った。ワーキングコピーをチェックアウトした。
奴がリポジトリ上でそのブランチ消しやがった。
svn commit できねぇ。
$ svn update
svn: Target path does not exist
$ svn commit -m "shine"
Sending abc.c
svn: Commit failed (details follow):
svn: File not found: transaction '5-9', path '/branches/mybranch/abc.c'
「ワーキングコピーをチェックアウトした」ってなんだよ。 ともかく、そいつコミット分を戻す(変更を逆方向にマージ)すれば行けると思う。
存在しないディレクトリとの差分って取れないだろ。 例え取れて差分戻してもディレクトリのUUIDは復活しないだろうから > 昔のバージョンからブランチをひねり出して、 > そこに switch すればいいのか? こうするしか無いように思える。 リポジトリのダンプとって削除を無いことにする。という逃げは有るだろうけど。
削除を逆マージすれば復活するし差分も取れるようになる。 リポジトリ内ならどこへでも切り替えできるし。 バージョン管理使ってるのに、たかが削除したくらいであわてる必要は無い。
146 :
デフォルトの名無しさん :2009/03/01(日) 12:53:45
>>145 まぁ確かにすべてのこっているわけだからあわてる必要は無いんだけど、
ゆとり世代は例外的事象の発生に弱いんだ。
>>144 UUIDはリポジトリに対して設定されるものなので、
「ディレクトリのUUID」というものは無い。
とはいえ、「こうするしか無いように思える」ってのは
俺もそう思うので、次からはそうする。
まぁオレ用ブランチを作った時点でサーバ側で
アクセス制御かけておけばよかったのかもしれないが、面倒だった。
というか、file: スキームでアクセスしている奴がいたらどうしようもないか。
とにかくだ、ゆとり世代がVCSを使うとこんな感じなのです。
>>146 まぁ自虐はそれぐらいにして次からはちゃんとしておけよ
Subversionを久々に使ってみたのですが、 エクスプローラで、ファイルのアイコンに付くマーク(緑丸とか赤丸の)が表示されなくなってしまったのですが これは表示するようにできるんでしょうか? ※フォルダには付いてます。
F5
F5しても出なければアイコンオーバーレイの設定やフィルタを確認
蒸しリストに *.BAK を入れと *.bak が無視されなくなります。 蒸しリストに *.bak を入れると *.BAK が無視されなくなります。 トートイズsvn で windows 環境です。 たすけてくだしあ
>>151 ×トートイズ
○トータス
△トートアス
先生はタートル(turtle)だったけど、トータス(taught us)。
-- from Alice in Wonderland.
ウルトラマンエースだったかな、キングトータスなんて怪獣がいたな。 もちろん巨大亀。
>>151 正規表現
例: *.[Bb][Aa][Kk]
正規表現というと誤解を招きそうな気がしないでもない
158 :
デフォルトの名無しさん :2009/03/03(火) 11:02:34
皆様すみません。 subversion-deps-1.5.5.tar.gzを 落としたかったのですが、公式が落ちているみたいで…。 どなたか、ミラーサイト等ご存知ですか?
159 :
デフォルトの名無しさん :2009/03/03(火) 12:02:45
158です。 すみません。復旧してました。
160 :
デフォルトの名無しさん :2009/03/04(水) 12:07:03
自分がチェックアウトして作業しているディレクトリの パスの上の方でディレクトリ名が変更されたとき, 普通は switch というか switch --relocate しますよね? これって自動的に追跡してくれないものでしょうか? file:///repo/a/b/mycode をチェックアウトして作業してたのに,管理者がそれを file:///repo/x/y/mycode に変更したときとか.これを知らずにワーキング コピーを commit / update しようとすると 「そんなパスねぇよ」と怒られます. リポジトリのログを見れば,自分がチェックアウトした ディレクトリがその後どこに移動されたかわかりますが, これが自動的に追跡されたらいいのになぁと思っています.
commit前にまずupdateしろって言われるだけだと思うが updateすればそこでコンフリクトするんじゃねえのか
>>160 switchすればいいだけじゃないの?
>>160 ブランチでの作業が完了してtagsに移動させた時とかに、
自動で追いかけられるとうっかりtagsで作業する人が出てきそう。
ディレクトリ名の変更って頻繁にあるもんじゃないから、
確認の意味でも現状でいいんじゃないかと思う。
164 :
デフォルトの名無しさん :2009/03/04(水) 18:29:48
たしかにそういう危険はありますね、自動的に追跡されると
自分の知らないところで何かが行われるのは気持ち悪い。 何かが起こってないか、定期的にチェックする必要があるから。
166 :
86 :2009/03/04(水) 23:12:41
リポジトリやディリクトリの移動をしたときにsvn::externalsを一括修正するスクリプトが欲しくなることはある。
167 :
デフォルトの名無しさん :2009/03/05(木) 09:18:02
svn log って過去方向にはコピーなども追跡して 取得してくれるけど、未来方向にそのリビジョンの 発展を知ることはできないのかな?
TortoiseSVN 1.5.8, Build 15348であるフォルダを追加した時、 フォルダしか追加されなくて、そのフォルダ配下にあるソースとかが 追加されなくなっちゃったんだけど、仕様変わったの?
>>169 複数のディレクトリを選択した状態で右クリック→追加
丁度今日になってバージョンを上げたんだけど、
1.5.6(7だったかも)の時はこのやり方でディレクトリ内の
ソースとかも追加されてた
171 :
167 :2009/03/05(木) 13:43:44
ふと思いついたんだけど,リポジトリ内には copyfrom しか 格納されていないわけだし,複数のディレクトリにコピーされる 可能性もあるわけだから単純にそんな機能作れないよなぁ. とりあえず自分で pysvn でもつかって 追跡するスクリプト書いてみる.
と書いていたら1.5.9が出ていたみたいなのでうpしてきますねorz HPには1.6.0なんてのも見えますね・・
Version 1.5.9 - BUG: Broken registry settings may prevent Check for Modifications dialog from showing up. (Stefan Fuhrmann) - BUG: Missing columns when copying to clipboard in Check for Modifications dialog. (Stefan Fuhrmann) - BUG: Showing Log for deleted paths should not trigger "go offline? dialog. (Stefan Fuhrmann) - BUG: Line endings lost in TortoiseMerge when using "use whole file". (Stefan)
175 :
167 :2009/03/05(木) 15:53:38
>>175 tortoiseSVNのりビジョングラフはどう?
そういう話なのか?
178 :
デフォルトの名無しさん :2009/03/06(金) 08:18:35
リビジョングラフでやっているのは svn log -v / で表示される履歴を繋ぎ合わせているの?
分岐されてる状況が見たいんじゃないのか?
180 :
デフォルトの名無しさん :2009/03/06(金) 09:30:08
未来方向にじゃなかったっけ?
181 :
デフォルトの名無しさん :2009/03/07(土) 08:50:01
TortoiseSVNやsvnコマンドで svn+ssh によるアクセスをした時、 サーバ側では svnserve -t が実行されるのが普通だと思いますが、 これを変えることって出来るのでしょうか?たとえばルートを 変えたいとか。 もちろんサーバ側の authorized_keys に command= を指定する ことで強制することはできると思うのですが、そうではなくて クライアント側で設定できないものでしょうか?
182 :
デフォルトの名無しさん :2009/03/07(土) 08:54:57
C:\Users\Myname\.subversion\config のようなファイルは、TortoiseSVN も見に行っているのでしょうか? TortoiseSVN 以外にコマンドライン版のSubversionも インストールして使っていたために、混在してます。
183 :
182 :2009/03/07(土) 09:31:30
C:\Users\Myname\.subversion\config ではなくて C:\Users\Takashi\AppData\Roaming\Subversion\config でした。
やぁたかし君
いや実際のところは、kenji でも chimporoh でもいいんですけどね。
NEC-PCuser だろフツー
ふつーGuest User
svnadmin hotcopyでのバックアップですが、 バックアップ先に前回のバックアップが残ったままのフォルダを 指定して再度実行した場合、正常なバックアップは取れるでしょうか? もちろんバックアップ元は同じリポジトリです。(リビジョンは進行します) それともバックアップ先を毎回消す必要があるでしょうか?
subversionをバージョンアップする際に、 リポジトリはそのままでバージョンアップ可能ですか? 事前にダンプしておいて、バージョンアップ後に取り込みとか必要?
>189 都度リリースノート読むのがベスト。 BDB の時は、パッケージの BDB 自体のバージョンが上がった場合などに、 dump/load が必要になる場合がある。 FSFS の場合は基本的に大丈夫。 ただし、リポジトリフォーマットのバージョンを上げないと新しい機能が 使えない場合などがある。 1.5 の時は、merge tracking などで必要だった。 dump/load でなくて svnadmin upgrade で(手動だけど)その場で更新は 可能だった。
191 :
デフォルトの名無しさん :2009/03/08(日) 10:19:11
BDBのほうが枯れてて安定しているって記述を 見かけたんですが、それはすごい古いバージョンの ものでした。いまでもFSFSよりBDBのほうが安定しているんですか?
>>191 TortoiseSVNではリポジトリ作成時にBDBの選択肢が出てこなくなってるところから察してください
>>190 svnadmin upgrade は簡単なアップグレードだけで、りビジョンを1000ずつフォルダーに分けてくれる機能の変換はしてくれない
その機能を使いたい人はdump/loadする必要がある。
svn:ignoreを新規追加されたフォルダに対して自動的に適用するような事って出来ますか?
global-ignoresは自分にしか適用されないじゃん
197 :
デフォルトの名無しさん :2009/03/13(金) 15:32:58
tracと組み合わせて使うことが多いんだけど, tracのwikiやチケットのデータも管理対象の subversionリポジトリにぶち込めればいいのに. とか思うのはあほ?
頻繁に更新されるし、検索向きとは思えないな。
>>197 自分もそう思うからアホじゃないと思う。
いや、自分もアホなのかもしれないが。
tracをいじって、DBが更新される度に、 DBのダンプをリポジトリに突っ込むとかしたらどうだろうか。
svnサーバを構築しようとしてます。初期設定ファイルをほぼそのまま使用し、現在、httpでならcoやciができます。 セキュアな通信をしたく、sshでの認証を入れようと思い、SSLRequireSSLを使おうとしました。 <Location /repos> DAV svn SVNParentPath /var/www/svn <LimitExcept GET PROPFIND OPTIONS REPORT> SSLRequireSSL </LimitExcept> </Location> これでhttpdの再起動は成功するのですが、coなどが出来なくなります。 coしようとした際のエラーは以下です。 svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for (チェックアウトしようとしたuri) サーバでsshdは起動しています。動かない原因を教えてもらえませんか?
1.6.0リリース
なんか 2009/03/19 Subversion 1.6.0 Release Candidate 4 Released が切ない
>>201 まて、sshで通信するならapacheは全く関係ないぞ?
206 :
デフォルトの名無しさん :2009/03/22(日) 02:45:19
まだRC4か SVN1.6は1.5と比べて何が変わるのやら
英語分かんない><
同じく。先生翻訳plz
>>まだRC4か 普通に1.6リリースされてるじゃん
TortoiseSVNを1.6にしてみたけど、Bug-IDって所のBの文字が文字化けしてる 俺だけかもしれないけど
ログメッセージの画面にあるやつなら、うちもそうなる。
Google翻訳の方がまだ意味が通る翻訳の気がする
転覆1.6
ほらよ、乞食ども。
Subversion 1.6 の新規項目
・認証用データの取り扱いの改善
平文で保存する前の警告、KWallet や GNOME Keyring へのパスワードの保存
SSL クライアント証明書のパスフレーズの保存のサポート
・リポジトリルートからの相対URL
^/ でリポジトリルートを意味する
・svn:externals の機能向上
ファイルに対する svn:externals のサポート、クウォートのサポート等
・ツリーコンフリクトの検出
ファイル内容だけでなく、ファイルの有無も考慮したコンフリクト
(例:ローカルで修正したファイルに対するリモートでの削除等)
・ファイルシステムの使用量の改善
Berkeley DB、FSFS の双方とも使用量削減
・ctypes による Python バインディング
・対話的なコンフリクト解決の改善
dc(コンフリクトの表示), mc(コンフリクトに対してローカルを選択),
tc(コンフリクトに対してリモートを選択)オプションの追加
・ディレクトリの working copy からの除外指定
(ref.
http://blogs.open.collab.net/svn/2009/03/sparse-directories-now-with-exclusion.html )
・svnserve のログサポート
・履歴を調べるための新しい公開 HTTP URI 構文
http://example.com/repos/file?r=20 で revision 20 を参照可能
・コマンドラインクライアントの改善
色々。
特に大きいものとして、log に対して複数リビジョンが指定可能になったことと、
--trust-server-cert オプションの追加。
・API 変更、改善、および多数の言語バインディングが動作
・65以上のバグフィックス、機能向上。
1.5 と互換性無いの? 亀が 1.6 で Eclipse の subclipse が 1.5 だとダメなんじゃないの? アップデートするのが怖い・・・
ワーキングコピーの形式がまた変わった。 よって、1.4→1.5の時と同じ注意が必要。 なお、TortoiseSVNとSubclipseは両方とも最新版で1.6対応してる。 SubversiveとAnkhSVNは調べてない。
未だにexternalsの使い方が良く分からない クライアント、サーバ、共通で使うアセンブリファイルとかあるから 重複管理したくないんだけど、こういうのでexternalsは使うのだろうか
224 :
デフォルトの名無しさん :2009/03/25(水) 18:00:57
worst practicesは、どこかで見たことありますけど、 Best practiceまとめたサイトとかありませんか? subversionを実際にプロジェクトで使おうと思っているのですが、 1つのリポジトリに何を入れるべきかとか、 どういう単位でtrunkとbranchを分けたらよいとか、ぜんぜんわからないので。 たとえば5,6人くらいで半年のプロジェクト(仕事のプロジェクト)で、 OSなしの組み込みプログラムいくつかと、それと通信するWinのプログラム DLLと、exeをそれぞれいくつかを、開発する。みたいな場合で、 それぞれをどうやって管理するとよいのか。とか、参考になるような 情報を求めています。
>>224 とりえず適当なプロジェクト単位でtrunkを作る。makefileとかソリューションとか。
trunkは共有できる。いきなりtrunkにコミットするのは怖いからbranchを作って徹底的に試験してからtrunkにマージする。
trunkの分け方が使いづらいと思ったらいつでも移動できるし、戻したいと思えばいつでも戻せるし。
あんまり考えすぎる前に使ってみるのがよろしい。
>>226 trunkに恒常的にコミットしないのは一般的じゃないな。
基本trunkにコミットで、
テストが終わったとかリリースしたとかのイベントの度に
tagsにコピー、が一般的じゃね?
trunkは怖くて当然。
テスト済みの不安のないソースはtagsから取る、がうちの流儀。
trunkが常に壊れないようにするために、
>>226 のやり方は一般的だよ
というかbranchesはそういう使い方をするためにある
うちでは、 trunk・・・ 常に最新、ビルドは通るが不安定 tags・・・ ちゃんとバージョンをつけてリリースした時の各状態 branches・・・ まとまった機能追加などで、他に影響を及ぼさないで ごちょごちょやりたい時にブランチ作成 (しかしなるべく早くtrunkへマージ) ってやってる。
うちもtrunkは容赦なくコミットされていくよ trunkが壊れると困る!みたいな意見は出ない
業務終わりに出来てようがいまいがとりあえずコミットして帰る人とか、 何か勘違いしてる人がいたら、その人限定で枝をあげて、 「trunkにはコミットしないように」って厳命する。
そんな窮屈なやり方を強制させるんならおとなしくMercurialなり何なりにさせろよ
>>228 apache.orgやsourceforge.netのいくつかのプロジェクトを見る限り、
>>226 ,228の方が少数派だな。
というかそうやってるところってどこにある?
こういう流れを待っていた 他所がどんな風にまわしてるかってあんましらないしな
235 :
231 :2009/03/26(木) 17:07:11
>>232 そういう人には業務させてあげているだけです。
決してtrunkにはマージされないですよ?
居なくなるまで仕事させとかないわけにはいかないので。
そんな指示を出す前に、正しいコミットルールを指導してやれよ。
>>231 本末転倒すぎてありえないわ
あほな運用だなぁ
すべてtrunkでいいだろ。 何のための履歴管理だw
実験的な実装したいときはbranch切るけどな。
すべてtrunkってwww 個人開発に毛が生えた程度でならそれで済むかもしれんけどww
>>240 Subversion 本体の開発は基本的に trunk にまず全部突っ込む形なわけだけど、
それも「個人開発に毛が生えた程度」だと思ってるの?
trunkに制限かけるんなら、おとなしくsvk使わせなさいよ
いやほら、きっと「branchで開発するのが当然で、trunkに突っ込むのは馬鹿」って教育を受けてきたんだよ。 某元死刑囚みたいに外の世界を知るまでそれ以外の発想ができなくなるのも仕方ないよね。
なんか熱くなった上に自演してるやつまでいるな
>>241 「基本的」には確かにそうだね。
でも、その「基本的」な使い方だけですべて済んじゃう(すべてtrunkでいい)
と言ってのけたのを指して、個人開発に毛が生えた程度のことしかやってないんだなと
判断されたわけだ。
この手の運用方法で罵り合う連中こそアホだろ 不毛も良いとこ
「すべてtrunk」を「trunkだけで十分、tagsもbranchesもイラネ」と捉えるのは 拡大解釈が過ぎる。
すべてtrunkはないわー それこそ、何のためのブランチだってのをもっかい入門書読み直してみたらいい ブランチもタグも、意味なく使われているわけではないでぇー ほんまやで!
むしろほかにどう捉えろと
というか、「出来ていまいがtrunkにコミットして帰る」というのが責められるべき点なのでは。
それと今の話って関係なくね?
ぶっちゃけこういう使い方が正しいなんてのは無いんじゃないの?
trunk安定板にする運用でもリリース準備のたびにbranchでバグフィックス運用でも
まわってるならそれでいいじゃない。
>>231 の使えない奴を隔離するために使うってやり方は
おかしいっていうより気持ち悪いけど。
pre-commitでそのユーザからコミットが来たらコンパイルさせてエラーになったら弾けば良いんじゃね
まあ、確かに規模によっても最適な使い方は変わるだろうし、
これが正解ってものもないわな
>>231 みたいに、誰が見てもアレだってのはるかもしれんがw
書かれてる人も、
>>231 自身もね。類は友を呼ぶってやつか?
まあどうしてそういう運用してるか、その運用だと何が便利なのかを説明した点だけ 評価出来るかな。説明した内容に誰も同意しなかったがw
>>252 >ぶっちゃけこういう使い方が正しいなんてのは無いんじゃないの?
正しくない運用、というのはある。
ビルド出来ないものをコミットする奴は死刑。
全てtrunk運用の場合、 trunkにr1000、r1001、r1002、r1003、r1004ってあって、r1001とr1003が糞commitだった場合、 どうやって、r1004からその影響抜くんでしょうか。何かいいやりかたある? テストだけで糞commitを見切れるもんかな? branch切ってたら、branchからマージするときだけ検証すればいいけど。 mercurial使うのが正解だとは思う。
うちは基本trunkにコミットだけど、
>>257 を読んだら、信用できないコミットがしばし起こるという前提なら
普段は個別のbranchにコミットして、テストが済んだらtrunkへマージ、
というのもありな気がしてきた。
うちは目の届く範囲の少人数でやってるせいか、
幸いにして
>>257 のような状況は経験していない。
話は若干変わるが
TracやRedmineなどのBTSでいうチケットごとにbranch作って、
チケットがクローズしたらマージってのもありか?
いや、そうやってるわけじゃないんだけど。
俺は頻繁に(1日に20〜30回とか)コミットするので、いつもbranchを使ってる。
>>258 > チケットがクローズしたらマージってのもありか?
branchをそのままリリースするならあり。
マージしたtrunkをリリースするなら、マージした物に対してテストしないと無意味。
>>257 branchからマージするときに検証したとしても
そのときの検証だけで糞commitを見切れるもんなの?
その主張の本質はbranchの有無はあまり関係なくて
チェックを多くすれば間違いが減る(かもしれない)
という当たり前のことじゃね。
たしかにそうだな。
っていうかデグレをなくすにはどうしたらいい?っていう
もうちょっと一般的な命題なんじゃね?それって。
ところで
>>257 の言うところの糞コミットってのは
仕様上ちゃんとしたものだけど、実装の仕方やコードの品質がゴミなコードってことかね。
そういうのだったらコードレビューでもするしかないような。
レビュー体制にもよるよなあ。 コミット前に必ずレビューするのか本流っぽいところにマージする時だけレビューするのか。 オープンソースのプロジェクトにかかわったことないんだけど そこらへんどうしてるんだろ。
デグレの使い方が間違っとる
ブランチ→修正→検証→コミットのサイクルを繰り返してtrunkの安定度が少しずつ上がるんじゃないか?
>>265 間違えた
trunkからブランチ→修正→検証→trunkにマージのサイクルを繰り返してtrunkの安定度が少しずつ上がるんじゃないか?
trunk: 最新版 branch: trunkからリリース準備単位で派生 tag: branchからリリース完成単位で派生、基本ここは修正しない(bugfixはbranchで) ってのがsubversionのドキュメントでサンプルに出されてた使い方だったかと。 自分はこれに加えて実験的なことしたい時もbranchを切るやり方でやってる。 少人数の上仕事で使ってるわけじゃないからこれでべつにいっかなーと。
>>267 apacheとかeclipseとか、
メジャーなオープンソースプロジェクトはだいたいそんな感じだね。
Redmine使ってるんだが、ブランチ切って作業すると プロジェクトの指してるリポジトリと合わなくなって困る なんとかならんのか
うちは、trunkにコミットしたものは1分後にHudsonがビルド〜テストを開始するので、 - Hudsonで扱って欲しいもの->trunkへ -- ビルドエラーが起こるソースコードをコミットすると、Hudsonのログでさらし者。 -- テスト結果もHudsonのログに残す。 - 実験的なもの(Hudson側の設定を行っていない)や大改変中でビルドエラーがあるもの ->branchesへ - リリースやマイルストーンごと区切り(テスト区が関わる)-> tagsへ(tagsにsvn copy出来るのは中核メンバー数人だけに制限)
Hudsonって何?
ググりゃすぐでてくるがな。
やらなきゃ
担当が突然消える場合(病気、事故、失踪)に備えて、個人用ブランチに毎日コミットさせてる。
まさかとは思うけど、個人的にsvkやgit-svnを使用することを禁止してるところってないよね?
279 :
278 :2009/03/30(月) 20:50:26
「個人的に」はわかりにくいか。 社内のSubversionレポジトリへsvkやgit-svnでのアクセスを禁止してるところは…て意味です
状況によるんでない? 何するツールなのか知った上で禁止してるのか、 知らないからこそ勝手ツールとして禁止してるのか。 個人用のブランチ切れ&守秘義務的に繋った場所での作業Onlyって運用ルールだと メリットも薄れるだろし。
svkの使用は禁止されてないが svkからのpushは禁止されてる
282 :
デフォルトの名無しさん :2009/03/31(火) 12:47:13
あのさ,遠隔地でどうしてもリポジトリにつなげないとき, ワーキングコピーに対して行った変更を何らかの方法で (たとえばメールとかで)リポジトリ管理者に 渡して更新してもらうってのは無理? patch ファイル作ってっていうのがまずはじめに思いつく 方法だけど,プロパティの変更とかそういったものまで 含めた patch ファイルのようなもの(ダンプの一部みたい なもの)を生成してリポジトリ管理者側で流し込んでもらう 手のは無理だろうか. ワーキングコピー全体を渡せよってのは,ちょっと規模が 大きくてやりたくない.
変更(外出)前のワーキングコピーを両方に保存しておいて ワーキングコピーの差分だけ送る
284 :
デフォルトの名無しさん :2009/03/31(火) 18:28:19
svnserve って一応認証あるけどやっぱりインターネットに さらしておくと危険かな? 今のところ安心感をとって ssh+svn でアクセスしてるんだけど.
そりゃまあ普通のプログラムである以上、exploitが見つかったら攻撃されるだろし 必要なIP範囲が決ってるならそれ以外をフィルタリングするぐらいのことはしていいんじゃね? svnserve内のアクセス権設定がちゃんとしてるのは大前提だよね。 盗聴されるかどうかはsshで繋いでりゃとりあえずは安心だとは思うけど。
FreeBSDはリードオンリーだけどsvn晒してるな。
287 :
デフォルトの名無しさん :2009/04/01(水) 16:36:54
ActiveDirectoryを使ってユーザーの認証はできたのですが、
ユーザーごとのアクセス制御ができないです。
(ログインすると全てのレポジトリへRead,Writeができてしまう)
AuthzSVNAccessFileを指定するとユーザー名、パスワードの入力後にサーバから切断されてしまいます。
LDAPを使用する場合、個別のアクセス制御などはできないのでしょうか?
参考となるサイト等がありましたら教えてください。
httpd.confの内容::
<Location "/svn/">
DAV svn
SVNParentPath "D:\TracLight\projects\svn"
SVNListParentPath on
AuthType Basic
AuthName "Enter your LDAP ID"
AuthBasicProvider ldap
AuthLDAPBindDN
[email protected] AuthLDAPBindPassword pass
AuthLDAPURL "ldap://ldap-server:389/dc=sample,dc=com?sAMAccountName?sub?(objectClass=*)"
Require valid-user
AuthzSVNAccessFile "D:\TracLight\projects\svnauthz"
↑この行を追加するとページの読み込みエラーになる
</Location>
すいません、ブランチについて質問なのですが、 1. ブランチを切る 2. ブランチのみへコミットして、トランクは全くいじらない 3. ブランチの変更をトランクへマージ このような変更を行ったところ、予想では全くコンフリクトが起こらずスムーズにマージされると思ったのですが、 実際には一部のファイルでコンフリクトが起こりました。(ほとんど自分しか使わないためこういうことがよくあります) 今までブランチをほとんど使ったことがなく、仕組みもよくわかっていないのですが (いろいろ解説を読んだのですが、いまだによくわからないorz) これはこういうものなんでしょうか? そして、ブランチの変更を全面的にコミットするには、 1. .rXXXファイルの内容を元のファイルへ上書き 2. コンフリクトを解消 であっているんでしょうか?それとももっと効率的な方法はありますか?
289 :
デフォルトの名無しさん :2009/04/03(金) 12:29:37
トランクは全くいじらなければ (そして他のブランチからのマージもしなければ) コンフリクトが起きるってことは無いと思うんだけどなぁ. もしかして古い Subversion クライアントでマージ トラッキングの機能がない奴を使ってるとか.
290 :
288 :2009/04/03(金) 13:00:54
>>289 TortoiseSVN, subversive(Eclipseのプラグイン)両方の最新版で試してみましたが、両方ともそうなりました。
subversiveの方では、branchの変更を戻すとき用のメニューである"再統合"を使いましたが、結果は上の通りでした。
そもそもなぜ衝突が起きるのかを理解してんのかね
>>288 の言ってることが正しいなら、「衝突が起きて当たり前」とは到底思えないが…
293 :
288 :2009/04/03(金) 14:48:48
>>291 同時に同じファイルの(だいたい)同じ個所を編集して、コミットするからですよね?
その通りなら、絶対同時に編集していない私のケースは、やっぱりおかしいんでしょうか。
294 :
292 :2009/04/03(金) 15:11:20
>>293 微妙に理解が違うかな。
・trunkで、あるファイルのある場所を更新した。
・branchで、同じファイルの別の場所を更新した。
これを行っていれば、trunkに対しbranchで行った変更をマージすると衝突する可能性がある。
「いつ」変更したかは関係ない。
>>288 では
>2. ブランチのみへコミットして、トランクは全くいじらない
と言っているので、本当にそれが正しいなら衝突は有り得ないと思うんです。
どうして衝突したんだろう。
コンフリクトマーカーの所見ればいいじゃん。 何で見ないの?
296 :
292 :2009/04/03(金) 15:29:27
>>295 マーカー見ると、二つのファイルでdiffしたところが示されます。
つまり、
A
B
C
じゃあ、原因分かるでしょ。
差分みりゃわかるわなあ。
299 :
292 :2009/04/03(金) 15:35:42
すいません、途中で書き込んでしまいました。 マーカー見ると、二つのファイルでdiffしたところが示されます。 つまり、 A B C というファイルを、ブランチで A b C という風に編集すると、マージしたとき A <<<<<< .r2 b ==== B >>>>>> .r1 C という風になります。
勘だと、 2度目のマージなのに根元からマージした。 もしくは、キーワード置換を有効にしてる。
301 :
292 :2009/04/03(金) 15:38:05
もしかするとsubversiveを使ってブランチを切ったので、その辺で設定を間違ったのかもしれません。 一度TortoiseSVNのみでブランチを編集するとどうなるか試してみます。 相談を聞いていただきありがとうございました。
どうでもいいけど、そう言うツールをほいほいとあれこれ使いまくらずに まずは一つに絞って使えよ
行末とか漢字コードとか
304 :
292 :2009/04/08(水) 12:02:20
すいません、原因がわかりました。 subversiveでブランチを切るとき、ブランチの位置をフルパスで指定していたのですが、 どうやらそのために別のリポジトリへブランチを切ったと判断されていたらしく、 そのために過去の変更履歴が参照されなかったようです。 どうもお騒がせしました。
305 :
デフォルトの名無しさん :2009/04/10(金) 15:07:32
306 :
デフォルトの名無しさん :2009/04/11(土) 10:06:12
307 :
デフォルトの名無しさん :2009/04/11(土) 11:44:17
ruby binding で svn ci path_to_project --encoding=UTF-8 相当を行うにはどうすればよいのでしょうか? ctx = Svn::Client::Context.new() ctx.auth_baton[Svn::Core::AUTH_PARAM_DEFAULT_USERNAME] = '' ctx.add_username_provider ctx.add_simple_provider ctx.ci(path_to_project) このようにすると、can't convert native code to 'UTF-8' みたいエラーがでます。 そのため、--eoncoding に相当するようなコードを入れたいのです。
なぜ人事部長直通の電話番号を知っているんだ
誤爆すまん。
アルミ MacBook の Mac OS X 10.5.6 で Subversion を使いたいので Versions を購入したのですが Windows の TortoiseSVN に慣れているためどうしてもな じめませんでした。 そこで SCPlugin の最新版 SCPlugin-0.7.3l-SVN.1.6.0pkg をインストールした のですが、右クリックメニューは正しく使用できるものの、ステータスアイコン がフォルダのみ表示され、ファイルでは表示されません。正確には、一瞬表示さ れるのですがすぐに消えてしまいます。 色々調べたのですが原因が分からず困っています。どなたか修正方法ご存じな いでしょうか? subversion は port から 1.6.1 が入っています。
TortoiseSVNを落とす時にSourceForgeに繋ぐんだけど ファイルをダウンロードする時にたまに出てくる 虫がぞろぞろ出てくる画像のせいで女性社員から苦情が来た 知らんがな・・・
海外のHP行くと時々グロいのを平気で表示するよね。
たぶんグロと感じるかどうかのベクトルが違うんだと思うが
確かにあの虫がうじゃうじゃ出てくるのはキツい。
フィルタリングしてないの? 社内proxyで弾くとか。
ちっさい会社ならすぐ対応出来るだろうけどな
亀で svn update してみたけどクソすぎる。コンフリクト出まくり。 今から鬼のような大量の差異を手作業で修正しなきゃならん。 やっぱ eclipse にしときゃよかった OTZ
はぁ?
わけのわからん略語を使いたがるやつにかぎって スキルが低い法則
知らないならレスしないでください。 このスレの住人には「亀」がわけのわからん略語なのか?
いや、もしかして「コンフリクト」がわからんの?
svn updateだとコンフリクトでまくり eclipseで○○だとコンフリクトでない さあ○○は?
普通ならMergeされる コンフリクト起こしまくるってのは、分担の仕方から考え直せ
というか、そもそもeclipseはsvnクライアントではないし、 さらに言えばマージにクライアントの差なんてあるか。 きちんと設定すればどんなソフトでも同じようにマージできるはず。
頓珍漢なこと言ってるからどう反応したらいいのかわからんのに 当人は自分が変なこと言ってるのがわかってないんだろうなw
updateでコンフリクトかぁ。ひょっとして、>317は開発チームの中でハブられているんじゃね? 数年前、某所の大規模開発でCVSをロックしたまま帰るという嫌がらせが横行したのを思い出した。
>>320-321 ものすごい反応ぶりワロタ
317よ、君が一生懸命玄人ぶろうとしているのは分かるが、
>>324 がすべてだ。もう森へお帰り。
つうか、煽り煽られもいいんだがきちんとした状況を書けよ。 何の説明もなくだた愚痴を書くから荒れるんだ。 きちんと説明したら、ここの暇な住人が原因の一つも推測してくれるだろうよ。
コンフリクトしまくるような割り振りしてるのが悪いんじゃないの
俺も
>>326 に一票
おそらく svn のなんたるかも教育させてもらっていない
>>317 の状況に涙を禁じ得ない
WinXP SP3にTortoiseSVN 1.6.1を入れたところ、次のような現象が出ました。 ・リポジトリパスが日本語を含むUNCのときリポジトリブラウザで表示できない ・コミット時に次のようなメッセージが表示され、コミットできない 「Cannot accept non-LF line endings in 'svn :log' property」 結局、1.5.9に戻しました。 皆さんのところでは1.6.1はきちんと動いていますか?
>eclipseで○○だとコンフリクトでない >さあ○○は? >というか、そもそもeclipseはsvnクライアントではないし、 なんだ、おまいら、そんな事で顔真っ赤にしてたのか。 はいはい。大阪城を建てたのは大工さんだよ。 これで満足かい?ブタ野郎w
Windows でホームページを見る。 Windows はウエブラウザじゃ無いだろ?
インターネットエクスプローラでホームページを見る。 あほ、液晶モニタで見てるんだろw
>>332 ・リポジトリパスが日本語を含むUNCのときリポジトリブラウザで表示できない
→ 特に問題なし
・コミット時に次のようなメッセージが表示され、コミットできない
「Cannot accept non-LF line endings in 'svn :log' property」
→ 1.6.0でも起きる。ログを改行なしでコミット、その後にログ編集で改行加えて対処した。file://管理だと起きる気がする。
ログに改行があるとコミット出来ないやつは、svnadmin update やったら出来た覚えがある
>Cannot accept non-LF line endings in 'svn :log' property これ、Rubyのレポジトリを1.6.0でsvnsyncしようとしたときにも発生したなぁ (結局1.5.6のsvnsync使ったけど) 1.6.1では直ってるのかな?
>Cannot accept non-LF line endings in 'svn :log' property あるリポジトリだと起きて、あるリポジトリだと起きなかった。 リポジトリのバージョンなのか、プロトコルの違いなのかは分かんない。
ところで、SubclipseってTortoiseSVNよりマージ機能が優れているの? どれもこれも同じだと思っていたんだけど。
subversiveかも知れんぞ。 ってまあ、何使ってもご本尊は一緒だべ。
emacsのpsvnよりはどっちもつかいやすい
>>332 『)』『た』『体』『等』なんかの一部の文字の後に改行してるとその現象出てくる。
これらの文字の後に半角スペース入れて改行するとコミットできるのでとりあえず自分はそれで回避してる。
上の人も言ってるけど1.6.0からで、file://だと発生するぽい(
http://とかは知らない )。
Subversionで svn commit -F logfile した時だと同じ内容でもコミットできたり。
(改行コードはCRでもLFでCR+LFでもいけた)
TortoiseSVNのバグなんかね。
Subversion 1.4.5を使っているものです。 以下の事をしたいのですが、諸兄だったらいかがいたしますか。ご教示下さい。 <前提条件> ・開発用PC*n台、サーバA、サーバBの構成。全てWindows。 ・サーバAはリポジトリサーバとして使用。 ・サーバBはWebサーバとして使用。 ・開発用PCとサーバBに同等のワーキングコピーがある。 <実現したいこと> ・開発用PCでcommitすると、サーバBのワーキングコピーが自動的にupdateされるようにしたい。 試しているがNGなのが、以下のやり方。 サーバAのpost-commit-hookに、サーバBのワーキングコピーのsvn updateを仕込む。(が、動作せず。) svn up \\server-b\svnwork\pub\ >> \\server-b\svnwork\pub\svnup.log 同じコマンドの手動(コマンドプロンプトへの直打ち)実行は成功したので、コマンドミスではないです。 また同様のフックスクリプトで対象がローカルドライブのものは成功するので、フックは動作していると判断。 フックスクリプトでのネットワークパス(UNC)参照のやり方がマズいのか。単に仕様上不可なのか。 2日間悩んでますが、解答が得られずにいます。ボスケテ。長文スマソ。
まさか・・・ ドライブを割り当ててないでバッチファイルを動かしてるとか そんな初歩的なんじゃないだろね・・・
>>345 レスありがとうございます。
net useの事であれば試しましたが、結果は失敗でした。
コマンドプロンプトでは成功するコマンドが、フックスクリプト内で失敗する理由をご存知ですか?
初歩的な質問ですみません。
347 :
344 :2009/04/15(水) 00:50:22
>>345 えーとその時は確かこんな風でした。
net use X: \\server-b\svnwork
svn up X:\pub\ >> X:\pub\svnup.log
net use X: /delete
これも手動でバッチを実行すると成功しますが、フックから呼び出すと失敗でした。
何か根本的に考え方が間違っておりますか?
>>347 何かエラーメッセージは出てないの?
こんな風にエラーメッセージを記録してみては?
net use X: \\server-b\svnwork >> X:\pub\svnup.log 2>&1
svn up X:\pub\ >> X:\pub\svnup.log 2>&1
net use X: /delete >> X:\pub\svnup.log 2>&1
351 :
347 :2009/04/15(水) 01:39:45
>>349 >>350 ありがとうございます。
349さんのリンク先にティップとしてこんな事が。
「・・・環境変数は全く設定されない状態で実行します。このため多くの管理者は手でフックスクリプトを実行するとうまくいくのに、Subversion によって実行されたときにはうまくいかないことに困惑します。・・・」
これかもしれません、すっかり見落としていました。明日早速確認してみます。
日中はレスできませんので、また夜に結果をご報告します。
350さんのやり方でエラーメッセージの確認もしてみます。
もしこれだったら、本当にありがとうございます。
svnsyncしてミラー先でpost-commit-hookとか、server-bのタスクスケジューラで定期updateとか考えていましたが、
そんなことをしなくても済むかもしれません。
それでは、おやすみなさいませ。
352 :
332 :2009/04/15(水) 10:29:31
>>336-339 >>343 >>348 ありがとうございます。
確かにfile://を使っています。
1.6.1で報告されている不具合だったんですね。
とりあえず1.6系列をウォッチしながら1.5系列を使い続けたいと思います。
ちなみに1.6で作ったリポジトリは「バージョンが違う」とか出て
1.5のクライアントではアクセスできませんでした。
おお、TortoiseSVN で1.6.1にしたらいきなりコミットできなくて焦った。 Nightly にして無事コミットできるようになった、情報サンクス。
354 :
デフォルトの名無しさん :2009/04/15(水) 22:28:22
あるファイルだけ内容に関係なくUpdate,Commitをかけるたびに毎回更新されるようにしたいのですが、どうすればよいでしょうか。 というのは、リビジョン番号をフォルダーごとCommit掛けるたびに最新の番号に置換したいのです。 そのファイルを変更すればコミットがかかるのですが、変更しなければコミットがかからないので、最新のリビジョン番号を そのファイルに取得できないのです。
なんでそんな運用を・・・??
356 :
354 :2009/04/15(水) 23:02:43
最新のリビジョン番号をソースファイルに埋め込んでコンパイルしたいのです
Makefileに「最新リビジョン番号を取得してVersion表示ファイルの該当箇所を置換する処理」を記述する
FOR /F "usebackq" %%I in (`svnversion -n`) DO SET R=%%I ECHO #define REVISION %R% >revision.h make みたいな・・・
すまん。 プロジェクト(フォルダ?)の最新リビジョン番号が欲しいんであってファイルのリビジョン番号とは違うのか。 上のURLの情報はたぶんとっくにご存知のようだな・・・
revision.c にこう書いておいて static char *revision = "9999"; バッチでこうるす FOR /F "usebackq" %%I in (`svnversion -n`) DO SET R=%%I perl -i.bak -pe "s/revision = .+?;/revision = \"%R%\";/;" revision.c make みたいな・・・
だから、 SubWCRev でいいだろ。
それゲイツOS専用じゃないの?
SubWCRev って TortoiseSVN に入ってるみたいね。 linux 版にも入ってるの? つか、linux に TortoiseSVN ってあるの? ゲイツOS専用じゃ使えね〜よ。 これだからマウスの付いたパソコンしか使った事の無いヤロウはダメなんだ・・・
ゲイツOS使ってるならSubWCRevを使う、UNIX系OSならMakefileに自前の処理でいいじゃない。 あと今時 UNIX = linux と思ってるやつがいることに驚愕。
Linux⊂UN*X
>>368 > あと今時 UNIX = linux と思ってるやつがいることに驚愕。
今時「だからこそ」、じゃないのかね?
今時の人はLinuxを知っていてもUNIXは知らない
MacOSXv10.5がいつのまにかUnix認証を受けてやがる
マトモで使いやすいOSを追求していったらUnixに辿り着いた、 ってことかw
だからぁ、 「Makefileに自前の処理」 を具体的にどう処理するかを聞いてるんじゃないか。 もう、このスレの住人はバカばっかし。レベルが低すぎる。
>>374 で初だろ?聞いたのは。
svnコマンドで最新のリビジョン番号を取得する方法はわかるよな?
あとはLinux板のシェルスクリプトスレで聞きな。
SubWCRev、SubWCRev、SubWCRev って連呼してるバカに言ってるんだよ
377 :
デフォルトの名無しさん :2009/04/17(金) 16:59:15
試してないけど、こんな感じじゃないかな。 ---- main: main.o /tmp/revision.o $(LINK.cc) /tmp/revision.c: revision.c /bin/sed s/REVISION/`svnversion`/g < $^ > $@
けっきょく、svnversion と sed か perl でFAだな。 この方法なら Windows でも UNIX/LINUX でもいける。
.svnしか残ってないフォルダの一覧を 探すのってbashでどう書けばいいですか? なんかいい方法ないかしら?
>>380 .svnしか残ってないフォルダの一覧を
探すのってphpでどう書けばいいですか?
なんかいい方法ないかしら?
これでどうよ。 .svnしか残っていないフォルダの一覧を 探すのってsvnでどう書けばいいですか? なんかいい方法ないかしら?
そんなのfindですぐだろ。 "bashで書く"って表現するあたりが河合祖杉。
>>384 .svnしか残っていないフォルダの一覧を
探すのってふぃんdでどう書けばいいですか?
なんかいい方法ないかしら?
知らないならレスしないでください
早く春休みが終わればいいのに
一生終わりません
んで、.svn「しか残ってない」ディレクトリ一覧を、findでどうやれば得られるんですか。 他のコマンドも組み合わせる?
ま、春風のいたずらってことで。
ま、スレ違いってことで
393 :
デフォルトの名無しさん :2009/04/19(日) 22:26:48
>393 冗長なプロトコルといい、Subversionはアホが作ってる感があるな。
ちょw
>>393 svn:logではなく、svn:ignoreだけの話のように読めます。
>>396 いや、svn:logでも同じような問題が発生してる。
仕様もなにも↑で修正されてるじゃん
trunkにも取り込まれてないがな
400 :
351 :2009/04/20(月) 21:32:02
亀レスですが、ご報告まで。 リポジトリサーバのpost-commit-hookで別サーバのワーキングコピーをsvn updateする件ですが、成功しました! アドバイスを下さった皆様、ありがとうございました! ポイントは2点ありました。 1. net useでネットワークドライブのマップを行う。 2. スクリプト(バッチファイル)内の実行ファイルはフルパスで指定。 出来なかったときは、net useコマンドにパスが通っていなかったのですね。 下のような記述で成功しました。 (\\server-b\svnwork\pub配下のワーキングコピーをupdateしたい場合。) C:\WINDOWS\system32\net use X: \\server-b\svnwork C:\Program Files\Subversion\bin\svn up X:\pub >> X:\pub\svnup.log 2>&1 C:\WINDOWS\system32\net use X: /delete 改めて感謝です!では!
non-LF の問題は行末に空白入れると回避できるな。
svnversion で末尾に P が付くのは何?
403 :
デフォルトの名無しさん :2009/04/28(火) 05:44:35
>>402 それ P やない、改行や。
とエスパーに挑戦してみる。 TortoiseMerge のアレのことなんだろうな、と。
C:>svnversion 128P C:>svnversion --help 4123P まばらチェックアウト機能を用いて作られた部分的な作業コピー google "まばらチェックアウト" で検索 |翻訳メモ: | * sparse checkout は「まばらチェックアウト機能」としておいた。 ・・・で、「まばらチェックアウト機能」て何?
プギャーで台無し
svn up --non-interactiveをsvn upのデフォルトにしたいんですが configにそんな項目増えてたりしないんでしょうか。 まぁ、困るのはバッチ処理の時だけといえばそうなので そこにいちいち書きくわえればいいといえばそうなんですが。。。
>>408 バッチファイル(シェルスクリプト)でラップすればいいのではないでしょうか。
410 :
デフォルトの名無しさん :2009/04/30(木) 16:01:59
svn diff で、diffに渡されてるデフォルトのオプションって何? -u -r -N であってる?
411 :
410 :2009/04/30(木) 16:28:10
自己解決しました
412 :
デフォルトの名無しさん :2009/04/30(木) 16:32:28
svn diff で、diffに常に渡したいオプションがあるんだけど どうやって指定すればいい? cvsのときなら.cvsrcに記述できたんだけど、.subversion/configには書くところがない
直上のレスぐらい見ろ
まぁ、シェルならふつーaliasだよね。
>>413 エイリアスやバッチで処理すれば出来ることはわかっています。
私は、オプションを常に指定する方法を調べています。
ソース弄るしかないんじゃない? エイリアスのほうがインテリジェントだと思うけど。 そんな偉そうなら、用途をもっと明確にしてみそ?
そういや、svn diffって特定のもの以外のオプションをdiffコマンドに与えるのがクソ面倒だったような…
そう? svn diff --diff-cmd=/usr/bin/diff -x -wu程度の話だと思うけど。
>>418 うん、そうなんだけど…なんでいちいち--diff-cmdがいるんだって話さね
あとあれ -L を勝手につけるのうざいよね。
そもそも1行に diff が3回も出てる時点でどうかしてる
>>418 これを「程度」とか言っちゃう神経がキモい
Tortoise使ってて文句つけるならわかるが、コマンドラインに文句つけるヒマあったら、 さっさとエイリアスかバッチ組むよ俺ならw
>>423 美しくない ってことでしょ。
いきあたりばったりの実装で、設計思想に一貫性が無いという話。
所詮、ツールだし そう言うもんだろうで終わらせるよ、俺なら
>>425 君の話はどうでもいい
そこらの電柱にでも話しかけていてくれたまえ
>>426 うわあ…mod_rewriteぐらい使えよ
どうでもいいところをこだわっていて仕事になっているんなら、いいんじゃないか。 俺は利益に大きく結びつくところ以外は捨ててしまうが
こういう部分でエンジニアとしての程度が知れるな
切り捨てて良い部分に無駄にこだわって時間潰してるのを 有能と呼ぶなら俺は無能で良いわ
Subversion関係ねぇじゃん。
てゆか
>>426 はみっともない上にSEOにもかかわってくる可能性もあるしな
まあこの話題はそろそろ打ち止めってことで
無駄にこだわって時間潰す→無能 下手な設計で動くんだからいいじゃんと居直る→無能 最初から美しく設計する→有能
つまりSubversionを使うやつはみんな無能って事か
実際さっさと git とかに移りたいんだけど 仕事で使ってるとなかなかそう簡単にはいかんのよねぇ・・・
git はオマンド体系とか違いすぎてなぁ 覚えるコストに見当った性能はあるのかしらん?
分散リポジトリ系のは今後どれが主流になるかもわからんし ローカルでガリガリ書く時もコミットしたいってぐらいなら svk でお茶を濁してていいんじゃね?
仕事で分散使う意味がわからん
>>440 svkはあるケースで遅くなるのがなぁ…
>>441 移動中にノートPCで開発してる奴なんて普通にいる
そういう場合に有利>分散
>>443 多分そーゆー基本的なことを知りたいわけじゃないと思うよ
gitはUnix系では便利に使ってるけど、Windowsでは使えたもんじゃない。 svkはWindowsでもなんとかいける。
svkはGUIないから広めにくいんだよな。 最近は、Dropbox使う奴が周りでてきてる。 (もちろん、共有プロジェクトとか仕事では勧めてないが) バージョン管理する必要がない、バージョン管理ソフトとして使えるのがいいらしい。 これくらいのシームレス差がほしいもんだけど
>442 >移動中にノートPCで開発してる奴なんて普通にいる そういうの、会社によるんじゃない? うちの会社じゃ、そんなシチュエーション全く無い。
>>447 普通はそうだよな。
俺の会社でも10人程度の開発者がいるけど、全員が一つの机で顔をつきあわせながら開発するよ。
そういう状況で分散型VCSなど害悪でしかない。
当然ながらgitだのhgだのは一切使わないように支持が出されている。
>>448 速度面はどうよ。
ブランチとか使ってないの?
たしかに普通に社内で仕事する分には別に svn で困ることってそんなに無いんだよな。 履歴管理しなきゃいけない程の修正だったらブランチ切るし、 そもそも大きい修正なら一人で作業しない場合も多いし。 単に流行ってるからって理由で git 採用、とかは当然ながら止めといたほうがいいわな。 ただ OSS 関係は軒並分散リポジトリに移行しつつあるから追随しとかないと 参加出来なくなりつつあるけど。
> 単に流行ってるからって理由で git 採用、とか いや全然流行ってねーしw
うちは、Linuxの設定ファイルの管理とか、ネットワーク的に断絶してる 外向きWebコンテンツの管理とかはMercurialで、プログラムのコードは 全部Subversionという使い分け。 自分の机以外で仕事のコードを書く事はほぼ皆無。 Mercurialは、難しくて使いにくいと他の社員から大不評をかっているので、 TortoiseHGの熟成をあと2年ぐらいは待ちたい感じ。
>>451 いや、流行ってるよ。
フリーでリポジトリ提供してるところで採用してるところ増えてるし
github とか使ってる人多いしな。
仕事で使ってるって話は 2ch の専用スレぐらいでしか聞かんけど。
google code自体があんまり流行ってないってのもあるがな。
>>454-455 んー確かに。
ソースコードホスティングでいえば、githubばかりが目立つね
規模はgoogle code projectがでかいんだろうし、流行という感じでもないから、
sourceforgeみたいに、長く枯れるまで続けていくんだろうけどさ。
>>454 gitは使えねえので絶対に採用しませんとはどこにも書いてないわけだが
何にしてもどこもかしこも分散型!って感じではあるな。 仕事関係は未だに CVS のところもあるというのに。
>>449 通常ブランチはよほどのことが無い限りすぐ本家に戻る
>>447 うちは持ち出し厳禁だし、ノートの持ち込みも入り口で名前書かされるし
出入りでカバンを簡単にチェックされるんで、svk使って持ち出しとかは出来ないんだよね
ネットワーク上に、新しいTortoiseSVNと古いTortoiseSVNを使うPCが 混在しても大丈夫でしょうか?リポジトリの作成を古いバージョンで 行えばよいように思いますがどうでしょうか?
2年ほど前に切ったブランチで開発し続けてたものをいきなりトランクにマージしろと言われました そのブランチとトランクはもはや別のプログラムと言っていいほど違うものになってるんですが大丈夫なんですかね… なんかコマンド打つのも怖いのですが
>>464 ↓こっちのがいいんじゃね?
svn mv trunk branches/dead-trunk
svn mv branches/active trunk
>>465 その方が良いですね
交渉してみます
ありがとうございました
おまいら全部コマンドうちなの? 亀使わないの?
亀以外にもフロントエンドは色々あるわけだし、 ここで話するときは共通言語のコマンドで書くってだけの話じゃね?
469 :
デフォルトの名無しさん :2009/05/08(金) 16:49:02
特定のファイルをリポジトリから完全に削除ってdumpを使って出来るじゃないですか? で、ある特定の日付以前に削除されたファイルを完全削除して掃除ってできますか? cronとかで毎日掃除して、無駄な容量の増加を防止するとか
>>469 削除したブランチを消去するフィルターが欲しいなあ
471 :
デフォルトの名無しさん :2009/05/10(日) 13:45:06
>>471 - BUG: Error message about non-LF commit messages when using messages with
non-ASCII text. (Stefan)
わーい、直った。
結局TortoiseSVN側での対応か。 本家のtrunk(r37666)では未だエラーになる。
>>473 TortoiseSVNの開発者に感謝するよ。
でもこの問題ってdump/loadは影響しないのかな?
1.6.2って何かおかしくねえ・・・・? 同僚含めてちゃんとインストール出来ないんだけど・・・ 修復セットアップしたら何とか入ったけど言語パックはどうやっても入らない
何の問題もなく入ったけど、、、ってx64版だし参考にはならんか
うちでは、1.6.1をアンインストールして1.5.9を入れたところ、
言語パックを入れてもLanguageのリストにEnglishしか存在しない。
これも
>>475 と関係あるのかな?
うちは1.6.2にしたらエクスプローラが死ぬようになったから NightlyBuild版に戻したよ。
こっちも何かインストールが上手く行かなかったけど、 アンインストールして綺麗にしてからやったら上手く行った。
>>477 Languageフォルダーを削除してから、もう一度インストールしてみて。
481 :
21 :2009/05/11(月) 17:36:09
本家の 1.6.2 はリリースされないの?
リリースされました。 User-visible changes: * vastly improve memory usage with 'svn merge' (issue #3393) * make default depth for merge 'infinity' (r37156) * make 'status --quiet' show tree conflicts (issue #3396) * allow '--set-depth infinity' to expand shallow subtrees (r37169) * return an error if attempting to reintegrate from/to the repo root (r37385) * don't store bogus mergeinfo for '--ignore-ancestry', foreign merges (r37333) * don't allow merge of difference between two repos (r37519) * avoid potential segfault with subtree mergeinfo (r36613, -15, -31, -41) * recommend sqlite 3.6.13 (r37245) * avoid unnecessary server query for implicit mergeinfo (r36509) * avoid unnecessary server query during reverse merges (r36527) * set depth=infinity on 'svn add' items with restricted depth (r37607) * fixed: commit log message template missing paths (issue #3399) * fixed: segfault on merge with servers < 1.6 (r37363, -67, -68, -79) * fixed: repeat merge failures with non-inheritable mergeinfo (issue #3392) * fixed: another memory leak when performing mergeinfo-aware merges (r37398) * fixed: incorrect mergeinfo on children of shallow merges (issue #3407) * fixed: pool lifetime issues in the BDB backend (r37137) Developer-visible changes: * don't fail if an embedding app has already initialized SQLite (issue #3387) * resolve naming collisions with static stat() function in svnserve (r37527) * fix an expectation for a failing dirent windows test (r37121)
483 :
477 :2009/05/12(火) 10:12:35
>>480 いちどLanguageフォルダーを削除してから言語パックを入れたところ
English以外もリストに表示され、選択することができました!
ありがとうございました。
484 :
デフォルトの名無しさん :2009/05/16(土) 13:11:05
ドライブの中にいろんなところからチェックアウトしたワーキングコピーが ちらばっているのだけど,どこから何をチェックアウトしたのか ドライブ全体をくまなく探索して列挙してくれるようなツールってない? 「お前,随分前にチェックアウトして変更点あるのにコミットしてない ワーキングコピーがあるよ?」とか警告してほしい. WindowsでTortoiseSVNを動かしていればそのキャッシュには すべてのワーキングコピーの所在に関する情報が含まれて いるんだろうけど,そこにアクセスする手段がない. TortoiseCacheにAPIが実装されていればなぁ・・・
485 :
デフォルトの名無しさん :2009/05/16(土) 13:42:01
TortoiseSVN でローカルのファイルシステムにリポジトリを作るとき 作成するリポジトリのフォーマットのバージョンを指定することって できないでしょうか. 互換性のためひとつ前のバージョンのフォーマットで リポジトリを作りたいのですが,昔のTortoiseSVNを インストールするしかないでしょうか.
>>484 .svnで検索
アイコンオーバーレイの範囲も狭められるからチェックアウトするフォルダぐらい決めておけよ。
487 :
デフォルトの名無しさん :2009/05/16(土) 19:46:46
>>486 まぁ基本的にはチェックアウトするフォルダは限定するよな.
それはそうなんだけど,
svn:externals でチェックアウトしたワーキングコピーに
修正をかけても,その上位のワーキングコピーの
オーバーレイアイコンには反映されないので,忘れてしまう.
>>487 externalsのフォルダーもオーバーレイアイコンは反映されるけど?
コミット時もグレイ化された状態で一覧にも出るけど。
1.6.2です。
489 :
デフォルトの名無しさん :2009/05/16(土) 20:43:32
>>488 上の階層にまではそれが伝播しないんじゃない?
とりあえず最新のTortoiseSVNにしてみるか.
>>489 ルートの方へのexternalsはコミット時に出るかはやったこと無いけど、サブディリクトリ方向には伝播して表示する。
オーバーレイするディリクトリのマスクから外れたワーキングコピーは伝播しなかったと思う。
c:\working* のように*は入ってる?
491 :
デフォルトの名無しさん :2009/05/26(火) 04:32:34
TortoiseSVN 1.6.2
sambaの共有フォルダ上で使用しています。
変更ファイルに対して"元に戻す"を実行しても「ファイルリストは空です」になってしまい元に戻せません。
ググって
http://blog.longkey1.net/archives/0000000656 等も試したのですがダメです。
ローカルドライブであれば問題ありませんので原因はsambaでの設定かなと考えています。
("SVN更新"、"SVNコミット"は問題なく利用できています。)
何か情報をお持ちの方ヒントを下さい。
よろしくお願いします。
492 :
491 :2009/05/26(火) 04:46:40
あ、あああ・・ 「変更ファイルに対して」ではなくて「変更ファイルのフォルダに対して」、"元に戻す"で対象ファイルが 表示され無事元に戻すことができました。 お騒がせしてすいませんでしたm(_ _)m #1.6.2で仕様変更されたんですかね・・・Orz
svn moveのオプションなんですが、hgやらbzrにある --afterみたいなオプションは無いですか? WC内でmvコマンドを使って実際に移動させてから svn moveする、という使い方がしたいわけです。 というのも、svn moveはcopy+deleteなので、 WC内ファイルのハードリンク情報が消えてしまうからなんです。 なんかいい方法ないでしょうか?
494 :
デフォルトの名無しさん :2009/05/26(火) 11:55:29
cp svn mv cp
Subversionのマルチユーザー(というか複数人で使う)運用についてお聞きします。
ssh+svnで運用したいのですが、リポジトリにコミットするときのユーザーが問題です。
ユーザーsvn_userさんを作って svn+ssh://example/test-repo/trunk などでアクセスすると思うのですが、
svn_userさんに.ssh/authorized_keys などを適切に設定し、他の人もsshでログインできるようにした状態で、
svn_userさんでアクセスすると、他の人がコミットしたユーザーも全てsvn_userさんだけになってしまいます。
複数人で使う場合に、コミットするユーザーを分けようとすると、
これはコミットする人ごとにユーザーを作ってsshでログインできるようにして(.ssh/authorized_keysなどを適切に設定)、
コミットしなければならないということでしょうか?
Mercurialなどではローカルでユーザー名を設定して、
ユーザーhgを作って、
ssh://
[email protected] /hg-test-repo
などのようにアクセスしてコミットとpushするだけで、マルチユーザーで使えるのですが…。
どのようにしたものなのでしょうか?
>>495 svn_userのauthorized_keysで
command="/usr/bin/svnserve -t -r /repository/dir" --tunnel-user userA ......公開鍵A
command="/usr/bin/svnserve -t -r /repository/dir" --tunnel-user userB ......公開鍵B
って感じで認証鍵で振り分けるのはどうよ。これなら一つのユーザで済むと思う。
>>496 でダブルクォーテーションの括り方がおかしかった、スマソ。
499 :
493 :2009/05/26(火) 16:10:26
>>494 すいません。ちょっと意味が分からないので詳細教えてください。
最初にコピーするというのは、mvする前にどっかに避難させるということでしょうか?
cpしたらリンクが消えてしまうので一緒の気がするのですが、違いますでしょうか?
500 :
495 :2009/05/26(火) 16:49:59
authorized_keys で以下のように書くことで、svn_userのみで鍵に応じてfoobarさんで 無事にコミットできるようになりました。 command="svnserve -t --tunnel-user=foobar" (以降公開鍵) そこで、つまづいてしまったのですが、 上記方法だと、svn_userでsshでシェルログインして svnadmin create などもできなくなってしまいます。 もし、sshシェルアクセスもさせたい場合は別の鍵を追加するしかないのでしょうか?
TortoiseSVNとEclipseのsubversiveを併用してるんだけど、 subversiveでチェックアウトしてる作業コピーをTortoiseSVNでいじった後に、subversiveでコミットしようとしたらバージョン違いがどうたらってエラーが出た。 今までバージョンがあるのはリポジトリだけだと思ってたんだが、作業コピーにもバージョンってあるのな。 でもsubversiveのためにTortoiseSVNのバージョン下げるとかめんどい・・・。
Subversiveはまだ開発途上です。 いずれSubclipseが主流になる日が来るかもしれません。 でも今は未だそのときではありません。 Subversiveが成長するまで温かく見守ってあげましょう。
Subversiveはまだ開発途上です。 いずれSubclipseの座を奪って主流になる日が来るかもしれません。 でも今は未だそのときではありません。 Subversiveが成長するまで温かく見守ってあげましょう。
最近 subversive は標準になるなる詐欺なんじゃないかと思うときがあるよw
>>507 今年中にはbzr-svnが実用レベルになる。
bzrはやるやる詐欺
>>509 色々手を出しすぎて完成度が低かったけど、bzr2.0に向けて着々と
完成度上がってきてるよ。
本当にbzr-svnがsvk以上になるかどうかはさておき。
1.1の頃に作ったリポジトリ(途中で一回bdb->fsfsに移行した)をダンプして 1.5で作り直したら800MB->500MBになったのだが、ここまでになるとは 思っていなかったので驚いた。 おまいらはメジャーバージョンが上がったらdump/create/loadしてる? それともsvnadmin upgradeで誤魔化してる?
ひとつのリポジトリでリビジョン番号が約 25000、 総容量(fsfs)が 60GB くらいあるので、 dump/load なんてやる根性ないっス。
>>512 画像や音声データが入ってるな。ゲームの開発か?
ドキュメントの版管理やったらギガは結構すぐ行くな ExcelとかPowerPointで10Mくらいあるのガンガン更新したりするし
512でつ。 商用ソフトの開発でつ。 画像なんかは入っていません。 純粋にVC++のソースと、そのときのコンパイル済みバイナリ(*.exe/*.dll)、 それからインポートライブラリです。 インポートライブラリが大きいといえば確かに大きいですが、 これをコミットするのはモジュールI/Fが変わったときだけなので、 総コミット数からみると何十回かに一回くらいじゃないかと思います。 6年前にCVSでSCM化したときから始まっています。 ちなみにリビジョン1のコミット日時は 2003-03-31 10:55:20 +0900 とあります。 最も古いソースは10年ほどになりますか。 商品自体はもっと前からありますが、これ以前は私は他の事業部にいたので、 「このソースは私のローカルが最新」なんて世界だったそうです。
>「このソースは私のローカルが最新」なんて世界だったそうです。 SCM化してるにもかかわらずこんなことのたまう人がたまに居たりして 頭痛くなるんだよねw
>>516 金曜日に帰宅する前にdump/loadを自動で仕掛けておけば、翌週には
リポジトリがスリムになっているだろうな。是非やってみてくれ。
6年分とか怖くて出来ないな…。
> はてながgitに移行できた、たった1つの方法。
> 2008/04にSVNリポジトリが壊れた!
> リビジョン35000くらいのリポジトリ破壊!
> おわたおわたー!
デブサミ2009「株式会社はてなの開発戦略」講演メモ - RX-7乗りの適当な日々
http://d.hatena.ne.jp/rx7/20090212/p1 はてなみたく次に乗り換えるのはぶっこわれた時、なんてならんようにな…
うちもリビジョン3000くらいのリポジトリが先月破損したけど 水銀と天秤に掛けた上で結局svnで再構築した
使い始めてまもないんだけど 時々壊れるものなん?
どんなツールでも壊れることはあるよ 俺はCVSとVSSでも壊れたの見たことある
>>520 みたいにHDDが壊れたとかはsvnのせいじゃないしなあ。
ところでこの記事に、「gitはブランチの作成が一瞬」ってあるけど、svnもそうだよな。
作業コピーの切り替えのことかな?
おまいらdumpもろくにしないのか?一度フルで取っておけば、 後はそのリビジョンから部分的にdumpするだけでいいのに。 そして怖いっていうのが良く分からん。 既存のリポジトリはそのまま温存しておいて、新規にリポジトリを作成して そこにloadすれば良いんだぞ。
壊れるのが怖いならディスクにデータ書き込めない罠 何年も付けっぱなしのサーバでファイルが破損ってのはリポジトリに限らずあり得る話だし 特にバイナリファイルは
>>525-526 リポジトリが壊れるのが怖くてリポジトリのダンプを今度はバージョン管理下におくわけですね。わかります。
わかってねぇな
>>518 512でつ。
thx.
土日も害中三がコミットしてくるので、あらかじめアナウンスしとく必要があります。
来月には新しいバージョンをリリースするので、そのときにスケジュールとってやってみます。
dump/loadは使っていませんが、リポジトリのバックアップ自体はとっています。 fsfsなのをいいことに、毎晩、地理的に離れた場所にあるサーバにssh+rsyncしています。 まぁこれも、dumpで差分だけコピるようにすればはるかに効率的なんですが、 スクリプト書く手間が面倒だからズボラしているというのが正直なところです。 でも、その言い訳をするわけではありませんが、 dump/loadだとリビジョンが2万も3万もあるリポジトリを復旧するまで業務が止まってしまうので、 毎晩のrsyncに多少時間がかかっても、会社組織での運用という面ではこれもアリなのかなぁ...と。 rsync自体も今のところ1〜2時間で終わっているので、当分の間は十分に許容範囲です。
>>529 >>518 だが、やったら是非結果をレポートしてくれ。
一つ言っておくと、リポジトリを置いてあるマシン周辺のディスク容量に問題が
無ければ、毎晩リビジョンを2000ずつとか、一晩で終わりそうな分だけdump/load
するというのもあり。これだとダウンタイムほぼ無しで行ける。
>>530 それでも良いかもね。ただし、特定のリビジョンが壊れているといけないので、
バックアップを取った後にsvnadmin verifyはかけておいた方がいいな。
>>531 色々thx.
来月、スケジュールを立ててやってみて、結果をご報告します。
その前にディスク容量を空けとかないと。(藁
svnadmin verifyまでは考えが及びませんでした。
リモートのサバ缶(うちの害中三)に伝えておきます。
>>527 ネタにもなってないし、言い回しは腐ってるしw
>>530 rsync使う場合、マスタのfsが壊れてそれに気づかずにバックアップ側にrsyncかけて
バックアップまでこわしちゃう可能性があるから、やっぱり万が一に備えて時々
差分dumpを取って物理的に離れたストレージに保存する方がいいよ。
たまにLinuxのディス鶏なんか ぶっ壊れたisoがミラーにばらまかれて全米が泣いたりすることあるしな
でもはてながリポジトリのバックアップ取ってなかったってお笑いだよな。
取ってないってか取れないだろうなリビ3万越えとか バージョン管理が目的じゃなくてバックアップすることが目的くらいの勢いになっちゃうわ
>>537 お前は今までのスレの流れを読んだ上でそんなことを言ってるのか?
インクリメンタルバックアップを取れば良いだけの話だ。
539 :
デフォルトの名無しさん :2009/06/07(日) 18:13:31
実際バックアップ取ったことないだろ。 そんな簡単な話じゃないぞ。
実際にやっているから言っているんだが。何がどう難しいか言ってみろ。
541 :
デフォルトの名無しさん :2009/06/07(日) 18:28:45
インクリメントする元の過去の部分が壊れててもだれも気がつかない
>>541 ???
リポジトリの特定リビジョンが壊れていたらそもそもdumpに失敗するわけだが。
やったことない奴が会話に紛れこんでるってことか どっちかしらんが
流れからしてsageてないやつが犯人
dumpする側じゃなくてマージする側だろ 最新版は取り出せても過去のものは取り出せなくなる
>>545 そんなものは運用の問題だろうが。
dumpしたファイルのmd5sumでも取っておけば済む話。
ダンプする側じゃないと何度言えば ダンプしたときは壊れて無くても ファイルを置いておけば壊れる可能性がある その壊れたものにマージしていったら過去の部分は壊れたまま そこが必要になって取り出してみるまで気がつかない
そして本体が破損してバックアップから戻そうとすると そっちも壊れていることが発覚して全米が泣くと
549 :
デフォルトの名無しさん :2009/06/07(日) 18:46:55
ぶっちゃけ実務で必要なのって近1週間分くらいだからバックアップ取らないんだろはてなも ソースコード保存マニアなら、最古のコードまで保存したいんだろうけど
リポジトリじゃないけど、DBの差分バックアップで泣いたことは確かにあるわ。 バックアップの度にベリファイしてたらきりないし、結局トレードオフだよね。
>>547 だからdumpファイルのmd5sumを取ればいいと言ってるだろうが。
こんな簡単なことも考えつかないのか?
552 :
デフォルトの名無しさん :2009/06/07(日) 18:49:50
まぁだからOracleもわざわざコールドバックアップなんてものをやるわけだから 結局フルバックアップしない限り、バックアップが完璧になることはないよ
>>551 意味ないでしょそれ比較しても
本当にdumpしてる?
554 :
デフォルトの名無しさん :2009/06/07(日) 18:53:59
壊れたファイルのmd5sum取っておいて あとで比較して一致したのでめでたしめでたしと壊れたファイルを保存するオチだな バックアップ後に試しにリストアしてみて本当に正しいかどうかチェックしてsum取らないと
>>553 だからどう意味が無いんだ?
定期的にmd5sumをチェックすれば
> ダンプしたときは壊れて無くても
> ファイルを置いておけば壊れる可能性がある
という問題は完全に防げるだろうが。
>>554 dumpした直後にファイルが壊れるような信頼性の低いシステムを使うことが間違い。
> バックアップ後に試しにリストアしてみて本当に正しいかどうかチェックしてsum取らないと
お前の言うような信頼性の低いシステムでは、そんなことをしても正当性を
チェック出来ないぞ。
>>553 お前の使うシステムではdump直後にファイルが壊れてる確率がそんなに高いのか?
558 :
名無し募集中。。。 :2009/06/07(日) 19:12:03
なんかもう人格否定じゃん
どこが人格否定なんだよ
システムの信頼性に疑問がないならそもそもバックアップいらないんじゃねみたいな
おまいら、頭を冷やせ 非現実的な極論ばかり言っても仕方ないだろ
人のやり方を否定するより、 私はこうやってますよ。あなたの方法よりこんな点が優れてますよ。 って書いて欲しい
うちは hotcopy で毎日バックアップ取ってる(前7日分まで保持)。 dump/load は、Subversion のバージョンアップの際、 リポジトリフォーマットの互換がない場合にしか使わないなー。
>>563 リポジトリが大きすぎなければ、hotcopyが一番楽だよな。
dumpは運用としては現実的じゃないよね
うちはリポジトリ(9個ある)ごとに、svnadmin hotcopyして、svnadmin verifyして、tar.gz で圧縮して別ディスクに格納。これを最新10日分保存。 以上の作業を行うシェルスクリプトを、Hudsonで1日1回, 5:45から実行している。 スクリプトの実行時にエラーが発生したらメールで通知されるし、スクリプトが標準出力・標準エラー出力に表示した文字はすべてHudsonがログを保存してくれるので便利だ。
>>565 それはケースによるね。上で議論になっていた60GBもあるような
巨大なリポジトリだとhotcopyが非現実的になり得るわけだから。
巨大リポジトリだとそれこそ過去の分は不必要だろうから はてなみたいに捨ててしまえばいいのさ
論理が飛躍しすぎていて何を言っているのか分からん
>>512 が関わっているようなリポジトリで過去の分が不必要だなんてことは無いだろ
dump は、 rev0-rev1000 みたいに部分的に取ることもできるし、 --increment を使わないで古いリビジョンを捨てたdumpを取る 事もできる。 マスタが壊れたときには、 --increment を使わない「浅い」dumpを 復元して一時的に運用を続け、深いdumpを時間を掛けて復元すれば良い。 ・・・で、合ってる?
subversionを捨てればいいんじゃないか、
必要な時だけ読めれば良いとか、そんな程度でしかないと思うけど
SVNのリポジトリは過去リビジョンのファイルは変化しないので、HOTCOPYを差分バックアップすれば済むと思うんだけど、どうかな
>>573 昔の部分が壊れた場合、差分バックアップのときに壊れた部分も差分として
バックアップされない?
その後、差分の中から壊れてない部分を抽出するのが面倒。
逆に、 dump と dump --incremental でまずいのは何?
>>573 運用で避けられるし使わないことが多いと思うが、過去のリビジョンの
プロパティを変更出来るので結局差分バックアップは完全ではないんだよな。
やっぱりhotcopyが一番楽かつ安全性が高いということになる。
結局、「大容量のファイルをいかにバックアップするか」という普通のバックアップの話になると思う。 毎月フル、毎週差分、毎日修正ファイルのみ、みたいな。
svn のバージョンアップに強いのは dump? or hotcopy?
>>577 当然dump。dump/loadは基本的にコミットログのリプレイだから。
リポジトリを完全にアップグレードするにはdumpするしかない。
svn commit のときに changelist に含まれないものだけコミットする方法はありますか?
580 :
デフォルトの名無しさん :2009/06/17(水) 17:11:30
subversionの運用について教えてください。 svn + apacheでmod_svnを使った運用を考えています。 リポジトリとプロジェクトの関係で2つの方法があると聞きました。 1.1リポジトリに対して複数のプロジェクトを管理 /home/svnにsvnadmin createして、配下にsvn importしていく。 りビジョンが通しで付くので1プロジェクトに対し一貫性がない。 svnadmin createが1回だけですむ。hookscriptを一度定義すればよい。 2.1リポジトリに1プロジェクト /home/svnの下にプロジェクトごとにsvnadmin create する。 リビジョンはプロジェクト単位で一貫性がある ただしプロジェクトが発生するたびにsvnadmin createする必要がある。 hookscriptなどをその都度用意する必要がある。 皆さんはどんな風に運用していますか? 設定は2で、1のように1リポジトリに複数という形式もありかなあと思っていますが、 実運用っぷりをきいてみたいです。
運用、運用って言うけど、 結局、どのくらいの頻度で新しいプロジェクトが立つかだけじゃないの? リビジョン番号の一貫性云々言うけど、 どうせ branch + trunk でごちゃごちゃになるし、 別にたいした問題だとは思わないけどね。
>>580 1リポジトリで複数プロジェクトにしておけば、
あとは特定のディレクトリ以下を別リポジトリに独立させることができるよ。
ただし、ディレクトリ作成を独立したコミットにしておく必要がある。
レポジトリのログを一覧して見たときに、 自然なまとまりになるであろうようにする。 それが俺ルール。
リポジトリ vs レポジトリ 論争がまた始まりそうな予感
あろうようにする
586 :
デフォルトの名無しさん :2009/06/21(日) 23:50:40
前回も確かそうだったが、最近Subversion本体よりTSVNの方が (少なくともWebでは)先にリリースされとるな。 チーム内で何か確執でもあるのだろうかw
サーバーを1.5.4で運用しているのだが、クライアントを1.6.xにすると どの程度遅くなる?無視できる程度? ちなみに使っているプロトコルはsvn+sshです
ちと質問。 勉強でTortoiseSVN1.5.6を使用し始めて、その後コマンドライン版svn1.5.6を使用中。 リポジトリはTortoiseSVNでローカルに作成したものを使ってます。 OSはWindowsXP。 1.6.3が出るようなのでサービスを稼働させる前にバージョンアップしようかと思ってますが、 どの程度互換性があるのか今一つわかってません。 ・ワーキングコピーは非互換部分あり、バージョンアップ後に再度チェックアウトし直しがベスト ・リポジトリは互換性あり、気になるならバックアップしておく程度でよし というのがこのスレ読んで考えた対処法ですが、合ってますでしょうか。
>>587 TortoiseSVN の開発チームは Subversion 開発チームとはまったく別。
TortoiseSVN のビルド〜リリース手順は Subversion 側のタグ作成が済んだら始まる。
その手順が Subversion 側のタグ作成〜リリースの手順よりも速いってだけ。
>>338 >>472 の件、ようやく本家で対応されますた
Version 1.6.3
(19 Jun 2009, from /branches/1.6.x)
http://svn.collab.net/repos/svn/tags/1.6.3 User-visible changes:
* fix segfault in WC->URL copy (r37646, -56)
* let 'svnadmin load' tolerate mergeinfo with "\r\n" (r37768)
* make svnsync normalize svn:* props to LF line endings (issue #3404)
(略)
TortoiseSVN1.6..3にバージョン上げたんだけど コミットする時の対象一覧が常に空と表示されるようになって 選択されてない状態になるんだけど
俺も変更リストが空になってる。 ignore-on-commit使ってるのが悪いのかしら。
>>596 そのようだね。ignore-on-commitがあるとチェックが外れるみたいだ。
svn help XXX のメッセージが日本語と英語がかなり混在しているけど 日本語への翻訳はもうしていないの?
svnbookの1.6対応日本語版マダー?
>>589 ,
>>592 1.3 の頃に作った300MB、リビジョン1400のリポジトリを 1.6 で dump/load したら
100MBぐらいになりました。
そこから更に dump したのを 1.3 で load したら元のサイズになったので、
中身が飛んだりはしてないらしいです。
作り直しが効果的だった例ということで。
601 :
デフォルトの名無しさん :2009/06/28(日) 12:18:41
レンタルファイルサーバのWebフォルダ(WebDAV)上にリポジトリを作成してそれをWindowsから使いたいんですが、
TortoiseSVNで右クリックしても「リポジトリを作成」が出てこなくて、一旦ローカルでリポジトリを
こさえてからエクスプローラでコピー、またはTortoiseSVNの再配置を使ってWebフォルダを指定しても
「リポジトリは恒久的に'
http:// 〜'へ移動しました。relocate(参照URLの変更)を実行してください。」
とエラーメッセージが出てきて先に進めないのですが、どうすればうまくいくのでしょうか?
普通にSambaファイルサーバ上のリポジトリにアクセスするのと同じようにはいかないのでしょうか?
>>598 subversion/po/ja.po のコミットログを見てもらえればわかるとおり、
訳してた人が1年以上動けてないみたい。
リアルな生活が忙しくてそれどころではないという噂を聞いたです。
>>599 svnbookの1.6対応版ってtrunkかなぁ
tag切られたら1.5には見切りを付けて、1.6にしようかと思ってるんだけど、
TortoiseSVNのマニュアルが滞っててそれどころでもなかったり。
603 :
589 :2009/06/29(月) 00:31:21
>>592 >>600 ありがとうございます、全くの反対方向に理解してたことがよく分かりました。
とりあえず1.6.3を落としてきました。
先に教えてもらったページを読み込んでからバージョンアップに挑戦してみます。
>>601 普通はサーバ上で本家のSubversionを動かし、さらにそいつでレポジトリを作っておく。
そうしておいて、クライアント側からTortoiseSVNなどでチェックアウトするというのが素直なやり方だと思う。
知らないならレスしないでください
>>605 お前、もう誰からもまともなレスは付かないぞ。
さっさと知恵袋にでも逝けw
自分がどれだけアホな質問をしてるのか、それは数年後にわかるだろう
IDなしだから、605は私じゃありませんと言い出すんだよね
ていうか、
>>605 みたいなレスをあちこちに投下してる愉快犯がいやがる。
OpenGLスレでも同じようなキチガイがいたな
IDなしの板で質問するのがアホ
612 :
601 :2009/06/29(月) 19:58:15
> 知らないならレスしないでください これはIDなし板での恒例のレスだろww
そういうレスを面白半分に投下する奴は人間の屑だと俺は思うが。
面白半分じゃなくてID推進活動の一環だろ。 質問はトリ付けることを推奨でいいんじゃね。 IDは変わりやすい人もいるからIDあってもトリ付いてた方がいいし。
2ちゃんねる的にはIDを付けなければならんほど、住人の民度が落ちた、 ということで、IDが付くのは、ある意味、終わったということなんだが。 そんなにム板を終わらせたい奴がいるわけ?
住民がどう以前に関係ないやつがおもしろ半分にあちらこちらで暴れてるんだからどうしようもないだろ
こんなの恒例なんだから、スルすればいいだけのことだよ
「鍋太郎」氏のサイトのが1.5相当だったかと。
621 :
デフォルトの名無しさん :2009/07/06(月) 20:40:19
すっごい初歩的な質問なのですがMac OS X 10.5+Xcode 3.1+subversionな環境で エラー:155007(Path is not a working copy directory)説明:'/path/to/hogehoge' is not a working copy と出る場合はどうすればいいですか?
>>619-620 半分ぐらいしか訳せてなくて申し訳ないのだけれど。
一応リファレンスだけは訳したつもり。
>>621 「チェックアウトしたディレクトリではありません」ということです。
何をしたいのかによりますが、
チェックインしたいなら、先にチェックアウトしてみてください。
Subversionって管理者権限を持ってると変更履歴の改竄は可能ですか?
履歴とは何 ログなら可能
>>626 ログメッセージじゃなくログそのものですね
xxというソースを追加したとか変更したとか
↑ いちいち余計なひとことで他人をムッとさせるタイプのひと。 ログ ヒストリー 履歴 たしかに統一してほしいけど、読めばわかるだろ。
どう見てもお前さんのレスこそ他人をむっとさせるだろw
むっ
改竄だと rev.NNNを無かったことにする -rNNN:NNN+1 の差分を変更する とかじゃないの?
むっ
>>631 そうです
あるリビジョンで追加したファイルがなぜか変更扱いになってたりとあとで
改竄できるのかなあと思いまして
当然追加を変更扱いするわけなのでもっと前のリビジョンで追加されてたことにするわけですが
なんで自分のやりたいことを具体的に説明できないのかねぇ。 まぁ、きちんと説明できるくらいなら自力で調べることもできそうではあるが。
>>633 聞いた限りでは、ただの勘違いにしか思えないな。
>>633 履歴の削除はできます。
削除した場所に別の履歴を入れたりは難しいです。
普通は履歴を改竄する必要はないはずです。
よっぽどのこと(顧客の個人情報をコミットしてしまった等)があった場合には、
その部分の履歴を削除することはありますが、
それ以外では、単に追加・更新していくだけで大丈夫なはずです。
ソフトウェアの情報を見ると バージョン番号の次にリビジョン番号(1.2.3-r45678)がくるものがあるけど C/C++のソースコードにsubversionのリビジョン番号をソースコードの中に組み込む事ってできるんですか?
何でドキュメントを読まないの?
オレのドキュメントは2ちゃん
>>637 過去ログで何回も出てるけど、
svn:keywords, svn info --xml, svnversion, subwcrev (TortoiseSVN)とか。
あと、継続的実行 (Continuous Integration。わからなければググレ)してるなら、そっちの機能でも出来たりすることがある。
643 :
デフォルトの名無しさん :2009/07/17(金) 19:20:27
TrutoriseSVNでsvn+sshで接続できなかったので初心者質問です。 前任の人が入れていったSubversionを利用したくて、Subversion初心者なりに頑張ったのですが ダメでしたので質問です。 ・前任者がパスフレーズと、「ssh_rsa.ppk」なるファイルを残していった ・Puttyではこのppkファイルとパスワードで接続できた ・TrutoriseSVNのネットワーク設定でこのppkファイルを食わせて、ユーザー名とパスフレーズを入れてもログインしてくれない 自分の環境はWindowsXP、TrutoriseSVN1.6.2 接続先はSubversion1.4.6 LinuxはRed Hat Enterprise Linux ES release 4 (Nahant Update 5) と記述してありました。 Unix文化やセキュリティというものに親しんでこなかったので、何が悪いのか調べる方法に困っている状況です お知恵を頂ければありがたいです
644 :
643 :2009/07/17(金) 19:34:24
一応前任の方のメモ書きを参考にしたのですが、どうしてもパスフレーズを求められて メモに書かれたものを入れてもログインできません。(Puttyだと通った) ・リポジトリブラウザに入れたパスの問題なのか ・パスフレーズの問題なのか ・それ以外なのか ちょっとどれが有力なのかも自分の中で絞れない感じです 前任者のメモの要約です。 (miyaが前任者の名前) 【TortoiseSVNの設定】 ・エクスプローラー上で右クリック→TortoiseSVNの設定→ネットワークを表示 ・SSHクライアントのボックスに以下を入力 C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l miya -i 秘密キーファイルのパス ・リポジトリブラウザで以下のURLにアクセス svn+ssh//hostname/home/miya/svn/project/hogeprj/reps/trunk (hogeprjがプロジェクト名) よろしくお願いいたします
>>643 えっと、参考になるか分からないけど、自分の設定を晒しときます。
SSHクライアントはPutty付属のplinkw.exeを使って -batch オプションを付けてます。
で、接続する前にこれまたPutty付属のpageant.exeを起動して秘密キーを登録しておきます。
これでレポジトリにアクセスできてます。
647 :
645 :2009/07/17(金) 19:57:58
追記。 レポジトリにアクセスするときにユーザ名を付けてます。 svn+ssh://user@host/svn/repo/trunk
subversionの環境を使いたいの? それとも、リポジトリを使いたいの?
リポジトリを使いたいだけなら、がんばってサーバでリポジトリをダンプして、 windowsでインポートすればOK
複数案件を、検証用サーバ、本番サーバに順不同でリリースしたい場合の例ってどこかにありますか? 具体的には、検証用サーバには案件A Bの順でリリースしたが、 本番サーバには案件B Aの順でリリースしたい場合です。 現在のリポジトリ構成 trunk 検証、本番 branches 案件A 案件B のような感じです。
「リリース」でSubversionで何をしたいのかがわからん
各サーバで普通にチェックアウトするだけじゃないのか
654 :
650 :2009/07/18(土) 01:58:14
言葉が足りずすみません。 既存システムの修正を行おうとしています。 修正の内容が2種類あり、それらのリリースタイミングが異なるため、別のブランチを作成します。 リリースはtrunkにマージしたものを本番サーバに配布することを指しています。 また、それぞれの案件が同じファイルを修正する可能性もあります。 検証用サーバを挟まない場合、 1 trunkをコピーして、A Bブランチを作成 2 (Aをリリース) Aをtrunkにマージ 3 (Bをリリース) trunkの変更をBにマージ後、Bをtrunkにマージ という流れでいけると思っています。 しかし、検証用サーバを挟み、本番サーバへBを先にリリースしたい場合、 1 trunkをコピーして、A Bブランチを作成 2 (Aを検証用サーバにリリース) Aをtrunkにマージ 3 (Bを検証用サーバにリリース) trunkの変更をBにマージ後、Bをtrunkにマージ 4 (Bを本番サーバにリリース) とやってしまうと、Bを先に本番サーバへリリースを行おうとした時に、BのブランチにはAの内容が 含まれた状態になっているため、Bのみの内容を抽出することが難しいのではないかと懸念しています。 伝わるでしょうか。。。
リリース直前に専用のブランチを作って、そこで切ったタグからリリースしてはどうでしょう。 リリース直前の修正はブランチで行い、trunkへのマージはタグ切ってリリースした後で。 そもそも、本番サーバへのリリース計画と異なる手順で検証用サーバにリリースするのが間違いのような。 いったい何を検証するつもりなんでしょうか?
>>654 なんでtrunkにマージすんだよ。
branchの先端をリリースしろ、馬鹿。
657 :
653 :2009/07/18(土) 14:32:00
>>654 流れは大体合ってる。
>3 (Bを検証用サーバにリリース) trunkの変更をBにマージ後、Bをtrunkにマージ
ここの後半で競合が起きるかもってことかな?確かに起きる。
TortoiseSVNであれば、このときはBをtrunkにマージではなくって、ブランチを再統合するを選べばOKだよ。詳しくはtortoiseSVNのヘルプの4.20ブランチの再統合を参照してね。
尚、Bの変更内容だけを抽出したいなら、trunkの変更をBにマージした時点でのBとtrunkとの差分をとればBの変更が抽出できる。
ありがとうございます。
>>655 確かに、同じファイルを変更する可能性があるため、後から検証サーバに配置したものについて、
厳密に検証が行えなくなることは認識しています。
専用のブランチというのは検証用サーバと同じ状態にあると見なすブランチということでしょうか?
>>656 Aブランチの先端をリリース、Bブランチの先端をリリースという順で行うと、同じファイルを変更した場合に
Aブランチの修正が消えてしまうのではないでしょうか。
>>657 競合が起きるのは仕方ないと思っています。TortoiseSVNの統合をもう少し見てみます。
Bの変更内容は確かにおっしゃる方法で抽出できると思うのですが、検証サーバでの修正を
どこにコミットすればいいのかが分かりません。
trunk(検証サーバの最新状態)に入れた場合、Bブランチに入れた場合ともに、Bのみの修正を抽出
しにくくなると思っています。
1 検証サーバの状態を保つためのブランチ(test)をtrunkから作成
2 (Aを検証サーバにリリース)
Aをtestにマージ
3 (Bを検証サーバにリリース)
Bから作業ブランチBsubを作成
Bsubにtestの変更をマージ
Bsubをtestにマージ
なども考えてみたのですが。。
もう少し考えてみます。
>>658 本番サーバと違うことを検証サーバでしようとするからおかしくなる。何のための検証サーバか。
開発スケジュールとリリーススケジュールがずれるのはいいとしても、
リリース時の手順はしっかり合わせた方がいい。
>>658 もっと単純に考えたほうがいいんじゃないかな。
trunk 本番
ベータ版ブランチを作成。ベータ版フィードバックをベータ版ブランチへ、その後trunkへマージを繰り返す。
最終的にtrunkからリリースブランチを作成。
そろそろうざいな。 必要なAの変更とBの変更をブランチだかtrunkだかにマージすればいいだけの話だろ。 ブランチ作成後にtrunkに変更を入れるのかどうか知らんけど、 リリースに必要な変更を全てマージすればいいだけの話。 ブランチが足りないなら、さらにブランチ作って、不要になったら消せ。
>>650 基本的には、本番環境にリリースする単位で検証しなければいけない。
branch作成後にtrunkにA,Bと関係ない変更を行わないという前提で考えれば、
1. trunkでAの修正を行う
2. branchBを作成し、Bの修正を行う
3. Aの修正が終わったら、trunkを検証にリリース(なぜこれを先にリリースする必要があるのかわからない)
4. Bの修正が終わったら、branchBを検証にリリース
5. branchBを本番にリリース
6. それと同時に、branchBをtrunkにマージ
7. マージしたtrunkを検証にリリース
8. trunkを本番にリリース
つまり、検証には三回リリースしなければならないということ。
>>658 それぞれのbranchでの変更は、そのbranchにcommitしろ。
マージはそのbranchがfixしてからだ。
>>659 > 本番サーバと違うことを検証サーバでしようとするからおかしくなる。
客からの要望が
・A Bをやりたいがどちらを先に本番リリースするかは決まっていない
・どちらも本番リリースすることは確実なので、対応できたものから検証サーバに配置して欲しい
というものなので、そうなってしまいました。
>>661 はい、必要なブランチを作成して不要になったら消そうとしています。
>>660 >>662 ありがとうございます。もう少し考えてみます。
1.branchAを作って、Aの修正を行い、検証サーバにリリースする。 2.branchBを作って、Bの修正を行い、検証サーバにリリースする。 3.branchA、branchBをtrunkにマージし、検証サーバにリリースする。 クライアントの要求に従って、(1、3)あるいは(2、3)の順でリリースする。 リリースの順番が早く決まるんなら、もう少し手順は省略できるが、わからないならこれしかないのでは。
666 :
665 :2009/07/18(土) 22:34:05
どう実現するかを考えるのももちろん必要だけど、リリース順序をクライアントに決めさせる努力も重要。 文脈から、クライアントが行う受け入れテストの基盤を「検証サーバ」と呼んでるような気がするが、 リリース順序の決定が遅れる場合は、受け入れテストの工数が増大することをクライアント側に説明 しておく必要がある。二回の受け入れテストで済むものが、三回必要になるかもしれないということ。 まぁ、開発側も受け入れ側も、Aの検証を行い、Bの検証を行えば、AとB両方入れてもOKっしょ的な、 運を天に任せるというやり方でもいいけど。
そんなトロい客とSEは回帰バグで死んでしまえ。
どちらも最終的に必要なのに、どちらが先かわからないということは、同時に用意することになるんだね。 ならば、AB同時にやって条件ifで片方の機能を殺して提出する方が楽かもね。
669 :
デフォルトの名無しさん :2009/08/02(日) 09:23:05
先生質問です ノ svn:keywords=Revと属性を付けておくと$Rev$を置換してくれますが、 あくまで、このファイル自体が変更されたタイミングですよね。 で、このファイルに変更が無くても、他のファイルをコミットするときに 置換して欲しいんですが、そういう方法ってありますか? 希望する動作: a.txtは属性svn:keywords=Rev b.txtは属性なし b.txtを変更してコミット a.txtは変更していないが$Rev:$が置換されている リポジトリは共有フォルダ(必要があればsvnserveも変更可能)、 クライアントはTortoiseSVNです。
それくらい、バチファイルで組め
どっちかというと、変更して無いファイルをコミットするコマンドがあるのかに興味があるな。
変更すればいいじゃん
673 :
デフォルトの名無しさん :2009/08/02(日) 20:02:00
>変更して無いファイルをコミットする 単にタイムスタンプを変更したいってこと?
>>673 コミットログ書き忘れたときに簡単にログだけを追加したいと思うことがある。
>>674 svnadmin setlog でOK
677 :
669 :2009/08/03(月) 12:08:06
>>670 >>672 ・コミットはTortoiseSVNから
・チームで開発してる
・漏れを無くしたい(自動的に、確実に)
という状況/考えだったので、
クライアント側はTortoiseSVNの操作だけにしたいな、と思いまして。
私だけならバッチで良いんですけどね。
ちなみに目的は、各環境のDB構造のバージョンアップ(alter文とか)
の際に↓のようなsqlを最後に流して、
その環境に、どのrevまでの変更を適用したか
より確実に残しておきたかったんです(今は手動でrevを書き換えてupdate)。
--rev.sql--
insert into upd_rev(dt,rev) values(now(), '$Rev: 0 $');
とりあえず、フックスクリプトで出来るかやってみようと思います。
>>674 たまにそれやって空行追加して再コミットしてるw
過去の内容変えるとsvnの差分バックアップとか
svkのミラーリングに入らないしね。
>>677 rev.sqlのヘッダ部分に日付を手作業で入れておく。
他のファイルを修正したとき、rev.sqlのヘッダ部分の日付をその日に変更してコミット。
これでrev.sqlには常に最新のリビジョンが入るよ。
そゆのって、チェックアウト側でやるもんじゃないの? チェックアウトして svnversion でリビジョンを取得して、 rev.sql を自動的に書き換えて DBに流し込む
>>677 ログが空ならコミットさせないようにすればいいじゃん
682 :
677 :2009/08/03(月) 19:29:22
>他のファイルを修正したとき、rev.sqlのヘッダ部分の日付をその日に変更して
ここが自動でないなら、今まで通り手動でRev入れるのと大差無いので。
>>681 空でコミット流石にしないかな。書き忘れたことがある場合ね。
フックスクリプト試したけど、
pre-commitだとトランザクション名指定して内容書き換えるの無理っぽいし、
post-commitなら変更出来るだろうけど毎回2コミットになって論外・・・。
クライアントフックスクリプトじゃメンバーやPC変わったときに設定忘れてオワル危険があるので除外。
683 :
677 :2009/08/03(月) 19:32:54
頭が悪すぎる
頭悪くて申し訳ないけど、良い方法が有れば教えて頂けると助かります
いえ、クライアント側の設定不要で自動的に書き換わっている(=漏れが無い)のを求めていて、 置換自体は別に手間でないので。
ごはん食べずにお腹いっぱいになる方法、ありますか?
変えてないファイルのリビジョンをいじる必要があるのか考え直したほうがいいのでは?
690 :
デフォルトの名無しさん :2009/08/03(月) 21:08:35
>>677 よくわからないんだけど、
Excelで台帳作って、管理するとかじゃ支障があるものなの?
ねずみさんはひらめきました。 そうだ、猫の首に鈴をつければいい! ・・・で、いったい誰が?
管理はしたくない。 だって、管理し忘れたら意味無いだろ? ってことか。
693 :
デフォルトの名無しさん :2009/08/03(月) 21:26:16
個人的にはチーム開発ほどコミュニケーションが重要だと思う。 機械で自動化したからOKみたいな乗りだとちょっと怖いな。
打ってるんじゃない、打たされているんだ
>>682 あれ?
だから、書き忘れないように空コミットを防ぐスクリプト使えばよくね?って話で。
もしかして書き忘れって部分的な書き忘れ?
そんで、本題の方だけど、DBに新しいレイアウトを適用した人が責任を持って設定するのではダメ? もしくはalterなりなんなりのスクリプトをコミットするときにバージョン情報も更新するスクリプトを変更するようにするとか。 *.sqlがコミットされた場合に、version.sqlも一緒にコミットされていなければはじくスクリプトとかできるよね?
それを忘れた場合が困るんじゃね?
698 :
デフォルトの名無しさん :2009/08/04(火) 00:31:25
実際のDB環境環境と作業頻度みたいなのイメージがわかないから解らないが、ぶっちゃけどんぐらい大きさのなんだよ。 DB更新先が、10,000箇所とかあって、作業員も100人以上とかで並行作業で困ってるとかなら同情するが・・・
>>687 逆の発想で、アップデート時にリビジョン入りファイルを出力するのはどう?
TortoiseSVNを使っているなら post-update フックが使えるよ。
>>699 >>682 >クライアントフックスクリプトじゃメンバーやPC変わったときに設定忘れてオワル危険があるので除外。
だって。
もうすべてきれいに忘れそうな勢い。w
しかも相手にしているのは小児病のメンバーってか?w
TortoiseSVN のマージで PEG リビジョンを指定するにはどうしたらいいのでしょうか?
703 :
デフォルトの名無しさん :2009/08/07(金) 13:26:04
704 :
デフォルトの名無しさん :2009/08/07(金) 13:29:18
>>702 マージダイアログでURLの後に“@番号”とつければいいのではないかと思います。
>>705 TortoiseSVN 1.6.4 で試しましたが、
「エラー: パス '/sandbox/!svn/bc/22/test/trunk@19' が見つかりません」
というエラーが出てきました。
1.6.4 アイコンの色合いとか微妙に変わったね
Windows Server 2003 VisualSVN Server2.0.5 Windowsのバッチファイルでsvnadmin等のエラーが発生したかどうか ERRORLEVELで判断することは可能ですか? svnadmin hotcopy if errorlevel 0 goto end if errorlevel 1 goto error svnadmin dump if errorlevel 0 goto end if errorlevel 1 goto error いろいろググってみましたがそもそも値が返るのかもよくわかりませんでした。
svnadmin が終了コードを返すのかどうかは知らないけど
>>710 は errorlevel の使い方が間違ってる。
まちがい
if errorlevel 0 goto end
if errorlevel 1 goto error
正しい
if errorlevel 1 goto error
if errorlevel 0 goto end
他のやり方その1
if %errorlevel;%==1 goto error
他のやり方その2
svnadmin hotcopy || goto error
くわしいことはバッチファイルのスレで質問して
712 :
デフォルトの名無しさん :2009/08/11(火) 13:45:53
フックでハマタ\(^o^)/
http://subversion.tigris.org/faq.ja.html > どうしてリポジトリのフックが動作しないの?
> フックは、外部プログラムを呼び出すことを期待されているんだけど、
> その呼び出しが、全然生じていないよう感じだ。
>
> Subversion はフックスクリプトを起動する前に、全ての環境変数を取り除く。
> その中には、Unixでは $PATHが、Windows では %PATH% が含まれる。
> 結果、スクリプトでは、絶対パス名の記述された他のプログラムだけを実行可能だ。
アドレスだけでいいから、テンプレに入れといて。
どおりで、PYTHONPATH設定しているのに、フックから見えないはずだな!
そんなことcrontab書いたことがあれば当たり前の話な訳だが。
svnのフックはcrontabじゃないわけだが
>>714 類似性に気付かないあたりが経験不足だな。
自分で痛い目に遭ったし人が痛い目に遭ってるのも見てるから、
crontabを挙げたくなる気持ちはよくわかる。
crontabもまあ似てるけれど、cgiの方で引っかかる人も多くない? apacheはどのユーザとして動いてんの?っていうの。 広げてもしょうがない話ではあるけれど…
Windowsなら、 ユーザーの環境変数は使用できないけれど、システムの環境変数は使える ってのが普通に予想される動作だろう 全ての環境変数を取り除くなんてのは、当たり前の動作じゃない
間違って変なものが動いてしまわないようにするのは良いことじゃん。
当たり前かどうかは人それぞれだと思います。
当たり前でない人のために、次のテンプレに
>>712 を入れるのがいいと思います。
環境変数に依存するのもどうかと思うよ。
システムの環境変数ってのも改めて考えてみると気持ち悪いな
そう?/etc/profile も嫌?
環境変数って結局グローバル変数だよ。 どこで誰が書き換えたかわかったもんじゃないし
プログラム側でPATH=/binとかいちいち指定するつもりか
環境変数は親から子へしか伝播しないのだからグローバル変数ほど悪くないよ
気持ち悪いなと思ったのは
/etc/profile とかって確かにシステムワイドではあるけど
sh がそれを読み込むというだけだし
だったらログインシェルがないユーザだと
どーなんかと
「システム」の環境というのとはちょっと違う気が。
あとまぁ
>>723 みたいなグローバル変数的なとこが気持ち悪いな。
>だったらログインシェルがないユーザだとどーなんかと これ解らないで口出すとかネタだよな? UNIX系じゃnologinのユーザ作ることあるけど その場合の動きが解らんと言う事か?
svnで直前のコミットを取り消すにはどうしたらいんでしょ。 ファイル自体は元にもどしたくありません。 コミットした後で、いくつかのファイルが保存されていないことに気づいたのです。 git commit --amend みたいなものです。
取り消したいファイルだけコミットし直せ
>>728 よく有る話だけど、あきらめて残りをコミットしてログに「前のリビジョンとセットです。スマソ」と書いておけばいいんじゃないかな。
リポジトリのcurrentってファイルに書かれてるリビジョン番号を戻せば可能ではあるけど 非常にオススメできない。
極端な話、取り消すことができたとしても間違えて取り消したら取り返しの付かないことになるからね。あまりそういう機能は欲しくないな。 どうしても消したいなら、落ち着いてdump&loadするしか
ログインシェルが指定されてないユーザならshとか標準のシェルが呼ばれるだけだろ (中身はcshやbashだったりするけど)
>>727 まさに nologin とか false だとどうなるんだろうと思ったのです
その場合 /etc/profile とか読まれないのだと思ってたけど
もしかして恥ずかしい勘違いだった?
>>729-732 サンクス
gitやhgだとできたけど、svnではできないのか…。なるほど。
とりあえず、
>>730 みたいに「すまそ」って書く方法でいきます。
BTSと連動はさせているから、チケットはコミットと複数関連付けできるし、問題ないのかもしれない。
ちっちゃいプロジェクトがいっぱいある会社には不向きだな
大変、困ったことがありまして、相談いたします。 以前、プログラムミスで (省略)\trunk\hoge\ というディレクトリを作るつもりで、 単体のファイル (省略)\trunk\hoge を生成して追加コミットしてしまいました。 その後、間違いに気づきそのファイルを消してコミットしました。 そして、'(省略)\trunk\hoge' というフォルダを再度作り追加しようとすると、 TortoiseSVNにて、 > '(省略)\trunk\hoge' > は、異なる種別のノードに置換できません。'(省略)\trunk\hoge' > を追加する前に、削除をコミットして親ディレクトリを更新しなければいけません と言われて、hogeディレクトリとそれ以下のファイルを追加することができなくなってしまいました。 すでに、削除してコミットはしてあります。 リポジトリブラウザで見ましても、'(省略)\trunk\hoge' というファイルは見当たりません。 もしかして、svnではかつてあった同名のディレクトリを追加することはできないものなのんでしょうか?
>>737 ファイルの削除を、ファイル単体でコミットしたんじゃないかなー?
trunk を一回最新に更新したらいけるかもね。
739 :
738 :2009/08/17(月) 14:22:35
>>737 あー、エラーメッセージの「親ディレクトリを更新しなければいけません」で言われてることだねぇ。
>>737 ワーキングディレクトリを更新するか
リポジトリからチェックアウトし直してみてください
741 :
737 :2009/08/17(月) 15:01:00
>>738-740 親ディレクトリ更新したら、すんなり無事にいけました。
って、ちゃんとエラーメッセージに書いてあるじゃん!!… orz
ともあれ、皆さんありがとうございました。
>>738 そのとおりのようでした
SVN リポジトリからチェックアウトできるオープンソースプロジェクトの ソースコードを自分のリポジトリのベンダーブランチにコピーしたいのですが ファイル属性を含めて簡単にコピーする方法はあるでしょうか?
>>742 ベンダーブランチに相手のリポジトリからマージ
リポジトリの位置が変わったらコマンドが使えなくなっちゃったんだけど スマートに変わったよって.svnに教えてあげるコマンドって何かありますか?
>>744 多分、svn switch --relocate
たしか svn switch --relocate ほげほげ して svn switch はげはげ じゃなかったかな
Tortoiseの再配置/Relocateで行けそうです。 ありがとうございます。
TortoiseSVN 1.6.4の「競合の解消」変じゃね? 実行しようとするとウィンドウ出るけど、固まるよ。
749 :
デフォルトの名無しさん :2009/08/19(水) 16:24:23
Xcodeでsubversion(SCM)をつかうとき ブランチをどのようにすれば切ることができるのでしょうか
>>743 ありがとうございます。
svn merge にそういう機能があることに気づきませんでした。
これならベンダーブランチも必要なさそうですね。
>>749 出来ますよ。
「SCM」「リポジトリ」でリポジトリパネを出して、
対象を選択後ツールバーの「コピー」ボタンをクリック。
754 :
デフォルトの名無しさん :2009/08/23(日) 00:39:04
svnコマンドを使わないで削除されたファイルに自動的に 削除フラグつける方法ってある?
>>756 tortoiseSVNならできるけど、コマンドラインは知らない。
>>757 "Check for modifications"してText statusでソートして
まとめてフラグをつけるとかそんな感じですか?
うちは未だに1.4系で運用してるからTortoiseSVNの機能も足りなかったりして。
ただ、出来ればコマンドラインでやりたいんですよね。
ファイル数がすごいあって、合計サイズもGBオーダーなので亀だと
CPU100%のまま固まってしまったりするし・・・。
>756 svn rm | `svn st|grep "\!"`
パイプの使い方間違ってないか? それに仮に文字列がrmコマンドに わたってもステータスをあらわす"!"も入ってしまうと思うんだ
そもそも > svnコマンドを使わないで て書いてるな
762 :
756 :2009/08/28(金) 01:32:37
>>761 ごめん、書き方悪くてとんちみたいになってるね。
そもそもsvn rmって消えてしまったものには使えないという先入観が
あったんだけど、試してみたら出来るね。というわけで、759みたいな
アプローチなら大歓迎。Windowsでもいけるとgoodだけどawkとか
駆使すれば出来るのかな・・・
句読点ぐらいちゃんと付けようぜ。
>>762 Cygwin入れれば普通にシェルコマンド使えますよ。
cygwin 使っていいなら普段はこんな感じでやってるな ファイル名に空白が入ってるとダメだけど svn st | awk '/^!/ {print $NF}' | cygpath -m -f - | xargs svn rm (cygpath 入れてるのは cygwin 版じゃなくて普通の win 版の svn コマンドでも動くように)
>>762 昔ならともかく、最近はWindowsの
コマンドラインも捨てたものではないが。
w
totoiseSVNの拡張コンテキストメニューにあるマージの再統合の使い方が分かりません。 実行しても何も変化がありません。ブランチの再統合との違いも分かりません。 正しい使い方を教えてください。
>>766 findstrで正規表現も使えるし、forではコマンドの出力使えたりするしね。
MS-DOS時代の印象で語っている人が多いよね。
でも、PowerShellは標準にして欲しかった。
確か 7 から標準でのるよ > PowerShell v1 が Vista とほぼ同時期だったからタイミングの問題 だったんだろう
PSは複雑すぎる重すぎる cmdの構文をまともなセンスで拡張した奴で十分なのに
772 :
デフォルトの名無しさん :2009/08/28(金) 23:57:41
PowerShellは重いからいやだとかじゃないだろ。 そんなやからはbashもまともに使えないのでは? cmdは、あまりにも低水準すぎるし、WSHだと偏りが大きい。 手軽に使える+奥深いのものと+オブジェクト指向的な要素も追求すると PowerShellとかCompiler as Serviceとかになるんでないかい? .NETのクラスライブラリを知ってる人間的には良いソリューションだと思うよ。
今時の高級言語から入った人ならすんなりいけるんじゃないの。
だったら高級言語で書けばいいやん
重いって言葉はよく聞くけど具体性のかけらもない
起動がまず重い。ngenしてもひたすら重い。 動作もdirからして糞遅い。 遅い遅いといわれてるrubyが羽が生えたように軽やかに感じられるよ。
777 :
デフォルトの名無しさん :2009/08/29(土) 01:01:31
重くて問題になるような部類はコンパイルして実行するタイプを選ぶべき。 シェルは遅くても手軽さの方が重要でしょ。
w
軽くて手軽なのがあるじゃん
780 :
デフォルトの名無しさん :2009/08/29(土) 17:03:25
ここはSubversionのスレですが、 MSはSQLServer2008からPowerShell搭載対応したし、 Windows7以降はShellとしてのいわゆるコマンドプロンプトやWSHは互換用に残す だけでしょ。 コマンドプロンプトのみで仕事が成り立つわけではないのだから、PowerShellで も学んでみたら?
どんなに高機能にしたところでシェルなんだからユーザーとの対話を第一に考えて欲しいな。
フロントエンドはテキストだけど、内部や パイプとかにはオブジェクトが存在すると いう、斬新なシェルだからな。 みんなが使いこなせるものなのかは 未知数だと思う。 どうなっていくのか、ちょっと楽しみ。
シェルの話は他でやれ
すまん、一応Subversion絡みということで…。 Subversionリポジトリを読み書きできるPowershellプロバイダがあればなんか便利そうな気はする。 Subversionに限らず、他のVCSのリポジトリでもそうなんだけど。 あとはパイプライン出力がPowershellオブジェクトにできれば面白いが。
>>784 svnのAPIがあるらしいけど仕様が見つかんね
786 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 17:51:56
PowerShellは周辺のコマンド類がオブジェクトの入出力に対応してくると 高級言語でコーディングが不要になるよな。それを扱うスキルは必要だけど。 将来どの辺まで結合してくるのかは楽しみだな。 ところで、Subversionを活用したファイルシステムって無いの? 勝手にコミットしてくれて、いつでもリビジョンごとに引き出せるようなもの。 運用方法はともかく、エンドユーザ的にはそういう部類のほうがわかりやすいんだけどな。
ボリュームシャドウコピーとかTimeMachineとかZFSとか
subversionなんぞをそのままファイルシステムにリンクさせたものなんぞ
使いにくくてしょうがないわな。大量のファイルを扱う場合の性能も
イマイチだしボリューム全体をこの仕組みにしたらとか想像すると怖すぎる
まぁ、gitとかでも十分遅いけどな。
>>787 が書いている様なリビジョンを
管理する別のアプローチが必須だよ
svkの質問もここでいいだろうか?
いきなりsvk syncに失敗するようになったんだけど、こういうときは
どうすればいい?
% svk sync //mirror/hoge
Syncing
https://example.com/repos/hoge Retrieving log information from 1205 to 1220
Transaction is out of date: '/mirror/hoge/fuga' is out of date
>>789 調べてみたところ、out of date = needs to be updated らしいです。
updateをかけてみるとどうでしょうか。
>>790 すいません、「updateをかける」というのがわからないです。
svk update はcheckout copiesに対する操作なのでミラーとは
関係ないですよね。試しにやっても
% svk update //mirror/hoge
path //mirror/hoge is not a checkout path.
と言われるだけだし。
>>791 すいません、検索して出てきたので
svkを使っている人ならわかるかと思って書きました。
svk syncって上流からミラーに持ってくるやつですよね。
ミラーがout of dateということは、
上流からミラーに持ってくる前に
作業用ブランチからミラーにコミットしちゃった、とか?
検索しても同様の事例は出てきません。
良くわかっていませんが、上流、ミラー、作業用ブランチのログと構造を
svnで見て、不整合が起きていないか確認するとか
作り直せるならミラーの作成からやり直すとか、だと思います。
>>792 「svkを使っている人ならわかるかと思って」というのは、
私はわかっていませんでしたが、ひょっとしたら
svkを使っている人に言えばわかる内容なのかも
と思ったということです。
言葉足らずですみません。
>>792 結局あきらめてミラーしなおしました。つきあってくれてありがとう!
ttp:// ~~~~~~
左端の1文字が欠けてるけど、
http:// だよな?
だったら普通のダウンロードソフトなら何でもいいよ。
ただ、svnと指定してあるんだからsvnで取得したほうが
いちばん手間がかからないと思う。
直リンになってリファラがつかないようにだとかの理由でhを抜くという慣習もあるのだよ まあどのURLにやってどれにやらなくていいとかよく分からんが
>>796 あんたみたいな人のためにViewVCで用意してあるんだ。
安心してWebBrowserでアクセスしてみてくれ。
ブラウザでアクセスできるだろw プログラム板でファイルをちまちま一つずつダウンロードしろとか言うのかw
>>797 昔、2chの転送量が危機的状況になったことがあって、
少しでも文字数を減らすためにリンク抽出されてアンカー
になるのを回避するためhを取るのが習慣になった、
と聞いた。倍以上になっちゃうからね。
転送量問題の時は、ばりばり掲示板スクリプトに手を入れてたから、 それが問題なら運営側でリンク抽出を止めてるよ。 抽出されたリンクがime.nu経由になるようにスクリプトが変更される前、 リファラで2chのスレだというのがバレるのを防ぐために、リンクに ならないようにhを抜いたのがh抜きの由来。
個人的なページなんかだと、2chなんかにURLが貼られたのがわかるとガクブルしちゃうから。
なんかの嫌がらせだと思ってたがいちおう意味があったんだな
さすがに「嫌がらせ」って意味にとった人は初めて見たわ…
いちいちコピペしてhを追加しなきゃいけないし、 (専用ブラウザ使ってないと) 嫌がらせと言えば嫌がらせととれなくもない。
807 :
797 :2009/09/09(水) 16:31:00
>>798 >>801 いやそういうことじゃなくて、
http:// で恥まるってことは、ふつうのブラウザで見れる、
普通のダウンローダで落とせる、ってことを言いたかっただけ。
http:// という単語を見ただけで、そう気づくべきだ、ってこと。
世間ではime.nu≒2chと見なされてるから意味なし
Firefox に ttp ってプロトコルを http として認識させるほうほうないかなぁ。
2chだけならともかく、板やスレまでわかったからな。
嫌がらせ目的で貼られたURLはブラウザなどに妙なソフトで小細工をして そのスレのURLがRefererになるようなアクセスする人が一人二人は必ず来るから ime.nuなんて無意味w
xampp 1.6.8でインストール後 workspaceの指定し mysqlのエンコードを設定後 bin/httpd.confに LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 追加すると apacheが立ち上がりません イベントビュアーで確認をとったところ 上記書き換え行のシンタックスエラーがでてるみたいなのですが subversionを使うには他に何か操作する必要があるのでしょうか? OSはXPSP2です ソフトはサクラエディタです ファイアーウォールはウィンファイアウォールです
>>814 「シンタックスエラー」が出てるなら直せばいい
直せなくてそれを聞きたいならそのエラーを詳しく書かなきゃ助けられない
よな?
無知なのにわざわざ答えてくださらなくても結構だったのですが…
つまらない煽りだ
シンタックスエラーの意味を知らないんだろうね。 ひどい話だ
もう終わらせようぜ、この茶番。
インストールした xampp には Subversion が含まれていない。
Subversion がインストールされていない、入っているなら該当の2モジュールが
Apache のモジュール置き場にコピーされていない。
とにかく、しかるべき場所にファイルがコピーされていない。
>>815 がわざわざ分かりやすいサイトを提示してくれているのに、そこに反応が
無い以上
>>814 は readme などドキュメントを読む習慣を身につけるべき。
822 :
814 :2009/09/10(木) 16:00:52
質問ですが,大きくなったレポジトリ(数GB)を小さくする方法はありますでしょうか? よろしくお願いします.
svnadmin packで、ディスク占有量は減らせるかーもね!
>>823 特定の範囲または最近のりビジョンを残して消したいならsvnadminで必要な範囲をdumpしてload
ツリーを消したいならsvnadminでdumpしてfilterしてload
827 :
デフォルトの名無しさん :2009/09/14(月) 07:52:55
クライアント側の話です。 Windows XP + TortoiseSVN 1.6.5 で、大量ファイルをインポートや、 大量ファイルをチェックアウトするとエラーで途中で止まりませんか? チェックアウト時は「200 OK」という名のエラーで止まってしまいます。 心当たりある方いたらヒントください。
・アップデートすると途中で止まってcleanupしろと言われ ・ロックされててcleanupできず ・パーミッション変更してcleanup という状況にはよくなる
829 :
デフォルトの名無しさん :2009/09/14(月) 08:32:27
rm: cannot remove `リポジトリ': ディレクトリです
su しとくの忘れんなよ。
sudo rm -rf /
おまえらマジにやるやつがいるからやめとけよ。
>>829-833 みたいなことやると、データが消えるから気をつけろよ。
確かに消せばリポジトリは小さくなるけどな。
開発機じゃなくて、本番機でDBを消してしまった馬鹿なら知っている。 まぁ、割とよくたまに聞く話だがな。
>割とよくたまに聞く どっちだよw
837 :
デフォルトの名無しさん :2009/09/14(月) 15:56:18
SubversionのBackupって通常どんな感じでやってるんだろうか
昔Delete文のWhere句を入れ忘れて流して真っ青になったことがある
>>836 まれによくある、の逆かと思ったけど違うな
840 :
デフォルトの名無しさん :2009/09/14(月) 19:57:47
だんぷせずにそのままばっくあっぷだよ
843 :
デフォルトの名無しさん :2009/09/14(月) 21:38:16
レポジトリをtgzするよりはdumpをgzipする方がいいんじゃない? あとgzipするときはdeltaしない方が縮むんだよな、確か
svnadmin hotcopyで週一くらいでバックアップしてる。
ダンプは途中が腐ったりするからhotcopy+gzipがいいんじゃないの。 一人で使ってるならcpでもいいんだけど。
846 :
デフォルトの名無しさん :2009/09/15(火) 01:02:32
hotcopy+zipがいいのか。 障害とか考えたらSubversionを2代以上用意してシンクロがいいのかもな
hotcopy + tgz + scp
このスレでもバックアップの話題、何回か出てなかったっけ?
>>838 俺もあったww テスト環境で助かったけどw
壊れたリポジトリがコピーされたら困るのでバックアップをsvnで世代管理…
>>850 ダンプイメージをgitで管理してますがなにか?
dumpをバックアップって無意味にでかくて無駄かと思ったけど、 よく考えると、dumpをsvnで保存すれば差分しか増えないし圧縮がかかるからむしろ効率がいいのかもしれない。
853 :
デフォルトの名無しさん :2009/09/18(金) 14:54:46
ではバックアップをダンプしたものはどうやって管理すればいいの?
バックアップリポジトリをダンプする必要は無いでしょう。
>>827 サーバ側のhookで何かエラーなり出てないか?
パスワードが平文で保存されててワロタw しかもイデオロギー的な理由で直す気ないとか知って小便もれたw
subversionってパスワードあった?
あるよ。 平文でなんの問題があろうか、と思うけどな
~/.subversion/auth/svn.simple に記録されるものことかな?
セキュリティーと、アクセス制限の区別が付いてない?
Subversionって、公開してセキュリティもきちんとしたいなら、 フロントにApacheたててそっちでやれって思想だよねぇ?
subversionってツリーに対してユーザー別にコミット禁止とかチェックアウト禁止とかできないのかな やっぱりリポジトリ単位でしかできないのかな
リモートで管理できるようにしちゃうんなら、 どっちにしても SSH が必要になるから、 じゃあ SSH に全部任せればいいじゃん、ってことでは?
sshだと遅くなるのがなぁ
svnserveってもともとおまけみたいなもんだったんだろう ソースとか見てるとそんな気がする でもApacheの設定は難しいからな
>>862 どこまで望んでるか知らないけど、svnserveのユーザーまたはグループに対して、ディレクトリ毎に読み/書き の権限設定くらいなら出来る。
>>867 読み書き権限で十分です。svnserveを読み直してみます。
特定の属性値を持つファイルを検索する方法ってありますか? 具体的にはsvn:keywordsにIdやRevisionではなく、20090722とか、main_menuとか入ってるものを探したいのですが。 svn:keywordsの用途を勘違いして、盛大に自分用キーワードを設定した人達がいるので…。
>>869 svn propget -R svn:keywords . | grep ...
871 :
869 :2009/09/22(火) 20:04:25
>>870 出来ました!! ありがとうございます!!
>869 >svn:keywordsの用途を勘違いして、盛大に自分用キーワードを設定した人達がいるので…。 ワロタ。 できるかどうか確認してないけど pre-commit フック使って変な svn:keywords が入っていたら はねるのも一つの手じゃないかな。
873 :
869 :2009/09/22(火) 21:36:48
>>872 たまたまアプリのユーザIDや日付を扱うソースを書いた人が、本来の用途でsvn:keywordsにId Dateをつけ、
それを見た別人が「ほうほう。キーワードはこう使うのか」と勘違い → それが周囲に広まる、という流れでしたw
pre-commitフック良さそうですが、一応周知して、さすがに2度目はないかと思うので、今回は見送ろうと思います。
ありがとうございました。
subversion インストールして 失敗したので素のコマンドでrmしたら svn co すると、 svn: xx is already a-working-copy-for-a-different URL と言われてしまいます。 解決策はありますでしょうか? ネットを検索してみたもののこんなあほなことをした人はいないようでした。。。
>>874 エラーメッセージのとおりなら、作業コピーをまるごと削除してからやりなおせばいいだろ。
svn update でもしてみたまえ
>>875 ,876
アドバイスありがとうございます。
説明不足でした。
英語版を取得してしまったので日本語版に切り替えたいのです。
何もないまっさらな状態にして別のURLから取得したいのです。
>878 そうですよね。 svn cleanup もしてみましたがダメでした
881 :
879 :2009/09/23(水) 15:57:56
>>880 いえ、違います。
875は私ではありません。
( _,, -''" ', __.__ ____ ハ ( l ',____,、 (:::} l l l ,} / \ ハ ( .', ト───‐' l::l ̄ ̄l l │ ハ ( .', | l::|二二l | ハ こ .| ( /ィ h , '´ ̄ ̄ ̄`ヽ | ハ や │ ⌒⌒⌒ヽ(⌒ヽ/ ', l.l ,' r──―‐tl. | ハ つ │  ̄ ', fllJ. { r' ー-、ノ ,r‐l | ! め │ ヾ ル'ノ |ll ,-l l ´~~ ‐ l~`ト,. l | 〉vw'レハノ l.lll ヽl l ', ,_ ! ,'ノ ヽ ____/ l_,,, =====、_ !'lll .ハ. l r'"__゙,,`l| )ノ _,,ノ※※※※※`ー,,, / lヽノ ´'ー'´ハ -‐'"´ ヽ※※※※※_,, -''"`''ー-、 _,へ,_', ヽ,,二,,/ .l  ̄ ̄ ̄ ̄ ̄ `''ー-、 l ト、へ
884 :
879 :2009/09/23(水) 16:41:10
.svnを削除したらできました。 あまり正しい方法でないような気がするのですが。。。 真面目に答えてくださった方ありがとうございました。
885 :
879 :2009/09/23(水) 16:42:40
>>883 すみません。作業コピーの概念がよく分かっていません。
svn delete で削除できるもの、 ということでしょうか?
svnのコマンドググって探せよ svn switch
888 :
879 :2009/09/23(水) 17:04:04
>>887 svn swich も試しましたが
うまくいきませんでした。
どううまくいかなかったんだ? つづり違ってるけどちゃんとうったよな?
890 :
879 :2009/09/23(水) 17:12:08
>>889 シェルのログとってないので分かりません。
すいません。もちろんswitchで打っています。
とりあえずこの話はなしにして他の話題をどうぞ。
なにがしたいのか、なにをしたのか、どうなったのか、 これが説明できないようなら、もう相手する必要も無い。
俺は吸うよ。それでも吸うよ。
なにこれひどすぎる
894 :
デフォルトの名無しさん :2009/09/25(金) 01:02:20
SubversionはLinuxで運用する派が多いんだろうか。
わかんないけど、俺のまわりではクライアントはWindows。 リポジトリはWindowsのファイル共有の上か svn+sshでつないでLinuxサーバの上。
svn+sshでレンタルサーバをリポジt・・・ げふんげふん
exportしないでcoしたんだろ。
公開してるディレクトリで余裕で作業してます。
普通にWebページをバージョン管理してて、サーバーにミラーしたんでしょ。 テキストベースのCGIとか埋め込みphpとか丸見えだね。
これはひどいセキュリティホールだな。 gitあたりに乗り換えたほうがいいのかな?
・アクセス制御くらいしとけ ・そもそも漏れて不味いようなもの置いとくな バージョン管理ぜんぜん関係ねぇし。
バージョン管理するとセキュリティホールになる危険があるので、 弊社ではバージョン管理を禁止しております。
>そもそも漏れて不味いようなもの置いとくな 意味分からん
>>897 Webサーバ公開するときは「.」で始まるファイルは全部非公開にするのが俺のジャスティス。
mod_svn管理下だけ除外。
hogehoge.php はtext-baseに hogehoge.php.svn-base として保存されます。 つまりもう埋め込みPHPとしては処理されません。ので、phpがそのまま読めます。 CGIもSSIも同じです。 > バージョン管理ぜんぜん関係ねぇし。 はちょっと言い過ぎかも。
Subversionで管理しているHTMLをサーバーにFTPでアップするのが面倒だから サーバーの公開ディレクトリでsvn updateできるようにしようとしてた俺が来ましたよ。 確かにそのままにしといたらアクセスされるよね。
910 :
907 :2009/09/25(金) 17:54:08
>>909 俺のサイトは既にそうなってる。シェルスクリプトで書いたCGIでsvn update。
アホは転覆開発者だろ。 こういう凡ミスを誘発させるシステムは 根本的な設計に問題がある。
一番怖いのはやっぱりPHPですかね? PHPでDBアクセス、しかもDB直接外部アクセス可能にしてたりすると、 データごっそり持って行かれちゃいます。
それは普通に不正アクセスだろ
日本では公開を意図していないが公開されているファイルを見るのがすでに不正アクセスじゃなかった? ノーガード戦法ですか?
とりあえずうざかろうがデフォルトで.つけるのやめろ それで被害は半減する
ACCSのことを言ってるのですが?
法律はこの板ではどうでもいい話だ そんなものはコードの流出を守ってくれない
.svn や CVS くらいはじけよ。 どんだけ安い運用雇ってんだよ…
俺がそうだから言うけど、Mac OS X ユーザはかなりヤバイ。 .svnはFinderから見えないからね。 しかもフォルダごとドラッグ&ドロップしてアップロードするようなFTPクライアントがほとんど。 何を間違ったのかMacはデザイナー用らしいのでWebデザイナーの使用率も通常ユーザーよりも大きいかもしれない。 最近のバージョンだとsubversionがプレインストール状態。 しかも、こういうことには無知、無関心。 委託してるところは確認した方がいい。
>>921 いや、デザイナーからもらうファイルをそのまま全部見えるところに置くなよ。
彼らからもらうファイルに余計なゴミが混じってるのなんて常識じゃん。
Turbo かどっかの鳥の Apache はデフォルト CVS へのアクセスが Deny で 構成されてたような気がする。てか制御ファイル/制御ディレクトリへの アクセス禁止なんて常識かと思ってたが、びっくりしてるバカが多くてびびった。
どう見てもお前さんが一番救いようがありません
なんか Apache のディレクトリインデックス騒ぎから一世代変わっただけって感じ。
>>912 凡ミスを全く誘発しない、素晴らしい
バージョン管理システムを是非とも
御教え下さいますように宜しくお願い
致します。
ていうか、作業ディレクトリをリリースするなよw
公開ディレクトリ=作業ディレクトリってめっちゃ不便そうだよな なんでそんなことするんだろう
>>928 他で開発して、アップロードの代わりに更新するんだよ。
>>913 phpファイルに直接パスワード書いてたりするとヤバいよね。
>>929 なるほどねw
確かにそれは楽そうに思えるw
バージョン管理ツールを使っていても、プロモーション管理が出来てないってことだな。 ちょっと便利な共有フォルダぐらいにしか使ってないんだろ。
拡張子 .bak を公開してる、ってのはよくあるよね。 <FilesMatch "^\.ht|\.bak$|\.inc$|\.dat$|\.svn$|\.csv$|\.ini$|\.conf$"> Order allow,deny Deny from all Satisfy All </FilesMatch>
hgのようにリポジトリのルートにだけ管理フォルダ作るってのも手ではあるよな
ああ、そっかなんかおかしいと思ったら、svnってwebアプリの公開用のpublic以下ディレクトリだけ 割り当てて公開して、安心ってわけじゃないのか。 構造上public/.svnとかもできるんだっけ…。めんどくせー gitとかhgとかbzrはその点、うpの変わりにリポジトリから更新でいんだけどな
別に Subversion に限った話じゃないと思うが、 普通、ドットファイルはデフォで隠さないか?
>>936 ところが隠さないんだよな、httpd.confのデフォでは…
つか、作業ディレクトリをそのまま公開するなんてありえない。 普通 svn export するでしょ。
普通とか常識とかが、いつも役に立つと思ってるんだね……
普通とか常識とかを無視して悲しい結果になったわけだから、役に立つんじゃね?
普通や常識は、学校では教えません。入試にも出ません。
チェックアウトディレクトリを公開して、.svnを隠す運用はありと言えばありな気はするけどなぁ 開発まっただ中の状況を公開するわけでもないんだし。
隠すという作戦がそもそもダメだろ。
なぜ?理由は?
隠さなきゃならないようなしかも不必要なものを置くなって話だろ
だれでもうっかりミスはある。 2重の安全対策しててもいいだろ。 万一、.svn やら .bak やらを公開サーバに「うっかり」アップロードしてしまっても httpd.conf などでブロックしておけば安心。(もちろん、カンペキでは無いが) それが、「隠す理由」なんだが。 複数人数で共同作業してればこれくらいやるだろ。 身内を信用しきってはいけない。
それは正しいけど
>>947 万が一のうっかりに備えて例えば
>>933 みたいなの置いておくって、駄目?
RedirectMatch 404 /\.svn/
フェイルセーフを用意するなら/.svn/検索して警告するスクリプト用意しろよと
それ以前にsvn exportするスクリプト書くべきじゃないか?
>>950 いままで DirectoryMatch で Deny してた。
なるほど、見栄え?ならそっちの方が見た目がスマートだ、
さんくす。
export は全ファイル対象になるから Web サイトみたいにファイル点数が多いと結構時間がかかる。 きっちり運用管理してる企業向けなら export が良いけど、内輪や零細や自宅鯖みたいな 更新中にどうせ止めもしないようなのは update で済ます。
>>951 検索して対応してる間にもアクセスは来るんだよ。
svn://というプロトコルで接続しなくちゃいけない必要に迫られたのですが、 これってポートの何番を使用しているのでしょうか? なぜかルータ越えで接続できないので、不思議に思いまして。
959 :
デフォルトの名無しさん :2009/10/05(月) 18:57:10
Subversionを使ってコミット/チェックアウトする時にpublicフォルダのサブフォルダのいくつかを 更新しないようにしたいのですが、そのようなコマンドはあるでしょうか。
あると思うよ
全部更新して、そのいくつかだけ特定のリビジョンに戻すしか思いつかないけど、 それが面倒だっていってんだよねきっと
コミットの方は設定の TortoiseSVN の除外パターンをいじったり コミットするファイルのみコミットするという方法がとれると思うけど チェックアウトはわからんなぁ
ignoreじゃ駄目なん?
管理したくないわけじゃないのかなと思うけど、主待ちだな
そういうのはGUIあると便利。subclipseとか。
それを使えばどう解決できるんですか
>>959 チェックアウト時にdepthオプションかなぁ
プログラム作ったら、それを配布用にパッケージングする方法 (ウェブアプリなら、公開用にアップロード、デプロイというのかな? )が 必要だろ?と思ったのに、その情報を調べてみても少ないってのが良く分かったわw みんな、.svnディレクトリが含まれた、作業ディレクトリをそのまま公開していたんだな。 Java関係ではMavenなんてのがあるみたいだが、これの汎用的な仕組みが 必要で、ソースコード管理ツールに内蔵されるのがいいんじゃないかな?
exportはあるけどarchiveはないのかな? git archiveみたいにtarとかzip出力するやつ
XCOPY で必要なファイルだけ(あるいは不要なファイルは除いて)一時ディレクトリにコピー ↓ 7z で圧縮 こんな簡単なこと。専用ソフトを使うまでも無い。 わざわざ本やWEBページつくって解説するほどの事じゃ無いだろ。 ・・・って言いたいところだけど、 簡単だからこそ、何も考えてないバカが.svnディレクトリまで公開しちゃうんだよな。 でもこんなバカはどんなツール使っても同じ。 根本的に、セキュリティ意識が無いんだから。 何を公開して、何を隠すのかは技術者が自分のアタマで考えないとね。 ツールまかせじゃイカンよ。
>>970 わざわざexportじゃなくてcheckoutの方使うのか?
お前の方がバカだわ
>>971 チェックアウトディレクトリから必要なファイルを抜き出してるんじゃないの?
ただ、一時ディレクトリにコピーする意味はわからん。
exportてあんまり知られてないのかな。
言葉がたりなかった。 開発用にチェックアウトしたディレクトリから〜に読み替えて。 あと、必要な修正がすべてコミットされているかどうかの問題もありそうな。
7zに公開用ファイルの一覧を渡すより、 一時ディレクトリにコピーする方が簡単だと思ったんだろ
リポジトリにコミットされていない作業コピーから.svn等を除いてアーカイブするコマンドが欲しいって話か。
なんで作業コピーをアーカイブする必要があるんだ
.svnだけを除くのならexportでいいんだよ。 ただ、プロジェクトが大きくなるとexportは時間がかかるから 差分だけexportしたり、差分だけ現在の環境に適用したい。 本番サーバーに設置する場合、開発版とは設定ファイルが違うことがある。 デスクトップアプリなら、コンパイルしてソース付きパッケージ、 ソース無しパッケージ。tar.gzとzipで公開。 それらを配布サーバーにアップロードまで自動化したいし。 自動的に夜間に勝手にexport->コンパイル->テストなんてこともしたい。 もちろんこれらのことを、シェルスクリプトを書いたりすればできるが面倒だろう? WindowsでもLinuxでも動くようにしたいと思うかもしれんし。
いやシェルスクリプトを使わないほうが面倒だと思うけど...
そもそも言ってる事がバカとしか思えん
>>978 設定ファイルの差異はQuiltとかのパッチ管理ツールでやるといいかも。
>>978 cronに
svn export
make
make test
を入れるのがそんなに面倒?
Windowsならタスクで
アホだな。 その make がクセモノなんじゃないか
くせものなのはお前のその脳みそだろw
>>983 なんでmake一発でビルドできない状態で開発してんのwww
なんだ自動ビルドツールと自動テストツールを導入するだけの話じゃないか
ビルド環境の構築をオマケみたいに考えてる人けっこう多いよね。
makefile の保守するくらいなら死んだ方がマシ
ant や nant(winなら)はダメかな?makeよりは保守しやすいと思うけど。
ソースコード管理ツールを知っただけで満足しているお前らが、 プロジェクト管理ツール(例Maven)を理解するのはいつになることやらw
このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
楽しいDEATH!
998 :
998 :2009/10/07(水) 17:55:44
このスレッドは997を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
嫌です
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。