Subversion r9 ..
[2ch|▼Menu]
577:デフォルトの名無しさん
08/04/23 16:45:39
TortoiseSVNで名前の変更をした場合

大文字、小文字のみのリネームは出来ません

って警告してくるんでそこで気付いてくれれば良いんだけどね

578:デフォルトの名無しさん
08/04/23 18:19:02
ソースファイルじゃなくてデータファイルなんかのときに困ね
テストを実行したら「ファイルが見つかりません」って大文字小文字違いかよ・・・みたいな

579:デフォルトの名無しさん
08/04/24 00:10:21
むかしWindows使いからやってきたjavaのソースファイル名がクラス名と大文
字小文字が揃っておらず、えらい難儀した記憶がある‥‥‥。



580:デフォルトの名無しさん
08/04/24 06:11:48
>>577
このメッセージは逆に紛らわしいと思う

リポジトリ側でも大文字小文字は区別されないのかと考えてしまうよ

581:デフォルトの名無しさん
08/04/24 09:29:39
>>580
ヘルプ読んでほしいなぁ……

582:デフォルトの名無しさん
08/04/24 12:26:47
TortoiseSVNはWindows専用のクライアントなんだから
そうするのが当たり前だと思うが
実際にそれをコミットしたらTortoiseSVNでチェックアウトすると
その部分でAbortが発生する


ヘルプはちゃんと読んでないのでどう書いてあるのか知らんけど

583:デフォルトの名無しさん
08/04/24 13:02:46
WindowsじゃなくてもFATをマウントしていたらどうなるんだ

584:デフォルトの名無しさん
08/04/24 13:22:36
>>580
>このメッセージは逆に紛らわしいと思う
いやべつに。
直接的な理由は言ってるし、それ以上厳密にしたってしょうがない。

585:デフォルトの名無しさん
08/04/27 03:29:41
trunk の一部を切り出して、管理の外で作業したいものがあるので、
tar でまとめています。

tar でアーカイブする時に各ディレクトリごとの .svn が含まれてしまうのを
避けたいのですが、何かいい方法はありませんでしょうか。

作業場所で解凍した後に、find hoge -type d -name '.svn' -exec rm -rf '{}' ';'
という解決策以外を探しています。



586:デフォルトの名無しさん
08/04/27 03:50:22
tarでアーカイブするときに.svnを除外する。

587:デフォルトの名無しさん
08/04/27 03:52:26
find の使い方分かってるなら、
tar に渡すファイルを find 使って指定すればいい。

588:デフォルトの名無しさん
08/04/27 03:55:57
サイズが小さいなら毎回exportでもいいんでは

589:デフォルトの名無しさん
08/04/27 04:03:19
>>586
最近のtarならtar cf --exclude-vcs foo.tar . だけだしな。

590:デフォルトの名無しさん
08/04/27 05:30:51
ありがとうございます。tar のオプション知りました。
あいにく 1.14 で古かったのですが

tar cz --exclude=.svn -f hoge.tar.gz .

find でファイル指定するのは
tar czf hoge.tar.gz `find . -type f ! -name '*/.svn/*'`
としてみて惨敗だったので。。

591:デフォルトの名無しさん
08/04/27 05:33:50
find . | grep -v '/\.svn/'

592:デフォルトの名無しさん
08/04/27 05:48:01
その手がありましたね。。find よく知らなかった頃は
いつもパイプで処理してたのに。。頭かたくなった。

ところで、今回の発端は、synbolic link で管理している
ファイルやディレクトリを windows 上では実体化して
作業したいというものです。
tar czhf hoge.tar.gz .

svn export で synbolic link を実体化してくれると
他の作業者に説明しやすくて嬉しいのですけど。



593:デフォルトの名無しさん
08/04/27 10:21:33
いずれにせよシェルスクリプト化するんなら同じじゃね?

594:デフォルトの名無しさん
08/04/27 18:22:08
あー、たしかに TortoiseSVN で複数行入力可能だけど、
ログみるときリストにはずらりと一行目が表示されるもんな・・・

一行目はサマリーか、参考になる

>>567
・Windows serverをやめる
・coLinuxか、andLinuxを使う

595:デフォルトの名無しさん
08/04/28 04:11:27
svn st で、特定の状態のもののファイル名だけ単純に一行に
ひとつずつ出してくれるようにできれば便利なんだけどなぁ。
いちいち出力を sed とか awk とかで篩い分けて xargs に渡して
って面倒。まぁ一度スクリプトを書いてしまえばいいんだけど。

596:デフォルトの名無しさん
08/04/28 08:15:37
そのうちxml queryができるようになるよ

597:デフォルトの名無しさん
08/04/30 17:09:41
Subversion 1.5.0 Release Candidate 4 Released
URLリンク(svn.haxx.se)


598:デフォルトの名無しさん
08/05/06 07:09:33
subversionのレポジトリってOS間で移動しても大丈夫ですか?
つまりいままでlinuxにあったレポジトリをwindowsのNTFSに
そのままコピーして使って大丈夫でしょうか?

マニュアルによると
Berkeley DBと違ってFSFSなら
プラットフォームに独立した保存形式ということなんですが。

599:デフォルトの名無しさん
08/05/06 08:04:31
余り薦められたもんじゃないけど、USBメモリにリポジトリを入れておいて
Linux端末に繋いでもWindows端末に繋いでも使えるから大丈夫でしょ。

600:デフォルトの名無しさん
08/05/06 12:32:31
どっかのサーバーに置いとけばいいんじゃないの?

601:デフォルトの名無しさん
08/05/06 13:02:02
サーバーに置けるんだったら、そのサーバーで Subversion 動かした方がよくね?

まあ、いろいろ制約があるのかも知れないけど。

602:デフォルトの名無しさん
08/05/06 13:16:21
>>598
Subversionのバージョンが大きく下がるとダメなことがあるかも。
壊れたりはしないけど「フォーマット新しすぎ」とか言われるはず。

svnadmin dump → svnadmin load が安全なのでお勧め。


603:デフォルトの名無しさん
08/05/06 17:10:43
>>602
それはワーキングコピーのほうじゃないかい?

604:デフォルトの名無しさん
08/05/06 19:34:26
>603

レポジトリもどっかで非互換になった気がする...もう記憶の彼方だけど...


605:599
08/05/06 19:47:17
あー、>602は経験ありますよ。確か、cygwinのクライアントが古くて読めなかった。
勿論、更新して回避。今はcygwinのsvnじゃなくて本家サイトから落としたのを使っているけど。

606:デフォルトの名無しさん
08/05/06 20:07:40
>>603
レポジトリにもバージョンがある (format に書いてある) ので、
バージョン間で非互換の部分があるかもしれない。
(俺は見たことないけど。)

ので、安全を期すなら >>602 の言う通り dump - load が確実。

607:デフォルトの名無しさん
08/05/06 20:35:07
.svn/entries がxmlじゃないフォーマットになったけど、
その仕様ってどっかにある?
本家のDocumentとかみたけどAPI使え的なのしか発見できなかった。

608:デフォルトの名無しさん
08/05/06 22:28:27
>>603
つ svnadmin dump --help

609:598
08/05/07 00:33:38
svnadmin の dump load 知りませんでした。
これ使ってみます。ありがとうございました。

610:デフォルトの名無しさん
08/05/07 02:02:03
>>600
LinuxのサーバからWindowsのサーバに移動するというケースも忘れてはならない。

611:デフォルトの名無しさん
08/05/07 02:19:36
>>607
全部読んでないけど、これかな?
URLリンク(svn.collab.net)

612:デフォルトの名無しさん
08/05/07 14:52:26
username として可能な文字列ってどんなだったっけ?
たとえば subversion 的には OpenID の Identifier みたいな
URI でも username として受け付けてくれるんだろうか。

613:デフォルトの名無しさん
08/05/07 20:21:43
>>610
今時は OS の違いなんてあまり重要じゃないでしょ。

Samba なり Service for Unix あたりでなんとでもなるだろうし。

614:デフォルトの名無しさん
08/05/07 22:03:39
わかってないな。
見た目上似せてるがゆえに
かえってFSとかの仕様の細かい差異がむしろ問題になりうる。

615:デフォルトの名無しさん
08/05/07 22:21:06
リポジトリのファイルってリビジョン番号とかだし、そんなに影響ある?
そこまで違いに敏感だと困るんじゃないか?

616:デフォルトの名無しさん
08/05/07 22:40:27
昔の知識引きずってる爺だろ、放置推奨。

617:デフォルトの名無しさん
08/05/07 23:13:10
具体的に何がおきるの?

618:デフォルトの名無しさん
08/05/08 01:35:23
わかんないんです(><)

619:デフォルトの名無しさん
08/05/08 05:01:52
デフォルトのFSFSならリポジトリにOSの違いは無い、のではなかったっけ?
BDB <-> FSFS とか、BDBのバージョンが異なる場合とかなら、
svnadmin dump/load が必要。
でも、今時(Subversion 1.2以後)はデフォルトがFSFSなので、
気にする必要がないよね。

あと、Subversion 1.3 -> 1.4のようにリポジトリの形式が変わったときも、
Subversionはどちらの形式でも扱えたのでdump/loadは不要だったけど、
dump/loadして新しい形式にすればリポジトリが小さくなる、という
御利益があった。

URLリンク(www.google.co.jp)

URLリンク(subversion.tigris.org)
URLリンク(subversion.tigris.org)

620:デフォルトの名無しさん
08/05/08 18:53:07
そんなことより、なんでもかんでも(バイナリなデータも)
放り込んで肥大化して言っている漏れのプロジェクト、
サイズ的にはどの程度になったら破綻するのか気になる。

まぁワーキングコピーで svn st が1分以上かかるようになったらやばいか。
っていってもワーキングコピーはリポジトリの一部だからなぁ。
リポジトリ自体はどの程度の規模になったら破綻するんだろう。

もしかして100GBとかのリポジトリでも成立するのか?
そしてリビジョン番号が1000万とか。

621:デフォルトの名無しさん
08/05/08 19:59:34
>>620
Revが65万くらいのはよく見かける。


622:デフォルトの名無しさん
08/05/09 03:07:21
       ヽ|/
     / ̄ ̄ ̄`ヽ、
    /         ヽ
   /  \,, ,,/    |
   | (●) (●)|||  |
   |  / ̄⌒ ̄ヽ U.|   ・・・・・・・・ゴクリ。
   |  | .l~ ̄~ヽ |   |
   |U ヽ  ̄~ ̄ ノ   |
   |    ̄ ̄ ̄    |


一体どんな使い方をしたらそんなに数を重ねるんだろうか。

623:デフォルトの名無しさん
08/05/09 03:19:06
URLリンク(websvn.kde.org)
ここはRev.が80万超えてる。

624:デフォルトの名無しさん
08/05/09 21:56:30
svnmanager って管理用データベースと実際のリボジトリの間の整合性が取れなくなると悲惨。
Webベースで svnadmin 相当の操作やアクセス制御の操作ができるいいツールないかな?

625:デフォルトの名無しさん
08/05/10 16:16:02
またこの話か・・・・

626:デフォルトの名無しさん
08/05/10 16:28:08
すまん。
みんなどうやっているのか知りたかったんだ

627:デフォルトの名無しさん
08/05/11 19:10:16
キーワード置換と等価な作業をバイナリファイルに施したいです。
つまり、リビジョン番号や日付を任意のフォーマットでファイルに埋め込む作業を
コミット時に自動で行いたいです。これを実現する方法はあるでしょうか?

フックスクリプトでできるかなと思ったのですが、方法が解らず悩んでいる状況です。
(svnlook cat でファイル内容の取得はできるが、内容の編集方法がわからない)

ご教示のほど、どうぞ宜しくお願い致します。

628:デフォルトの名無しさん
08/05/11 20:01:22
>>627
svn:keyword でバイナリ用の置換マーク使うんじゃ何か不満か?

629:627
08/05/11 22:01:10
>>628
バイナリの中にデフォルトの置換文字列を埋め込む、ってことですよね?
99.99%以上大丈夫だけど、たまっっったま置換文字列と同じパターンのデータが
紛れた時にどう対処するか?っていう事を考えていて、上記質問と相成りました。

pre-commitでパターンの重複をチェックして水際でデータの破壊を防ぐ、ってのが
ひとつの方法ですが、置換を自前スクリプトで制御する方が綺麗な方法かなと思いまして。。。

630:デフォルトの名無しさん
08/05/11 22:07:38
>>629
なるほどね。でもコミットされるリビジョンの編集はフックではできないから、
pre-commit ではじくってのが一番現実的な感じ。自前のスクリプトでやるとしたら、
実行タイミングでまた悩むと思う。

631:デフォルトの名無しさん
08/05/11 23:10:08
>>627
現状では無理。

テキストのキーワード置換はクライアント側で行われているから、
クライアントを改造するのがまっとうな方法。

632:デフォルトの名無しさん
08/05/11 23:25:09
importした時のファイルのタイムスタンプを保存する方法ないですか?
後からcommitするファイルのタイムスタンプは
commitした時刻で構わないんですが。

633:デフォルトの名無しさん
08/05/11 23:43:55
>>632
1.6で実装されるかもしれないとか。issue1256

とりあえず適当な属性作って保存しておくとか。

634:627
08/05/12 20:39:01
>>630
>>631
ご助言ありがとうございました。
結構いけるかなと思いましたが意外と難しいですな。。。

635:デフォルトの名無しさん
08/05/17 03:12:12
TortoiseSVNの質問です。

TortoiseSVNで認証が必要なサーバーにコミットするのに、
パスワードの入力が必要なくコミットできたのですが、
これは何故でしょうか?

以前、そのサーバーにはコマンドライン版の svn にて認証を通し、コミットしたことがあります。
svnでは、
C:\Documents and Settings\(ユーザー名)\Application Data\Subversion\auth\svn.simple
などにユーザー名、パスワードなどを保存しているようなのですが、
TortoiseSVNでもこの設定を読んでいるのでしょうか?

636:デフォルトの名無しさん
08/05/17 10:59:28
TortoiseSVN のヘルプ開いて目次の

 TortoiseSVN - 日常操作ガイド - さぁはじめましょう - 認証

を参照。

ちなみに共有するのが嫌なら、

 TortoiseSVN - 日常操作ガイド - TortoiseSVN の設定 - レジストリ設定

を見れば、変え方が分かる。

637:デフォルトの名無しさん
08/05/17 15:55:50
>>636
サンクス!
ヘルプにあったんですね。
というか日本語ヘルプの存在をはじめてしったw

Subversionの設定をそのまま使うんですね。
簡単な認証なら便利ですね。

レジストリの設定は、レジストリに該当箇所(ConfigDir)が見つけられなかったけどたぶんSubversionの場所をさしているんでしょう。

638:デフォルトの名無しさん
08/05/18 07:33:15
あれ?いまの TortoiseSVN のバイナリパッケージって、svn.exe
自体は含まれてないんだったっけ?
c:\Program Files\TortoiseSVN\bin
以下に入っているものとばかり思っていた。

639:デフォルトの名無しさん
08/05/18 10:07:57
なんかコメントがカオスになってきてるんだけど
いい感じのコメント規則ってないですかね?

640:デフォルトの名無しさん
08/05/18 15:36:04
>>638
不要じゃろう

641:デフォルトの名無しさん
08/05/19 04:17:49
svnsync って双方向じゃないのが不便だね.
リードオンリーのミラーを作るって,バックアップ目的
以外に使い道ある?

642:デフォルトの名無しさん
08/05/19 10:06:13
双方向のニーズって何?
USBに入れて持ち歩いたり、なんちゃって分散リポジトリもどきでもやるのか。

643:デフォルトの名無しさん
08/05/21 14:19:52
リポジトリを作るときにtrunk,tags,branchesを作らずに全部直下に
入れる構造にしていて、後で直したいと思ったときはどうすればいいですか?

3個をmkdirして現在直下にあるファイルをmvすると、mvのたび
(つまり直下のファイルと同数だけ)リビジョンが増えてしまうのですが、
もっといい方法はありますか?

644:デフォルトの名無しさん
08/05/21 15:51:05
ファイルを1つ動かす度にコミットしなければ良い。

645:デフォルトの名無しさん
08/05/21 16:00:05
そういえば
% svn {mv,cp} hoge.txt hage.doc hige.c dir/

って複数のmv/cpは書けないって知ったときは目が点になったな。
最新版では書けるのかな。今のところforで書いてるけど、タルい。



646:デフォルトの名無しさん
08/05/21 16:09:20
>>643
簡単な解決策: リビジョン番号が増えるのを気にしない

647:デフォルトの名無しさん
08/05/21 17:24:58
バグに対する簡単な解決策:バグがあるのを気にしない

648:デフォルトの名無しさん
08/05/21 21:51:39
>>645
改造して、patch を公開してくれるとプチヒーローになれるかも。

>>646
リビジョン番号はあまり気にしないけど、似たようなログが3個も
あるのはすごくダサいと思う。

649:デフォルトの名無しさん
08/05/21 22:57:10
>644 で解決じゃないの?

650:つーか、単なる雑談だわ。
08/05/22 00:38:43
あ〜、リビジョン番号の方は解決済みだよ。

より簡単な方法を模索してるだけ (w

651:デフォルトの名無しさん
08/05/22 01:29:53
>>643
リポジトリのルートからのコピーで trunk を新規作成すればいい。
URL 指定のリポジトリ内コピーで一発。

652:デフォルトの名無しさん
08/05/22 07:43:28
自分ならdumpして加工してloadするが

653:デフォルトの名無しさん
08/05/22 12:40:53
Subversion はワーキングコピーが内容の二倍になっちゃうけど、
他のバージョン管理システムでも同じようなものなの?
diff をとろうとする以上そうなってしまうような気がする。

654:デフォルトの名無しさん
08/05/22 13:21:08
今の subversion には text-base 以下を再び
リポジトリから持ってきて修復する手段がないよね

655:デフォルトの名無しさん
08/05/22 14:10:39
>>643
svn rm *
svn cp `svn info | ruby -e'$<.grep(/^URL:\s*(.*)/){print $1}'` trunk
svn mkdir tags branches
svn ci
>>645
確か 1.5 からできる。

656:デフォルトの名無しさん
08/05/22 22:00:18
>>651
なんで、リポジトリ内コピーなんてするんだ?

>>643 はワーク内で移動/コピーして一気にコミットしたいんだと思うが。

>>653
管理ファイルもあるから、2倍+αだな。

まあ、BASE ファイルを圧縮するとか複数のファイルをまとめて管理する
とかのちまちました削減策は可能だけど、HDD の GB 単価が 20円を切っ
てる状況では多少のディスク容量と引き換えにプログラムを難しくする
必然性はないだろうな。

657:デフォルトの名無しさん
08/05/22 23:24:15
馬鹿は偉そうに沸かなくて良いよ恥ずかしいから

658:デフォルトの名無しさん
08/05/23 01:00:27
svn diff -rHEAD
とやると、現在のリビジョンと最新とのdiffが見れますが、
先頭の+と-を逆に表示できればしたいのですが、可能でしょうか?
どうにも見づらいのです・・

659:デフォルトの名無しさん
08/05/23 08:31:50
ワーキングコピーのリビジョン(CUR)がわかれば

svn diff -rCUR:HEAD

ではだめ? 試してないからわからないけど。


660:デフォルトの名無しさん
08/05/23 09:07:31
>>645
URLリンク(svn.collab.net)
> * 'svn move file1 file2 ... dir' now moves the files into dir (issue #747)

661:デフォルトの名無しさん
08/05/23 11:02:46
>660

おお、やったぁ
(って、debian stableに落ちてくるのはだいぶ先っぽいな...)


662:デフォルトの名無しさん
08/05/23 12:44:37
たぁぼぅるからインスコすればいいんじゃね

663:デフォルトの名無しさん
08/05/23 12:49:08
同じサーバに数人が同居していて、それぞれ自分の
ホームディレクトリ以下にリポジトリを作って
svn+ssh で幸せに暮らしているのですが、
各人のリポジトリを WebDAV 経由(Apache経由)
ででもアクセスしたいなという要求が出てきました。

しかし Apache は各ユーザとは無関係の権限で
動いています(Debian 系なら apache, Redhat 系なら
httpd)。このときパーミッションなどをうまく
設定する方法はあるのでしょうか?

664:デフォルトの名無しさん
08/05/23 14:22:18
>>663
ACLを調べるんだ。

665:デフォルトの名無しさん
08/05/23 22:03:02
>>658
自分はこうしてる
svn diff -r base:head

むしろ、(編集された)作業ディレクトリとHEADとのdiffが見たいんだけどな‥‥

666:デフォルトの名無しさん
08/05/23 23:09:05
>>657
話に入れないからと言って僻むなよ。(w

>>663
そもそも、svnserve の設定はどうやってるんだ?

各人のリポジトリが他人から触られてもいいのなら、subversion とかの
グループ作って、apache / httpd をそれに加えておき、各人のリポジト
リを subversion グループに読み書き可にすればいい。

もっと簡単なのは各人毎に Apache 立ててしまうことだと思う。

667:デフォルトの名無しさん
08/05/24 06:03:15
>>666
>もっと簡単なのは各人毎に Apache 立ててしまうことだと思う。

それはいいかも。
そのとき Apache は inetd 経由で別々のユーザとして
起動するのがいいのかな。ポート番号をユーザごとに変えて。
ポート番号 = ユーザ番号とかだと覚えやすいかもしれないけど、
mod_proxy とか pound なんかで振り分けてやるほうがいいのかな。

668:デフォルトの名無しさん
08/05/24 06:22:23
inetd経由するなら素直にsvnserveでsvnプロトコルしゃべらせた方が楽じゃん。

669:デフォルトの名無しさん
08/05/24 06:30:00
>>668 それなら素直に ssh+svn でいいジャンという話に・・
もともと、WebDAV クライアント経由で閲覧したいという
話になったので、svn+ssh 以外のアクセスパスを用意したくて。

なぜ WebDAV クライアント経由で閲覧したかったかというと、
社内で導入したドキュメント管理システムの持っている
全文検索機能に組み込みたかったのです。

で、そいつは CIFS を直接マウントするか HTTP/FTP で
覗くことができる場所しかインデックスしてくれないんで。

670:デフォルトの名無しさん
08/05/24 06:32:46
ところで、アクセス制御って HTTP なら AuthzSVNAccessFile でパス単位で、
svnserve なら conf/ 以下の設定でリポジトリ単位で、記述することが
できるわけですが、そもそもそういうメタレベルの設定って
プロパティに書けないものかなぁ、と思うのです。

ただ、プロパティをいじるにもアクセス制御が必要なので、
そこは鶏と卵になる?

671:デフォルトの名無しさん
08/05/24 12:56:02
>>669
> 社内で導入したドキュメント管理システムの持っている
> 全文検索機能に組み込みたかったのです。

単一のシステムが読出ししかしないなら、そのシステム用のグループ/ユーザ id
作って、各リポジトリを読出しのみ可能にしとけば済むと思うが。

あるいは頑張って、libsvn_ra_ftp を作るとか。(w

672:デフォルトの名無しさん
08/05/24 16:09:46
クライアント側はがんがんバージョン上げちゃって
1.5 なんだけど、サーバはずっと 1.3.1 のまま
放置プレイ中。問題ナッシング?

673:デフォルトの名無しさん
08/05/24 18:24:36
もし1.5ののマージ追跡新機能を使いたいならば、サーバーも更新する必要があるんじゃなかったかな。
はやく1,5リリースされないかなあぁぁ

674:デフォルトの名無しさん
08/05/24 18:38:04
マージ追跡新機能はクライアントが全員1.5以上じゃないと意味ないんじゃなかったっけ。
svn:externals の相対パスはどうかな。

675:デフォルトの名無しさん
08/05/25 06:32:18
SVNListParentPath と AuthzSVNAccessFile が
同時に使えないというバグは直ってないのか?
mod_dav_svn 1.4.6 では直ってない。


676:675
08/05/25 06:38:29
ふうむ、まだなのか。
URLリンク(subversion.tigris.org)
このバグって2005年ごろからあった気がするんだけどなぁ。
2日ほどこれだけに専念させてくれるならFIXするんだが・・

677:675
08/05/25 07:52:50
一応上のリンクに書かれている方法でなんとかなった。

678:デフォルトの名無しさん
08/05/25 19:14:16
svnsync の使い道がよく分からない。
リードオンリーのリポジトリをミラーで作るって事なんだけど、
オリジナルとミラーとでは UUID が違うよね?
ということはミラーからいくらチェックアウトしても、
それをコミットしようがないじゃないか。

679:デフォルトの名無しさん
08/05/26 15:05:53
CVSだとtrunkの履歴をみても、どのリビジョンがどのタグに使われたか直ぐ判る。
SVNだとタグもコピーだから、コピー元であるtrunkを見ても、どれに使われたか判らない。
どうすればいいの?

680:デフォルトの名無しさん
08/05/26 23:33:26
>>679
tags ディレクトリのログを見るとか。
TortoiseSVN のリビジョングラフのような外部の解析プログラムを使うとか。

681:デフォルトの名無しさん
08/05/28 01:17:23
やっぱ外部ツールか。でも、外部ツールはどうやって判定してるんだろ。
リポジトリの全情報持ってきて解析してる?

682:デフォルトの名無しさん
08/05/28 01:41:59
>>681 TortoiseSVN のソース見れ。

683:デフォルトの名無しさん
08/05/28 10:38:47
自分で作るとしたら svn log --xml の出力結果を使うだろうな

684:デフォルトの名無しさん
08/05/28 11:46:42
svn log -v でコメントを出さずに変更パスのみ出せれば grep で簡単に判断できるのに。
転送量も減るし。

685:デフォルトの名無しさん
08/05/29 02:07:27
ここ見て、Tortoiseで全然更新されてないファイルの
リビジョンログ見てみたら数分掛かったよ…。ここはCVSの方が便利だな。

思ったけど、この情報は過去の分は不変なんだから、
ViewVCみたいなサーバ側ツールなら情報を溜めておけるから、
さくさく見れるようにして欲しいな。

686:デフォルトの名無しさん
08/05/29 06:03:16
>>685
svk で手元に引っ張ってきていれば少しはましなのかもしれないけど
あんまり根本的な解決方法じゃないね.
リビジョンログ見るのに時間がかかるとみる頻度も落ちて,
結果的にログを適当に書くようになっちゃった.;
まぁ一人プロジェクトだから自分の作業日記見ればいいわけなんだけど.
その作業日記がそもそもログなわけで,ああ〜なんかいい方法はないかね.

687:デフォルトの名無しさん
08/05/29 06:06:23
リビジョンログは常にワンクリックで即時確認できるくらい
キャッシュしておいてくれる仕組みがあればいいわけだが,
そういうのは TortoiseSVN の今後の進化に期待.

688:デフォルトの名無しさん
08/05/29 06:27:21
リビジョンログのキャッシュは、1.5にはあると思った。

689:デフォルトの名無しさん
08/05/29 07:08:50
>>688
マジで?
ディストリビューションに含まれてるのをそのまま使ってるから
1.4.6 で止まってるよ.俺.
つーか,サーバに関しては 1.3.x のままだし.

ソースから入れるか・・・・

690:デフォルトの名無しさん
08/05/29 09:56:02
TortoiseSVN 1.5.x のログキャッシュ、ご参考
URLリンク(tortoisesvn.net)

691:デフォルトの名無しさん
08/05/29 10:30:59
THX TortoiseSVN の話か。
でも Windows でも使っているからアップデートしてみるか。
Nightly みたいだけど。

692:デフォルトの名無しさん
08/05/29 12:23:02
1.5っていつごろでそう?

693:デフォルトの名無しさん
08/05/29 12:51:36
svn:external で自動的にチェックアウトされたリポジトリには
それと分かるオーバーレイアイコンがついていてほしいんだけど
そういうことは可能?

694:デフォルトの名無しさん
08/05/29 13:12:50
おまえには無理

695:デフォルトの名無しさん
08/05/29 17:44:09
cygwin の Subversion パッケージが 1.4.5 のままだ・・・
TortoiseSVN で 1.5 のワーキングコピーにしちゃったよ orz


696:690
08/05/29 19:42:11
>>695
あー、ごめん。
自分では Nightly しか使ってないから注意喚起するの忘れてた。
これを機会に svn.exe 、 svnadmin.exe も TortoiseSVN の Nightly に置いてある
ものにしてしまうとかいかが? (^^;

697:デフォルトの名無しさん
08/05/29 22:36:10
>>659
駄目ですた
>>665
ありがとうございますた

698:デフォルトの名無しさん
08/05/30 06:33:50
Subversion 1.5 のドキュメントってどこが最新?
英語版でいいので.なんか知らん機能がいっぱいありそう.

699:デフォルトの名無しさん
08/05/30 11:48:14
URLリンク(svnbook.red-bean.com)

新しい機能はこっちを見たほうが早いかもしれない。
URLリンク(subversion.tigris.org)

700:デフォルトの名無しさん
08/05/30 17:48:00
そういや、1.5 では fsfs のリポジトリの保持方法が
変わって(2階層になって)パフォーマンスが向上
したらしいけど、リポジトリのサイズで考えたら
いったいどの程度が限界なんだろうね。

でっかいのをドカンとコミットするか、細切れにコミットして
無駄にリビジョンあげていくかにもよるんだろうけど、
どちらにしろファイルシステムの限界まで肥大化した
リポジトリなんてのでも耐えられるんだろうか。

ウェブ関係のデザイナーさんに使ってもらったら、
さくさくと使いこなしてくれるのはいいんだけど、
最近でっかい画像の素材(たとえば写真の編集前の
rawデータとか)まで放り込んでいるようで、今は
LAN内の Apache で元気に動いてはいるんだけど
既にリポジトリのサイズが30GBくらいに・・・・・

なんか使い方間違っているような気もしないではないけど、
でもそういうヘビーな使い方で壊れるようじゃ
日常使いにも不安だし。その辺の耐久性(というか限界値)
ってどこかに言及されていないですかね。

もう誰も使っていないと思われるBDBバックエンドに関する
限界について書かれた文書は結構ヒットするんだけど意味なし。


701:デフォルトの名無しさん
08/05/30 17:54:01
うちのブログにsubversionのbdb壊れたーー!
って泣きながら来る人一杯居るよ。

702:デフォルトの名無しさん
08/05/30 17:58:24
>>701 まじっすか。
bdb は LDAP (slapd) のバックエンドで使っていて、
ぶっ壊れてえらい目にあったことがあるので敬遠してました。
今のバージョンだと svnadmin create でのデフォルトは fsfs ですよね?

703:デフォルトの名無しさん
08/05/30 18:13:52
BDBってそんなに脆いの?


704:デフォルトの名無しさん
08/05/30 20:14:37
脆いというか、壊れたら全部いっちまいます。

705:デフォルトの名無しさん
08/05/30 20:26:01
subversionのリポジトリって基本追加だけだからfsfsは強いのかな。



706:デフォルトの名無しさん
08/05/30 20:38:33
fsfs いいよ、fsck の操作を間違えて /lost+found の中でばらばらになった fsfs を元に戻せたよ。

707:デフォルトの名無しさん
08/05/30 21:15:01
バックアップしてれば壊れることを心配する必要なかろう

708:デフォルトの名無しさん
08/05/30 23:13:29
バックアップしてから壊れるまでの間の変更がパーになるかもしれないんだから、
壊れやすいなら心配する方が普通だと思うが。

709:デフォルトの名無しさん
08/05/31 00:43:36
>>707
まあ、あの次期の俺は少し気が緩んでいた。
後悔したんで今はこまめにバックアップを取るようにしている。

710:デフォルトの名無しさん
08/05/31 08:50:19
subversionのリビジョンが1000だとして、
800にしようとすると1から順に800までパッチ当ててく感じ?
それとも1000から逆に800まで当ててく?

711:デフォルトの名無しさん
08/05/31 10:45:47
/etc 以下の設定ファイルなどを Subversion で管理しているんだけど、
パーミッションやuid/gid も保存したいので
posix:uid posix:gid posix:permissions なんていう
プロパティに保存してチェックアウト時に復元するスクリプトかいてるんだけど、
こういう機能って標準では無いですか?

シンボリックリンクや実行可能属性は特別扱いしてくれるんだから、
もうちょっと突っ込んで取り扱ってくれたらいいのにと思う雨の土曜日。
皆さんいかがおすごしですか?

712:デフォルトの名無しさん
08/05/31 11:31:37
>>800
working copyなら svn up -r800
exportなら svn diff -r1000:800 > diff を作って当てる


713:デフォルトの名無しさん
08/05/31 11:35:43
>>711
ないね。
その用途なら svv ってのがあるから参考にすれ。
URLリンク(sakurai.sumomo.ne.jp)


714:デフォルトの名無しさん
08/05/31 12:41:25
>>712
ロングパス乙

て言うか、>>710 の質問の意図理解できてないような気が...。

715:デフォルトの名無しさん
08/06/01 09:03:18
Firefox のプロファイルを Subversion で同期すれば
複数のPCのFirefox の状態を同期させられるんじゃね?
と思ったけど、マージがうまくいかなくてどうしようも
なくなる気もした。

Firefox 3 RC1 にして Google Browser Sync が
使えなくなったのでそんなことを考えてみる日曜日。
持ち帰りの仕事がいっぱいなので試してみる時間がない。
暇な奴やってくれ。

716:デフォルトの名無しさん
08/06/01 13:55:11
firefoxのプロファイルって絶対パス記述するファイルがあったような…あれさえなければ

717:デフォルトの名無しさん
08/06/03 17:19:59
>>711
残念ながら uid/gid は眼中にありませんでした。申し訳ありません。

718:デフォルトの名無しさん
08/06/03 23:49:45
つ PortableFirefox

719:デフォルトの名無しさん
08/06/04 18:48:07
svn:external で指定したディレクトリ以下を
それぞれどの深さまで取りに行くか,指定できない?
関連するリポジトリのルートから2階層まで取っておきたいとか.

720:デフォルトの名無しさん
08/06/04 19:33:05
ワーキングコピーの形式が変わったのってどっからだっけ?
1.4.6 と 1.5.x の間には互換性がない?

721:720
08/06/04 19:39:38
pysvn 使ってちょっとしたツール作ろうと思ったんだけど,
全部すでに subversion 1.5 でチェックアウトしてしまっているんだよ・・ orz

722:デフォルトの名無しさん
08/06/04 21:06:38
EDITORにviとか設定して、 svn ci とやるとコミット対象ファイルがずらっと出ますが
このときにコミットしたくないファイルを選ぶことはできないでしょうか?
コミットしたいファイルだけを指定する手間を省きたいのですが・・

723:デフォルトの名無しさん
08/06/04 23:46:57
>>722
emacsつかってsvn-statusがでやればいいんじゃないの?

或いは全部手で指定するか


724:デフォルトの名無しさん
08/06/05 09:37:08
1.5 の正式リリースってまだ?

725:デフォルトの名無しさん
08/06/05 10:57:16
URLリンク(subversion.tigris.org)
RC9 のとこによるとまくいけば1-2週間、RC8 の時も同じ事書いてあるけど。
RC の冒頭の段落、面白いねw

726:デフォルトの名無しさん
08/06/05 12:19:01
マージ追跡がもうすぐ使えるのか。わくわく
totoiseSVNはこの後すこし遅れになるのかな?

727:デフォルトの名無しさん
08/06/05 15:14:52
URLリンク(svn.collab.net)
みんなここみてるの?
あ〜早く 1.5 の python binding 使いてぇ。
自分でビルドするの超めんどくせぇ。
Visual Studio 2005 Professional は持ってるけど。
Visual C++ 2008 Express Edition でもいいのか。
・・・やっぱビルド環境整える時間がねぇ。

728:デフォルトの名無しさん
08/06/05 17:23:17
URLリンク(merge-tracking.open.collab.net)
ここにバイナリあるじゃねぇか
っていうか、open.collab.net ってどういう位置づけなんだ。
こんなところがあったなんて知らんかった。

・・・まぁ各種Linuxのディストビューションに入ってる奴と
TortoiseSVNを素直に使ってるだけだからなんだが。

729:デフォルトの名無しさん
08/06/05 17:51:19
URLリンク(merge-tracking.open.collab.net)
がーん、肝心の↑がダウンロードできねぇ・・・・俺もうだめぽ

730:デフォルトの名無しさん
08/06/05 22:42:22
おお,上のページ,少しずつ RC9 に置き換わって行ってる

731:デフォルトの名無しさん
08/06/06 01:17:51
チェックアウトした際の --depth オプションって
あとから変更できないのかな?

732:デフォルトの名無しさん
08/06/06 06:55:27
TSVNCacheの情報って他のアプリケーションから使えないもんですかね.
ディスク内総なめにしてコミット忘れを検出するツールとかつくるときに
キャッシュがあると(判定のフレッシュさに不安はあるものの)便利そう

733:デフォルトの名無しさん
08/06/06 10:26:26
>>732
URLリンク(tortoisesvn.tigris.org)
名前付きパイプ?開けば使えるかも。

734:デフォルトの名無しさん
08/06/06 18:28:45
今、まったくSVNで管理されていないサイト(同サーバ内)があり、
それをSVN管理下に置きたいと思っています。

本番: /dir/to/honban/****
テスト:/dir/to/test/****

trunkとbranchを使うのは運用的に煩わしいので、
単純に、テスト側のものを(「****」部分)リポジトリに突っ込んでおいて、
本番側で(cd /dir/to/honban) svn updateすれば良いスタイルにしたいと思っています。

で、リポジトリをSVNサーバ側で作成し、
そのリポジトリのrootにテスト側の「****」を突っ込みました。(rev.1)
その後、本番側でsvn updateできるようにしようと思い、
3時間ほどいろいろ試したのですが、結果的にできませんでした。

その際やりたい条件が、
・本番側をなるべく停止させたくない
・/dir/to/honban/****を全消ししてcheckoutしなおすのは×
 →ログファイルなどがあり、管理外のファイルが多くある為

試みたこと
1.ただ単純にcheckoutしてみる
 →「既にファイルがあるからダメ」と怒られた
2.rev.0(空っぽ)をcheckoutし、その後updateしてみる
 →update時に「既にファイルがあるからダメ」と怒られた
3.rev.0をcheckoutし、最新リビジョンにswitchしてみる
 →switch時に「既にファイルがあるからダメ」と怒られた

ちなみに、この場合本来であれば、本番・テスト両者をそれぞれ、trunkとbrancheにコミットして、マージするのが普通なのでしょうか?

長文ですが、どなたか教えてください。よろしく。

735:デフォルトの名無しさん
08/06/06 19:57:58
マージ関連の質問です。

branchAをリリース
 branchA → trunk にマージ
次期リリースのためにbranchBを作成
 trunk → branchB にコピー
リリース版にバグが発見されたのでtrunkを修正(※)
branchBにも伝播させたい
 trunk → branchB にマージ
branchBをリリース
branchB → trunk にマージ

というフローの場合、※がtrunkに2回行われることになるのはどうやって避けていますか?
trunk → branchB にマージしたリビジョンを避けてtrunkにマージ、でしょうか?

すみませんが回答お願いします。

736:デフォルトの名無しさん
08/06/06 20:14:17
>>734
使い方が間違っている。
空のフォルダにcheckoutして、その後はupdateが基本

737:デフォルトの名無しさん
08/06/06 20:20:23
>>735
brannchBにtrunkの最新版RevCをマージ。続いてtrunkRevCを元のbaranchBを先の差分がbranchBの変更分になるので、それをtrunkのheadにマージ。

738:735
08/06/06 20:43:58
>>737
説明が悪かったかもしれず、申し訳ありません。

branchB の※までに行われた修正もtrunkにマージしたいです。

branchBを作成した RevA
branchBを修正した RevB
trunkを修正した RevC
trunkの修正をbranchBに取り込んだ RevD
branchBにさらに修正を入れたRevE

で、trunkチェックアウトディレクトリで、
 svn merge -r RevA:RevE branchB
とやってしまうとRevCが2重にtrunkへ反映されてしまいます。

それを避けるためには以下のようにやらないとだめでしょうか?
svn merge -r RevA:RevB branchB
svn merge -r RevD:RevE branchB

739:デフォルトの名無しさん
08/06/06 20:46:54
>>734
チェックアウトディレクトリをそのまま公開ディレクトリにしてるってことなら
svn updateでいけそうに思うけどなあ
.svnディレクトリ消したりしてないよね?

740:737
08/06/06 21:04:55
>>738
俺の説明も悪かったかも試練ができるよ

さらにtrunkの変更がされてたとしよう。それをRevFとする
それをbranchBに取り込むとRevGとなる
そこで、RevG-RevFの差分をとるとどうなるか。
RevG=ABCEF RevF=CF
RevG-RevF=ABEとなってtrunkからマージした分を省いた差分が出来上がるわけだ。RevGとRevFの差分を指定してtrunkのHeadにマージすればいい。

741:735
08/06/06 21:10:48
>>740
たびたびありがとうございます。

それで、RevBの内容がtrunkにマージされるなら問題ないのですが
そんなことない、、ですよね?

742:737
08/06/06 21:17:16
>>741
される。
trunkをbanchiにマージした結果、branchとtrnkの差異はbranchBで修正した分だけになるのがポイント。

743:735
08/06/06 21:38:03
>>742
merge -r RevF:RevG branchB
とした際、RevFからRevGまでの間に発生した、branchBに対して行われた
事がtrunkに行われるだけですよね。
マージ先、元との差分を見てマージするのではなくて、マージ元の
指定リビジョン間における修正を、マージ先にも逐一行うといいましょうか。。
もしかして自分、すげえ勘違いしちゃってます?

# branchBの内容をtrunkに上書きしてコミットも考えはしたのですが、気持ち悪く。。

744:737
08/06/06 22:04:36
>>743
tortoiseSVN使ってるのでコマンドラインは良く分からないけど、異なるツリー間の差分を取る操作にする必要がある。
tortoiseSVNのマージダイアログでは、trunkのrevFを元、branchBのrevGを先に指定してtrunkにマージすればうまくいく。これはちょうどbaranchiをtrunkに上書きするのと同等。



745:735
08/06/06 22:55:28
tortoiseSVN、コマンドラインともに
revFからrevGへの修正をtrunkにマージしただけだとRevBでbranchBに
対して行った修正が反映されずでした。
あきらめてtrunk→branchBのマージを行ったリビジョン以外の
branchBに変更があったリビジョンをtrunkにマージしました。

大変お騒がせしました。

746:デフォルトの名無しさん
08/06/07 00:56:22
>>734
svn exportでいいんじゃないか?
「削除されたファイル」の扱いは別途考えなきゃいけなそうだけど。

あと、問題があって戻す時のことを考えると、trunkとtagsは使ったほうがいいと思う。

747:デフォルトの名無しさん
08/06/07 03:49:42
>>745
$ svn merge trunk-url@RevF branchB-url@RevG trunk-working-copy

748:デフォルトの名無しさん
08/06/07 13:30:44
あああ!
trunkのRevFからbranchBのRevGを指定するんですね。
ずっとtrunkの作業コピーでbranchBのRevFからRevGをマージしてました。。。

軽く吊ってきますo...rz

749:デフォルトの名無しさん
08/06/07 13:32:24
>>744
ちゃんとよめてなくてすみませんでした><

750:デフォルトの名無しさん
08/06/07 22:07:40
subversionいい加減に滅びないかなぁ

751:デフォルトの名無しさん
08/06/07 23:11:40
>750

SCCSすら生きてるぞうちのサイト...


752:デフォルトの名無しさん
08/06/07 23:26:11
subversionより機能的に上のバージョンコントロールシステムってなんかある?

753:デフォルトの名無しさん
08/06/08 01:41:23
>>752
むしろ、subversionでなきゃコレ出来ないだろ、的なのを教えてくれ。

754:デフォルトの名無しさん
08/06/08 01:55:38
バージョン管理システムについて語るスレ
スレリンク(tech板)

755:デフォルトの名無しさん
08/06/08 02:50:47
>>754
mercurial/gitがポストSVN扱いされてる感じだな
一方でBSDがSubversion適用なんていう味な話も混ざるねえ

756:デフォルトの名無しさん
08/06/08 05:02:26
作業コピーにたいして、いろいろ追加したばあい、
svn add --force *
svn commit
で一気にできるんだけど
作業コピーのファイルやディレクトリを削除したばあい、どうすればいい?

ファイルを消したあとsvn deleteができればいいんだけど。

757:デフォルトの名無しさん
08/06/08 05:55:51
>>753
無料で使える便利なGUI

758:デフォルトの名無しさん
08/06/08 08:02:49
>>756
フォルダごとさっぱり消していい。

759:デフォルトの名無しさん
08/06/08 10:03:06
個人的には Mercurial を使うことも多い.
でもむしろ「中央」のリポジトリが明確な方が分かりやすいというのもある.
人に使ってもらうリポジトリを用意するなら Subversion がいいかな.
Apache のモジュールとして動くことで普通にブラウザからアクセスできたり,
TortoiseSVN の存在も大きいかな.

760:デフォルトの名無しさん
08/06/08 16:54:06
確かに複数人で使う場合はまだまだSubversionだね。

761:デフォルトの名無しさん
08/06/08 17:21:08
Subversion は CVS のときほど不便さを感じていないので
勉強してまで他のものを使う気にはならない。

762:デフォルトの名無しさん
08/06/08 17:43:17
会社で使うならSubversionだな。

# 個人利用時の話だが、mercurialでpush/pullを忘れて涙目になったことが少なからず……。

763:デフォルトの名無しさん
08/06/08 18:29:19
なんちゃって技術系ブロガー(子飼いナントカとか)に
「Subversionを使わない10の理由」みたいなチョウチン記事かかせりゃ
一発で流れるよ

764:デフォルトの名無しさん
08/06/08 19:24:04
リーナスが Subversion をボロ糞にいっているのはどういった理由からでしょうか?
何件か記事を読んだんですが「ちゃんとしたCVSなんて無理」のような発言しか分か
りませんでした。

765:デフォルトの名無しさん
08/06/08 19:32:00
>>764
批判を特に肯定する記事も少なく、subversion側も冷静な反論をリリース済みだから、それ以上はスルーしてんじゃないか


766:デフォルトの名無しさん
08/06/08 20:30:34
ちっとばかしスラドJPの当該ネタ読んでみたけど、
いまいちよーわからんね。

まーLinusやESRが妙な怪気炎を上げるのは風物詩になりつつあるような。

767:デフォルトの名無しさん
08/06/08 22:12:24
まあ、Linux のカーネルクラスになると Subversion では力不足なのかも
知れないし、git と Mercurial の方がより優秀なのかもしれないけど、
俺たちはLinux のカーネル作ってるわけじゃないんだからほっといてく
れって感じじゃね。

768:デフォルトの名無しさん
08/06/08 22:25:43
RMSはどのバージョン管理ツール使ってるんだろう。

769:デフォルトの名無しさん
08/06/08 22:25:46
>>764-767
そもそもSubversionの作者サイドが「Linuxカーネルのようなのには向いてないので推奨しないでくれ」て言ってるのに
Linusが「あんなの使えねえ。gitでぶっ潰してやる!!!」だもんな。どこのイスラム原理主義勢力だよ。

770:デフォルトの名無しさん
08/06/08 22:37:56
フリーウェアなんだから自由に作って構わないと思うけどなあ。

771:デフォルトの名無しさん
08/06/08 23:19:39
まあ、>>765 が言う通りスルーで正解だな。

にちゃんと一緒だ。

772:デフォルトの名無しさん
08/06/08 23:56:47
FreeBSDはCVSからSubversionに移行したな
Linuxカーネルよりはるかに規模が大きいけど

773:デフォルトの名無しさん
08/06/09 00:16:50
中央集権的なモデルにこだわりがあるのだろう、きっと
別に分散型が流行ってるからといって選ばなくちゃならんわけでもないし

あるいは移行作業が膨大で、発表は昨今だけど準備はずっと前からやってて
準備を始めたころにはgit/hgがなかったか移行候補になるほどじゃなかった、とか

774:デフォルトの名無しさん
08/06/09 00:32:30
>>773
FreeBSD Daily Topics : 2008年6月7日 FreeBSDコアチーム選挙開始,Subversion選択の理由は?,6.4 7.1 7.2 8.0リリーススケジュール発表
URLリンク(gihyo.jp)

移行のしやすさとかなんとか

775:デフォルトの名無しさん
08/06/09 00:41:30
TortoiseHGってTortoiseSVNと比べて遜色ない?

776:デフォルトの名無しさん
08/06/09 01:53:48
>>774
>Subversionをメインのリポジトリとしながらも,
>CVSリポジトリへの複製を随時実行しCVSもサポートされ続けます。

なるほどね
FreeBSDはCVSを配布ツールとしても使ってるからね
cvsupなんかを使って


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4016日前に更新/202 KB
担当:undef