バージョン管理システムについて語るスレat TECH
バージョン管理システムについて語るスレ - 暇つぶし2ch237:デフォルトの名無しさん
07/12/16 19:22:33
>>235
userとrealが二倍以上違うな。

238:デフォルトの名無しさん
07/12/16 22:04:06
バージョン管理
いろいろ言われてるけどろくなソフトがないなw
まともなのはEclipseにくっついてるのとVSSぐらいだなマジで
これ以外むかつくから使わないほうがいいよ

バグったときの動作が最悪
通信途中で切れたときとかなにのにあるっていったり
更新中だからちょっとまってろって、お前、いつまでまたせるつもりかとw
いい加減、その操作あきらめてもとの状態に戻しておけよw
ってそんなこともできねぇし、ソースコードの履歴と修正には敏感だけど
自己のソフトのバグには鈍感とかありえねぇ動作してんじゃねぇよw
作った奴なにかんがえてんねんw

239:デフォルトの名無しさん
07/12/16 22:40:18
>>238
で、どこを縦読みしたらいいんだ?

240:デフォルトの名無しさん
07/12/16 22:44:23



ここかな?

241:デフォルトの名無しさん
07/12/16 22:58:45
>>235 なんでそんなに早いの?折れの環境が悪いのか?

242:デフォルトの名無しさん
07/12/17 10:31:48
>>238
読む気はしない、が

実際のところ、クラッシュ耐性が
どのくらいあるのか気にはなる。
fsやdbもこういう所が重要だし。

svnはfsfsを時間をかけてやってるけど、
他のは大丈夫なのかな。


243:デフォルトの名無しさん
07/12/17 15:10:04
mercurialで、ファイルを含んでいるディレクリがあって、ファイルはaddせずにディレクリだけaddすることはできますか。
subversionだと svn add -N dir1 でできるんですが、hg add だとそれっぼいオプションが見つかりませんでした。

244:235
07/12/17 16:52:20
>>237
git 、hg両方とも、real - user をしてみるとわかるけど、大体6~7秒差がある。
端末の描画速度かと。

一応、出力を/dev/nullに向けた値を張ります。
* git
real 0m6.806s
user 0m6.365s
sys 0m0.428s
* hg
real 0m21.640s
user 0m20.819s
sys 0m0.780s

>>241
速いって言われても、何とも言えないけど。
関係ありそうな環境。

CPU Pentium4 2.4c
memory 1G
file system ext3
terminal mlterm
kernel 2.6.22
GNU C Library stable release version 2.6.1
git version 1.5.3.6
GNU bash, version 3.2.17(1)-release
Mercurial Distributed SCM (version 0.9.3)
Python 2.4.4


245:デフォルトの名無しさん
07/12/17 17:49:16
>>244
実験乙。
>>235の結果と比べると、さらに差が広がってるな。
これは速度的にgitが圧倒的に有利ということでいいのだろうか?

しかし、>>112のMercurial側の主張によると、
> In terms of performance, Git is extremely fast. In several cases,
> it is faster than Mercurial, at least on Linux, while Mercurial performs better on other operations.
> However, on Windows, the performance and general level of support that Git provides is,
> at the time of writing, far behind that of Mercurial.
パフォーマンスの点では、Gitは非常に速いです。
ほかのOS上ではMercurialの方が速いものの、少なくともLinux上ではいくつかの場合Mercurialよりも早いです。
しかしながら、ウィンドウズ上では、Gitのパフォーマンスと提供するサポートの一般水準は(おそらく周辺のソフトウェアのことを指すex:TortoiseHgなど)、
書いている現時点で、Mercurialには遠く及びません。
(厨房レベルの訳スマソ)

・・・らしいので、windows側でも検証せにゃならんということだろうか。

246:デフォルトの名無しさん
07/12/17 18:06:20
> on other operations

247:デフォルトの名無しさん
07/12/17 18:07:07
/dev/nullにリダイレクトしてパフォーマンス測れよ・・・

248:デフォルトの名無しさん
07/12/17 18:08:39
えーと、適当なこと言うけど、windowsでcygwin使ってるならstat劇遅だからな

249:デフォルトの名無しさん
07/12/18 11:25:24
昔、cygwinが遅いからbcc使ってたなぁ・・・

250:デフォルトの名無しさん
07/12/18 12:08:49
>>228
diffするとstatusを呼ぶから遅い。

251:デフォルトの名無しさん
07/12/18 13:23:33
えーっと、つまり Git は Windowsに弱いらしい、ということ?

252:デフォルトの名無しさん
07/12/18 14:31:31
そもそも日本語をちゃんと使えない時点でダメダメ

253:デフォルトの名無しさん
07/12/18 14:37:27
使ってない俺が言うのもアレだが、Cygwin依存のツールは使いたくない。
異なるバージョンのcygwin1.dllがいたりすると、他のツールが使えなくなったりしてイライラする。


254:デフォルトの名無しさん
07/12/18 14:46:44
依存してないけど?

255:デフォルトの名無しさん
07/12/18 15:23:03
Mercurial を使ってるんだけど
hg view
で出てくる GUI (gitk) ではコミット時の説明文の日本語が文字化けする…

256:デフォルトの名無しさん
07/12/18 16:31:24
>>254
gitはcygwinで使うのが普通だと思ってたけど、今は違うのか?

257:デフォルトの名無しさん
07/12/18 17:24:41
>>256
msysgit

258:デフォルトの名無しさん
07/12/18 17:32:12
>>255
tcl-tkだからUTF-8にすればたぶん読めるはず

259:デフォルトの名無しさん
07/12/18 17:34:02
>>257
安定していないものは、仕事では使えません

260:デフォルトの名無しさん
07/12/18 17:46:07
>>259
cygwin の git って msysgit より安定してる?

261:デフォルトの名無しさん
07/12/18 18:27:29
なんでwin使ってんだw

262:デフォルトの名無しさん
07/12/18 18:34:13
サーバはともかく、クライアント側はWinで良いと思うが

263:デフォルトの名無しさん
07/12/18 22:11:28
Mercurialも、日本語ファイル名をどうやってうまく扱えばいいのかわからんです。
Linuxサーバ上で、cgi経由のレポジトリを置いて、
WindowsとMacOSX間で管理しようとしてるんだけど・・・・

264:デフォルトの名無しさん
07/12/19 04:41:22
>>263
URLリンク(www.selenic.com)

>However, there is a following error when I want to add file/directory which
>filename contains non-ascii character.

>abort: No such file or directory: c:\hg-repo\test??.txt

>Error also appears when I use ``hg status`` or ``hg log``.

>To reproduce this error, you can try to create a file named 'test中文.txt'
>and add this file to your branch to verify this problem.

これのことだよね。hg status および hg log でも起こる現象で
hg add file/dir でエラーが出ちゃう罠… add status log... であぼーん

265:デフォルトの名無しさん
07/12/19 09:22:42
使えねー

266:デフォルトの名無しさん
07/12/19 11:18:15
日本語ファイル名なんて使ってるやつはばかです

267:デフォルトの名無しさん
07/12/19 11:30:08
% git-status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: 白黒
#
no changes added to commit (use "git add" and/or "git commit -a")

% git-log -p -1
"\347\231\275\351\273\222"
commit 242e3908ecd84cf05f79aa416ad735ce2e6f541f
Author: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Date: Wed Dec 19 11:25:21 2007 +0900

test commit

diff --git "a/\347\231\275\351\273\222" "b/\347\231\275\351\273\222"
index e69de29..f4d9ed8 100644
--- "a/\347\231\275\351\273\222"
+++ "b/\347\231\275\351\273\222"
@@ -0,0 +1 @@
+あああgitって馬鹿だな。


とりあえずgitで日本語(UTF-8)で使ってみたが大丈夫だけど、
ログおよびgit-ls-filesはエスケープ処理される。他はファイル名表示はされるようだが。

>>266
どーい

268:デフォルトの名無しさん
07/12/19 11:30:11
ソースだけ管理してれば良いけどね
ドキュメントまで管理し始めるとそうはいかない

269:デフォルトの名無しさん
07/12/19 11:38:11
まあでもSJIS使うのは避けたほうが無難だろう

270:デフォルトの名無しさん
07/12/19 11:55:16
まあね・・なるべくなら管理したくないんだけどね

271:デフォルトの名無しさん
07/12/19 11:56:31
つまり、Windowsお断りってことですな

272:デフォルトの名無しさん
07/12/19 12:24:55
>>264 はファイル名の扱いがコードページ依存 (unicode apiを使ってない)って話じゃないの?
日本語版windowsなら日本語ファイル名でも問題ないし。

別環境でcheckoutしたときにファイル名を適切に扱えるかどうかはそれとは別の問題なわけで

273:デフォルトの名無しさん
07/12/19 20:16:44
Subversionではファイルパスを内部ではUnicode扱いしてるからうまくいく。
ファイル名をレポジトリの内部管理対象にするときに
ネイティブのパス名からUnicodeに変換してから管理するようにすればいいのに・・・と思う。

274:デフォルトの名無しさん
07/12/19 22:01:25
合成文字(濁点つきのかな文字とか)が入るとうまくいかないようだ。

Mac OS Xで、
svn add ガチョーン.txt (&commit)

他の環境(Linuxとか)で
svn up
U ガチョーン.txt
touch ガチョーン.txt (作れてしまう)
ls
ガチョーン.txt ガチョーン.txt (「ガ」が同じようで実は違う)
for f in *.txt; do echo -n "$f: "; echo -n $f | wc -c; done
ガチョーン.txt: 22
ガチョーン.txt: 19

svn add ガチョーン.txt (addできてしまう &commit)

Mac OS Xに戻って
svn up
svn: Failed to add file 'ガチョーン.txt': object of the same name already exists

Macのファイルシステム上は合成文字は分解した形に正規化されているが、
そうしない環境のほうが多いよな。


275:デフォルトの名無しさん
07/12/20 01:10:51
バージョン管理システムを嫌がるアホ
スレリンク(software板)

276:デフォルトの名無しさん
07/12/20 02:39:00
osxが特殊かと。

277:デフォルトの名無しさん
07/12/20 03:42:45
>>274
それは、実は大文字小文字混在問題と同じじゃないかなぁ。

278:デフォルトの名無しさん
07/12/22 10:00:27
GNU archってもう駄目なのかなあGNUウェアではよく使われてるみたいだけど

279:デフォルトの名無しさん
07/12/22 14:57:52
スレ違いかもしれないけれど…

あるフォルダに対して普段はサブフォルダ作成やファイル削除まで全ての操作を許すけど
いざとなったら任意の時刻のフォルダ状態に戻したいっていうのは
バージョン管理システムを使った運用で可能?
それとももっとスマートなやり方がある?

280:デフォルトの名無しさん
07/12/22 17:12:29
スレ違いだけど、
Plan9だとそういうのがネイティブで出来そうに見えるんだよね。


281:デフォルトの名無しさん
07/12/22 18:41:52
スレ違いっぽいけど
fuseとかで簡単に作れたりしないかな

282:デフォルトの名無しさん
07/12/22 18:47:52
スレ違いなのか…orz

283:デフォルトの名無しさん
07/12/22 19:01:52
>>279
スレ違いっぽいけど
URLリンク(fsvs.tigris.org)

284:デフォルトの名無しさん
07/12/22 19:45:50
スレ違いっぽいけど
>>283 thx

285:デフォルトの名無しさん
07/12/23 02:14:21
スレ違いっぽいけど、ZFSのスナップショットで戻したい時刻のデータを残しとけばいいような・・・
意識せずにした操作なら駄目だけど。

286:デフォルトの名無しさん
07/12/23 16:35:37
すれ違いっぽいけど、今日の昼飯なに食った?
俺ちりめんおにぎり1個…

287:デフォルトの名無しさん
07/12/23 17:07:20
>>279
日単位で巻き戻しならcron+pdumpfs。
任意のタイミングでスナップショットを取りたいならコード弄るしかないかな。

288:デフォルトの名無しさん
07/12/23 20:04:54
任意のタイミングは駄目なのか

289:デフォルトの名無しさん
07/12/24 03:49:41
kumaryu.net - (Prog) monotoneを使ってみる
URLリンク(www.kumaryu.net)(Prog)+monotone%A4%F2%BB%C8%A4%C3%A4%C6%A4%DF%A4%EB

*手軽
monotoneのリポジトリは単一ファイルです。
リポジトリはSQLiteのデータベースファイルで、ファイル1つに全部突っ込むことになります。バックアップとかのリポジトリの管理がとても楽です。
また分散型なのでサーバーとか気にせず簡単に試せます。気軽にコミットできます。

*マージが強力
3wayマージで良い感じにマージしてくれます。

*国際化対応
ファイル名、コメント等の国際化対応がされています。
データベースには軒並みUTF-8で入ることになります。

*移植性が高い
SQLite3、Lua、Boostだけあればビルドできます。
どれも移植性が高いです。多分。

これどうかな*国際化対応がされてるという一点に置いて
とても心惹かれるものがあるような…でも余り話題になってないような
もうちょっと調べてみる

290:デフォルトの名無しさん
07/12/24 07:40:03
SQLiteだとリポジトリがでっかくなったら苦しくならないんだろうか?


291:デフォルトの名無しさん
07/12/24 07:59:07
>>290
だから人気がないwww

292:デフォルトの名無しさん
07/12/24 09:54:25
> Lua、Boostだけあれば
はいアウト

293:デフォルトの名無しさん
07/12/24 11:18:23
>>288
pfumpfsの話なら、フォルダを
2007/12/24/
みたいに掘るから
一日に二度以上できないってだけで
2007/12/24_11_17_09
みたいに時間も含めてやれば好きなタイミングでスナップショットを取れるようになるよ。
当然1・2行ソースの修正が必要になるが。

294:デフォルトの名無しさん
07/12/29 03:26:43
コマンドラインメンドクサス・・・

TortoiseHg安定せんかな・・・
TortoiseSvkでもいいけど

Rakefile書きまくっても、
結局コンソール(Poderosa)立ち上げるのが面倒で、batファイルつくって、
ファイラーから、ポチクリやってしまう

ちゅーか、IDEにターミナルエミュレータついてくれればいいのに・・・

295:デフォルトの名無しさん
07/12/29 03:31:27
Mercurialは、
バイナリファイルと国際化が弱いようですね。
Subversionはその辺しっかり、してたからなー

296:デフォルトの名無しさん
07/12/29 04:03:15
あー、あと、空のディレクトリを消すのが解せない・・・

297:デフォルトの名無しさん
07/12/29 07:33:04
そういえば関係ないけどsvnはdiffの出力も翻訳されちゃうからいつも翻訳無効にしてる
パッチ投げるときに困るんだよね

298:デフォルトの名無しさん
08/01/03 09:32:04
分散型バージョン管理システムはどれが良い?

URLリンク(slashdot.jp)

299:デフォルトの名無しさん
08/01/09 15:29:42
Subversion > Mercurial の移行を考えて
Mercurial使ってるんですが、
Subversionだとhookを使ってできていたコミット通知が欲しいと思って調べています。
対応する操作は、push になるかと思うんですが
push をしたときに、何かをするってのはどうすればいいかアイデアありませんか?

300:デフォルトの名無しさん
08/01/09 18:29:37
マニュアルに書いてあるのだが……

301:デフォルトの名無しさん
08/01/09 19:45:02
どうも、最近安易に聞く癖が付いてしまっているようです。
ググレカスり直してみました。
[hooks] の incoming フックで何とかなりそうですね。
ちょっと検索キーワードがまずかったみたいです・・・・
今までマニュアルだと思って見てたのは、チュートリアルだったし。

302:デフォルトの名無しさん
08/01/09 21:29:30
mercurialについてググろうとしてついhgでググっちまった。

フォーーーーーーーーーー

303:デフォルトの名無しさん
08/01/12 08:18:37
MercurialにMBCS対応エクステンションがコミットされてたぞ

304:デフォルトの名無しさん
08/01/13 14:07:29
ファイルやディレクトリのアクセス権を版管理できる
バージョン管理システムは何かあります?
ぐぐってもみつからず。

305:デフォルトの名無しさん
08/01/13 17:29:47
>>304
そんな超複雑なもん作ってどうする気だw

リポジトリ別にしたらいいじゃない

306:デフォルトの名無しさん
08/01/13 18:41:06
>>305
仕事の政治上の都合が有って
checkout したworking copyの一部のディレクトリを他の
Linux上のログオンユーザに見れないようにしたい。
checkout したあといちいちchmodするのは面倒だし、
し忘れが出るので。reposわけてもこれは解決できんと思います。
subversionにcheckoutのhookがあったらそれでもよかったけど。
やはりないんですかね。


307:デフォルトの名無しさん
08/01/13 19:36:54
>>306
Linuxのumaskじゃあかんの?

308:デフォルトの名無しさん
08/01/13 20:28:52
>>304
ないんじゃない? ファイルシステム依存(= 環境依存)な類のものでしょ。
Linuxのアクセス制御と関係するのは、subversionにはsvn:executableしかないかも。

checkout+chmodするスクリプトを作ってお茶を濁すとか。


309:デフォルトの名無しさん
08/01/13 21:23:15
>>308に一票。

310:デフォルトの名無しさん
08/01/13 21:37:36
みんなサンクス。

>>307
まるっきりダメじゃないけど、working copy下の他のディレクトリは
関係者に見てもらうことも有るので、umaskで全部マスクするのも
ちょと困る感じです。

>>308, 309
やはり、やるにしてもそれぐらいしかないですね。
あきらめてそうしておきます。


311:デフォルトの名無しさん
08/01/14 04:33:39
>>310
umaskを変更したユーザアカウントを一つ作っておけばいいんでない?
手間としては>308と変わらなくなる気もするけれど。

312:デフォルトの名無しさん
08/01/14 12:13:47
Subversionでauthzとか。
ワーキングコピーを共有するなら無理だけど。

313:312
08/01/14 13:11:19
よく読んでなかった、ワーキングコピーは共有する前提か。


314:デフォルトの名無しさん
08/01/14 19:57:47
Linux板行った方がもっといい方法がみつかるかもしれない

315:デフォルトの名無しさん
08/01/15 09:33:41
ここのスレを大変参考にしつつmercurialの0.9.5を数日試してるんだけど、
過去のレスに補足すべきと思うようなものも見かけるのでかいて美馬s。

>>41,152
名前を変更したファイルのdiffについては、hg diffに--gitオプションをつければ
望み通りにならない? というか、

~/.hgrcに

[diff]
git = True

を加えておいた方がいろいろよさげだと思う。

>>243
そもそもディレクトリを管理しないんだそうだ。

URLリンク(www.selenic.com)

自分もsvn add -Nをよくやるので少し不安なんだけど、今考えてみるとディレクトリ
を管理したいことなんてまずないかも。svn add -Nをやる理由ってSubversionの
仕様によるものがほとんどだと思う。

316:デフォルトの名無しさん
08/01/15 22:42:36
>>315
空のlogディレクトリだけ作られて欲しいこともあるけど(logファイル書けないぜエラーが出る)
まあそういうのはインスコスクリプトなりで対応すべきなんだろうな

317:デフォルトの名無しさん
08/01/15 23:50:13
> svn add -Nをやる理由ってSubversionの
> 仕様によるものがほとんどだと思う。

それは自分を納得させるための言葉に見える…。
空のディレクトリを管理できるからといって
便利なことはあっても不便なことはない。
ディレクトリもバージョニングできるのが
Subversionの売りのひとつだと思ったけど。
思想の違い。

318:デフォルトの名無しさん
08/01/17 23:45:47
空のディレクトリに readme.txtを置くだけの簡単な仕事です

319:デフォルトの名無しさん
08/01/19 03:38:45
>>318 がcoolな解決法だと思う。
シンプルなツールにシンプルな運用。

320:デフォルトの名無しさん
08/01/23 01:16:31
mercurialで、手元のcloneにいくつかcommitしてあるとして、
そのうち一部はローカルの環境固有の修正なのでpushしたくない、
他はpushしたいというときはどうすればいいのでしょう?

hg push -r REV というのがそれかと思って試してみたのですが、
ローカルで
changeset: 1:cae50e295c29
changeset: 2:af0665dee890
という状態でhg push -r2としたら全部pushされてしまい、
hg push -r1としたら1だけがpushされました。
1のchangesetはpushせず2だけpushしたいのです。

2をexportしてコピー元に送ってimportしてもらい、
その後ローカルでpullとするのでしょうか。


321:デフォルトの名無しさん
08/01/23 10:14:40
1.pushしたいチェンジセットをexport
2.同じリポジトリを別途clone
3.新たにcloneしたほうで
3-a.exportしたチェンジセットをimport
3-b.おもむろにpush
4.もとのclone側でpull

これでいいのかな。なんか手間だが。


322:デフォルトの名無しさん
08/01/25 11:54:41
mercurialで不要になったnamed brancheを消したいんだけどどうすればいい?

323:デフォルトの名無しさん
08/01/26 00:57:21
>>85
> VCSならとりあえずsubversioin。一番普及してるし、IDEのプラグインなんかも多い。
> SCMならgitかmercrial。今流行ってるし、おそらく今後SCMのsubversion的ポジションに着くはずだから。
> どっちも無料なんで、自分で試して決めてくれ。

初歩的な質問ですみませんが、VCSとSCMの違いはなんですか?

VCS(Version Control System)      :バージョン管理システム
SCM(Software Configuration Management):ソフトウェア構成管理

違いが今ひとつ分かりません。

324:デフォルトの名無しさん
08/01/26 02:31:38
>>323
VCS→一人用
SCM→まともなバージョン管理システム

325:デフォルトの名無しさん
08/01/26 08:19:06
>>324の言ってることも間違いじゃないが、>>323の聞きたいことはもっと具体的なことだろ。

違いを一言で言うと、分散型と集中型の違いで、
具体的にどう違うかというと、リポジトリが一つか複数かということ。
VCSは一つのリポジトリにみんなでコミット、マージするけど、
SCMは一人一人がリポジトリを持って、適時リポジトリ間でマージする感じ。

どっちが便利かというと、>>324の言うとおり個人ならVCSで十分だと思う(プラグインもあるし)
グループで開発するとか、ノートPCでネットワークがつながらない場所でもバリバリ開発したいならSCMも有り。
(ただし、svkという手も十分ある)

326:デフォルトの名無しさん
08/01/26 09:36:44
SCM と VCS ってそんなに意味が明確に定義されている用語?
どちらも意味は同じで、
subversion や git や mercial を含むバージョン管理システムのことを表してない?

327:325
08/01/26 09:44:12
>>326
あー、確かに誤解してたかも知れない。
俺の中で、
集中型=VCS
分散型=SCM
だと思ってた。
wikiでもバージョン管理システムの項で分散型も紹介してるし、要は同じってことかも。

328:デフォルトの名無しさん
08/01/26 09:50:07
Software Configuration Managementは、
リリースサイクルやバグの管理まで含む概念であって、
版管理はその一機能とみなせる。


329:デフォルトの名無しさん
08/01/26 13:21:51
wikiってどのwikiだよ

330:デフォルトの名無しさん
08/01/26 13:23:03
pediaしらねーのかよpedia
まったくこいつはとんだゆとりだぜギャハー

331:デフォルトの名無しさん
08/01/26 14:19:01
>>330
つれますか?


332:デフォルトの名無しさん
08/01/26 14:50:31
pgr

333:デフォルトの名無しさん
08/01/26 14:51:25
ペギラ

334:デフォルトの名無しさん
08/01/26 17:34:36
ゴン

335:デフォルトの名無しさん
08/01/26 18:55:39
Wikipediaをwikiって略す奴は、wikiを知らないんだろうな。

336:デフォルトの名無しさん
08/01/26 20:27:17
>>328
なるほど。
VCSは版管理のみを提供して、SCMはそれに追加機能があるという訳ですね。
となると、ここで論じられてるCVS、Subversion、Mercurial、git、darcs、Bazaar、arch等々は
それぞれどちらに分類されるのでしょうか?
今までこれらのソフトをVCSの視点でしか見てこなかったので、
この中にSCMがあれば、その活かし方などを教えてもらいたいです。

337:デフォルトの名無しさん
08/01/27 00:59:48
>>328
何言ってるの?
ここで言ってるSCMはSource Code Managementのことだろwww
だれもここでSoftware Configuration Managementの話なんてしてない。

338:デフォルトの名無しさん
08/01/27 01:11:39
>>337
>>323


339:デフォルトの名無しさん
08/01/27 01:12:15
というか323の時点で間違ったわけか。


340:デフォルトの名無しさん
08/01/27 01:36:38
WikipediaではSubversionがSoftware configuration managementに分類されてるな。
なんでだろ
URLリンク(en.wikipedia.org)

341:デフォルトの名無しさん
08/01/27 02:00:33
不審に思ってPurposesの節を読んだが、やっぱSubversonが入るのは
おかしいかな、ま、Wikipediaは言葉の定義をするとこじゃないから……

……とか思いながら定義を調べたら
URLリンク(www.dwheeler.com)
URLリンク(cs.wwc.edu)
URLリンク(www.cmcrossroads.com)
混用されすぎててワロタ。自信満々の>>337-339が涙目になるくらい。


342:デフォルトの名無しさん
08/01/27 02:07:51
すまん>>337-339じゃなくて>>328だわな。
要は初期の定義ではCMってのがあって、その後SCMの概念が出てくる。

現在でこそ、定義を全部満たすのがSCMでVCSはその機能の1つっていう
人もいるが、初期のSCMの定義ではCVSはおろかMakeなんかもSCMに含めてて
もうなんなんだという感じ。

343:デフォルトの名無しさん
08/01/27 02:34:40
そういえば、こんな文章もあったな。
URLリンク(www.sodan.org)


344:デフォルトの名無しさん
08/01/27 03:01:18
そこで、PMS(パッチ管理システム)ですよ。
darcs2はスケーラビリティ改善されるんだろうか。

345:デフォルトの名無しさん
08/01/27 03:48:17
>>344
darcsは興味あるなぁ
パッチ管理って、もうやりたい放題できそうだな

346:デフォルトの名無しさん
08/01/27 04:08:51
>>341-343
SCM (Software Configuration Management)の用法は統一されてないようだね
VCSと同義であったり、VCSをさらに多機能化したものとして言及されたり、
文脈によってまちまちみたいだね
ということで、とりあえずこのスレではSCM (Source Code Managementも含めて)もVCSも
バージョン管理システムを指すということでOK?

347:デフォルトの名無しさん
08/01/27 05:42:13
NMS (Nandemo Management System)

348:デフォルトの名無しさん
08/01/27 09:38:36
PMSは月経前症候群?
SCMはサプライチェーンマネジメント?
NMSはネットワークマネジメントだな

349:デフォルトの名無しさん
08/01/28 22:55:37
なます…

350:デフォルトの名無しさん
08/01/29 01:07:11
GitかHgに移行したいんだが、どうにも勇気が出ない。
TortoiseHgってTortoiseSVNと共存できる?
それとsvnからgitかhgに移行して、どう使い方が変わったとかだれか教えてくりゃれ。

351:デフォルトの名無しさん
08/01/29 01:27:18
>>350
使い方が変わるわけないだろwww

352:デフォルトの名無しさん
08/01/29 09:31:21
Winの場合、Python3.0が出るまでHgは使いにくいと思う

353:デフォルトの名無しさん
08/01/29 09:35:00
>>352
何で?

354:デフォルトの名無しさん
08/01/29 09:39:21
HgってPythonせいだっけ

355:デフォルトの名無しさん
08/01/29 10:24:15
今のPython2.5は文字列型が2つある。
入出力の部分で文字コード変換すれば問題は無いんだが、
1バイト圏の連中はASCII前提で何もしないから困る。

Python2.5
 str型: 1バイト1文字
 unicode型: 多バイト1文字(UCS-2 or UCS-4)
Python3.0
 str型: 多バイト1文字(UCS-2 or UCS-4)

UTF-8なら今のものでも問題ないと思う。
でもWindowsはShiftJISだから日本語を使うと問題が出るときがある。

Python3.0になるとUnicodeで作ることを強制されるので
たぶん自然に改善されるはず。


356:デフォルトの名無しさん
08/01/29 10:27:08
>>355
期待ageだな
でも、枯れるまでにはもう少し時間が必要か

357:デフォルトの名無しさん
08/01/29 16:28:14
Pythonがマジで多カ国語対応されるまでは、
Mercurialはファイル名、ファイルパスはASCIIで使っておけということだな。

358:デフォルトの名無しさん
08/01/29 21:52:31
これではダメかな?
URLリンク(selenic.com)

ちょっと試した限りでは問題ない感じ。


359:デフォルトの名無しさん
08/01/29 23:47:57
ユニコードファイル名に対応しないと根本的な解決にはならないんじゃないかな

360:デフォルトの名無しさん
08/01/30 03:19:57
マジレスすると
Pythonは多各語滞欧しているし海栗コードファイル名にも対応している

361:デフォルトの名無しさん
08/01/30 03:33:15
しかしお前は日本語に対応してないんだな

362:デフォルトの名無しさん
08/01/30 07:22:06
pythonは対応してるけどhgは対応してない

363:デフォルトの名無しさん
08/01/30 11:23:21
>>358
バイナリインストールの環境だと使えない

364:デフォルトの名無しさん
08/01/30 13:12:03
Windowsだけど、Hgインストールすると、
Python入ってるのに、自前でPythonインストールされる気がする。

365:デフォルトの名無しさん
08/01/30 15:20:12
>>357
そっかー、Pythonの文字列の問題なのか。
悩ましい問題だ。

SVNはその点、楽だったのになあ

366:デフォルトの名無しさん
08/01/30 17:56:08
>>357
対応してるだろ
適当なことを言うな

367:デフォルトの名無しさん
08/01/30 19:47:39
>>366
俺としては、基本的な文字列操作をしたらUnicodeで扱うことになったら、という意味だった。
Javaレベルでネイティブロケールを隠蔽してロジックが書ければ、と。

# そりゃ、Unicodeで扱うことによる問題はでるけどさ。
# デフォルトがUnicodeになって欲しい、と。

368:デフォルトの名無しさん
08/02/01 07:29:29
u'hoge' でいいじゃん

369:デフォルトの名無しさん
08/02/02 10:35:54
git-svnよいねぇ。
svnで開発するのは無理自慰だし、svkなんか微妙だし(エラーハンドリングが微妙)、git使いやすいから楽だ。

370:デフォルトの名無しさん
08/02/02 21:32:56
>>364
だがそれがいい。
VBはDLLを要求しやがるから困る。

>>368
その記法はPython3000だとエラーなんだよな~
これに限らず、いまhgを完全にUnicode化しても、
新たに作業が発生しそうで躊躇する。


371:デフォルトの名無しさん
08/02/02 22:18:52
Mercurial vs git
ここ分かりやすいな 短いけど
URLリンク(www.atmarkit.co.jp)

372:デフォルトの名無しさん
08/02/02 22:26:51
>>371
2005っていつの記事だよ、と思ったらやっぱり三年前じゃねえか。
こんなの今と相当違ってるぞ?

373:デフォルトの名無しさん
08/02/02 22:30:17
>>372
メインはsvnだけど 気になる2人なので基本的な情報を集めようとしてるんだけど
やっぱりそうですか。
すんません

374:デフォルトの名無しさん
08/02/02 23:37:34
>>369
> git-svn
kwsk

手元でgitで、サーバー側のsvnにコミットする手法?

375:デフォルトの名無しさん
08/02/03 02:32:45
TortoiseHg 0.3 が出たな

376:デフォルトの名無しさん
08/02/03 09:23:46
>>374
まぁそういうこと。コミットもできるけど、まだしてない。(権限がなす)
BTSにパッチ上げる開発用にローカルでつかってる。
普段のそー言うのは、git-svn cloneのほうでブッコ抜き。
git-svnimportの方はログコンバーターなのでリポジトリをgitに移行するときだけですね。

377:デフォルトの名無しさん
08/02/03 10:33:35
ブランチをマージしようとしてsvn mergeがフリーズしたので、
代わりにgit-svn で git上でマージできてよかった。

だけど、svn:externals とかgit-svnは扱ってくれないのね。
svn:ignoreはgit-svnで一応扱えるけど、機能が微妙。


378:デフォルトの名無しさん
08/02/03 17:43:28
【10.1】 「日本語ファイル名を追加できない」
URLリンク(python.matrix.jp)

379:デフォルトの名無しさん
08/02/03 18:46:02
・既出
・ググればすぐ出る
・直リン

380:デフォルトの名無しさん
08/02/04 13:59:43
直リン?

381:デフォルトの名無しさん
08/02/07 15:08:37
燃料?
URLリンク(texagon.blogspot.com)


382:デフォルトの名無しさん
08/02/07 19:30:51
お前初めてかhgは?
力抜けよ

383:デフォルトの名無しさん
08/02/07 20:21:09
>>381
文章の先頭から大嘘じゃないかwww

384:デフォルトの名無しさん
08/02/07 22:18:11
>>383
ごめん,どこが?

385:デフォルトの名無しさん
08/02/08 19:10:44
subversion での svn update は、git では git pull でしょうか。
git clone したリポジトリがあって、これを更新したいんだけど、git pull だけでいいのでしょうか。
なんかうまくいってるのかどうか分からなくて。

386:デフォルトの名無しさん
08/02/08 20:44:36
>>385
それで合ってる
git branch -r でorigin(pullしてくる元)が表示されるはず

git スレッド
スレリンク(linux板)

387:デフォルトの名無しさん
08/02/12 15:47:32
>>303
使い方がよくわからないんですが、Mercurialを新しくするだけではだめなんでしょうか?

$ hg add
adding クソ.txt
ク・.txt does not exist!

みたいになってしまいます。

388:デフォルトの名無しさん
08/02/12 18:55:56
sjisファイルネームは通らない。

389:デフォルトの名無しさん
08/02/12 23:14:55
SVN(TortoiseSVN)だとその辺もやってくれるんだけど、Hgはやってくれないか

390:387
08/02/13 13:33:47
>>387
extentionを有効にしてなかったせいでした。
Mercurial.iniの[extensions]に

hgext.win32mbcs =

を足したらちゃんとaddできるようになりました。

391:デフォルトの名無しさん
08/02/14 00:06:24
はじめてMercurialを使ってメッセージの意味がわからない…

Rev.1から 2 と 3 を分岐させて(>hg heads で 2と3が出る)、作業ディレクトリが
Rev.3の状態で 2の枝とマージすることを意図して
>C:\Temp\repo>hg merge 2
ってすると(設定しているWinMergeが立ち上がって編集保存すると)
>merging a.txt
>merging a.txt failed!
>1 files updated, 0 files merged, 0 files removed, 1 files unresolved
>There are unresolved merges, you can redo the full merge using:
> hg update -C 3
> hg merge 2

fail とか unresolved とか不吉な単語が見えるけれど、
>hg commit -m "..."
すると、ちゃんと Parentsに 2と3を持つ Rev.4 が出来ている。
編集した a.txt はちゃんと編集後の状態を保ってる。

これって正しい動作なんでしょうか。

392:デフォルトの名無しさん
08/02/16 17:58:43
rms曰く、we should use Bzr
URLリンク(lists.gnu.org)

393:デフォルトの名無しさん
08/02/17 11:10:01
mercurial で、heads と tips の違いがわかりません。だれかおしえて。

394:デフォルトの名無しさん
08/02/17 11:17:55
>>393
URLリンク(www.selenic.com)

395:デフォルトの名無しさん
08/02/17 12:47:28
>>394
ありがとう。とりあえず、tip は heads のうちのひとつ、ということまではわかった。
でも、なんで head が複数できるのかわからない。head は子を持たない changeset ということだが、普通に作業してたら head はひとつしかないように思うんだが。

396:デフォルトの名無しさん
08/02/17 13:30:19
>>395
複数人が編集したらheadが増える

397:デフォルトの名無しさん
08/02/17 19:03:49
>>396
ひとつのリポジトリを複数人で編集・・・するわけはないか。
>>394のページを見ると、他のリポジトリからhg pull したらheadが増えるみたいなんだが、そういう理解であってますか?

398:デフォルトの名無しさん
08/02/17 19:23:02
つまり
>>396
>複数人が編集したらheadが増える
というのは、他人のリポジトリから hg pull したら head が増えるということを意味してますか、という質問です。


399:デフォルトの名無しさん
08/02/17 20:52:17
>>398
一つの changeset に対して複数の commit をすれば head は増える。

$ hg init .
$ echo "line 1" >> test.txt
$ hg add test.txt
$ hg commit -m "init"
$ echo "line 2" >> test.txt
$ hg commit -m "head 1"
$ hg update 0
$ echo "line 3" >> test.txt
$ hg commit -m "head 2"
$ hg heads
$ hg tip

他人のリポジトリには自分のとは違う変更が commit されているだろうから、
それを pull してくれば head は増える。

400:デフォルトの名無しさん
08/02/20 00:51:46
TortoiseHGをインストールすると、Sambaの共有フォルダ一覧が
表示されるのがかなり遅くなってしまいました。
Wiresharkでキャプチャしてみると、\\Samba\.hgなるものを
何度もチェックしているからのようでした。
アンインストールすると元通りの速度になったのですが、この現象を
回避する方法はないのでしょうか?

401:デフォルトの名無しさん
08/02/20 09:36:27
TortoiseSVNには、アイコンオーバーレイのネットワークドライブなどでの除外指定ができるけど、
HGはできないの?

402:デフォルトの名無しさん
08/02/20 11:03:38
/var/logも.hgで埋まるから困る

403:デフォルトの名無しさん
08/02/23 06:58:06
バージョン管理システム管理下のファイルだけを対象にできる「auto-save-buffers-enhanced.el」
URLリンク(d.hatena.ne.jp)

404:デフォルトの名無しさん
08/02/23 07:30:24
>HGはできないの?

出来る、ドキュメント嫁。

405:デフォルトの名無しさん
08/02/23 11:26:19
>>403
バージョン管理下以外のファイルには自動保存したくないっていう
状況がよく分からないんだけど、なんでだろうね。

auto-save-buffers に慣れきったから自動保存されないことが
怖くてしょうがない。

406:デフォルトの名無しさん
08/02/23 12:06:16
>>405
間違って更新されたら元に戻せなくなる可能性があるからじゃない?

407:デフォルトの名無しさん
08/02/24 06:40:24
xyzzy使いだけど、おれは自動でバックアップファイルを作るのを使っているな。
ただし、セーブしたらバックアップファイルが消えるっていうやつ。
もし落ちても問題なし

408:デフォルトの名無しさん
08/03/01 13:08:03
GitTorrent Protocol -- GTP/0.1
URLリンク(gittorrent.utsl.gen.nz)

409:デフォルトの名無しさん
08/03/06 21:08:19
URLリンク(gihyo.jp)
git の特集だそうです。

410:デフォルトの名無しさん
08/03/06 23:06:08
なんか最近Gitが盛り上がってるなあ。

411:デフォルトの名無しさん
08/03/07 01:07:26
俺的にはTortoiseGitが無いのが糞だな
ところでTortoiseVSSって無いのかな?


412:デフォルトの名無しさん
08/03/07 02:23:30
最近はBazaarがgitとmercurialのいいとこ取りをしてますよーと、結構ドキュメント書いてるなぁ。
ちなみにgitのメインメンテナって日本人っぽいよね?(ハマノさん?)
俺的にはqgitがもうちょい使いやすくなれば嬉しいんだが、最近あんまアクティブでないよな…。

413:デフォルトの名無しさん
08/03/07 14:14:41
>>411
ないだろうし、これからも作られんだろ。
基本的に有償のソフトウェアには有償のサードパーティ・ソフトウェアしかでない。

414:デフォルトの名無しさん
08/03/07 14:44:55
>>413
> 基本的に有償のソフトウェアには有償のサードパーティ・ソフトウェアしかでない。

その理論(理解)はおかしい。

415:デフォルトの名無しさん
08/03/07 16:21:09
Tortoiseほにゃららはどうでもいいんだが
Cygwin環境でのgitの挙動があれで自分はmercurial

いちいち .git/hooks を弄らなきゃいけないのは苦痛だ

416:デフォルトの名無しさん
08/03/09 21:02:44
>>412
よければその記事どこにあるか教えてくれ。

417:デフォルトの名無しさん
08/03/09 21:07:12
しかしまあ、CVS->Subversionと来て次のスタンダードはどこになるんだろうな?
GitとMercurialに決定的な差異がない以上、ハッキリと明暗分かれることは当分ないんだろうが・・・。
ブルーレイvsHD DVDみたくどっちかが撤退という訳にも行かんし、
環境ごとにGit使ったりMercurial使ったりするのは勘弁してほしいなあ。

418:デフォルトの名無しさん
08/03/09 21:55:29
svn, git, hg のリポジトリを透過的に扱える、クライアント専用の第三のツールが出て一人勝ちに一票

419:デフォルトの名無しさん
08/03/09 22:13:33
>>418
スゲー欲しい。
ここは言い出しっぺの法則で作ってくだされ!
しかもWindows用にヨロw

420:デフォルトの名無しさん
08/03/09 22:26:23
たぶんEmacsにならすでに有りそうな気がする。


421:デフォルトの名無しさん
08/03/09 23:32:06
Emacs だと vc とか DVC とかかねぇ。


422:番組の途中ですが名無しです
08/03/10 15:30:23
>>418
サーバとクライアントって、分散SCMを否定してるなw
あるいは、IETFあたりで、分散SCMプロトコルのRFCとか決めて、なんでも繋がるようにしたら面白いかも。


ところで、Darcs2はどうなってる?

423:デフォルトの名無しさん
08/03/10 15:31:49
別に否定ではないだろ
親と子の関係はあるんだから

424:デフォルトの名無しさん
08/03/10 19:48:50
>>422
>IETFあたりで、分散SCMプロトコルのRFCとか決めて
「インターネット」が関係ないがな!w

425:デフォルトの名無しさん
08/03/12 12:16:18
TortoiseSVNだけを各々のPCにインストールして
TortoiseSVNでリポジトリを共有サーバに作る
そのリポジトリと各々のTortoiseSVNで使うって使い方は問題ない?

本来ならサーバにSubversionをインストールしてうんぬんかんぬんって
やらないとダメだと思うんだけど
ちょっと今の環境だと難しいんで上記の方法でやろうかなぁと

426:デフォルトの名無しさん
08/03/12 12:23:16
Windowsの場合、Subversionは管理ツールだと思え
必須って訳じゃない
その代わり、file:///でやることになるし、ユーザ名が
Windowsのユーザ名になるし、いくつか制限が出てくる
単純なソース管理しかしないならそれでも十分

427:デフォルトの名無しさん
08/03/12 12:28:58
>>426
おお素早い回答ありがとうございます。

単純なソース管理しかしないのでTortoiseSVNだけでOKってことですね
一先ず運用してみます。

428:デフォルトの名無しさん
08/03/13 00:46:12
Windowsで、一人ないしは少人数で扱うバージョン管理システムなら
Subversion(TortoiseSVN)が現状、最良且つ唯一の選択肢だろうな。
それ以上のことをやろうとするから、いろいろ悩むわけだ。

429:デフォルトの名無しさん
08/03/13 01:40:30
1人ならHgの方が手軽じゃない?
っつっても、Tortoiseがまだまだだからなぁ。

430:デフォルトの名無しさん
08/03/13 06:44:59
すまんですが、普通のバージョン管理システムで一万個ぐらいのファイルを最初にリポジトリに登録しようと思ったら、どのぐらい時間かかるもの?
VSSだと3時間かかっても終わらん・・・orz

431:デフォルトの名無しさん
08/03/14 11:43:24
PCのスペック、各ファイルの容量によって全然変わるし一慨にこうだとは言えない気がするが
うちが管理してたやつは30分もかからずに終わった
(Subversion管理)

432:デフォルトの名無しさん
08/03/15 03:08:26
上の方でgit-svnが話題になってたが、同じように既存のCVSリポジトリとやりとりできるやつある?
git-cvsexportcommit ってのでいいんだろうか。しかし日本語の情報とかさっぱりないな。
別にgitじゃなくてもいいんだが。

433:デフォルトの名無しさん
08/03/15 13:34:58
mercurial
URLリンク(www.selenic.com)
そろそろ来るのかな?

434:デフォルトの名無しさん
08/03/15 15:42:56
URLリンク(www.atmarkit.co.jp)
これは駄目だろ

435:デフォルトの名無しさん
08/03/15 19:58:48
TortoiseHg 0.3 を入れてみた。
日本語ファイルの追加や削除もマウス操作でうまくいったよ!

実験に使ったファイル名: ソース表示.txt

やったことは、インストールした場所にある Mercrial.ini の
[extensions]
hgext.win32mbcs = !
の感嘆符(!)を削除しただけ。

ファイル選択やコミットの画面で日本語ファイル名が化けるけど、そのまま動くよ。
コメントは入力・表示ともに日本語でOKだった。

436:435
08/03/15 20:33:36
↑すまん、環境は WinXP SP2。書き忘れた。

437:デフォルトの名無しさん
08/03/16 01:55:28
そりゃ動くだろうけど、ほとんどの機能が結局ダイアログが出てきてコマンド入力だったような。

438:デフォルトの名無しさん
08/03/16 03:50:20
>>434
1.5.4rc1で起こってたんだな。知らなかった。
教えてくれてありがとう。アンチも役に立つんだな。

439:435
08/03/17 10:50:04
>>437
・現在の Mercuriel の hg はファイル名とコメントに日本語が入っているとエラー停止する
・TortoiseHG 3.0 に付属の hg なら日本語ファイル名が扱える(mbcs エクステンションが入っている)
という事前情報があり、hg(コマンドライン)目当てで TortoiseHG を入れたところ、予期せず GUI でも日本語ファイル名の追加・コミットができたので、報告の意味で書き込んでみました。

440:デフォルトの名無しさん
08/03/18 14:44:55
ああ、そういえばSDのgit特集、今日発売か

441:デフォルトの名無しさん
08/03/18 17:38:51
SD読んだよ。クオリティ高かった。
かなり硬派な内容で、バリバリ使ってる人でも面白く読めると思う。

442:デフォルトの名無しさん
08/03/24 13:24:47
ネットの情報で十分でした

443:デフォルトの名無しさん
08/03/24 15:27:58
gitもhgもやりたいやりたいとは思うんだが、TortoiseSVNになれた身では移行しづらい。
やっぱフロントエンドが充実するにはもうすこし時間が必要かなあ。

444:デフォルトの名無しさん
08/03/24 15:40:01
必要ならお前が作れよ

445:デフォルトの名無しさん
08/03/24 17:40:42
gitはファイル名とログの日本語対応に不安がありすぎるんだが。

446:デフォルトの名無しさん
08/03/24 21:20:53
>>445
問題ない。

447:デフォルトの名無しさん
08/03/24 22:13:59
SD読んだよ

448:デフォルトの名無しさん
08/03/24 23:25:49
>>445
俺もふつうに日本語使えてるけど

449:デフォルトの名無しさん
08/03/24 23:44:07
SVNすら着いて来てくれないのにgitとか無理だお・・・

450:デフォルトの名無しさん
08/03/24 23:54:56
>>449
いつかgit使える日が来るさ。

451:デフォルトの名無しさん
08/03/25 15:32:06
mercurial-1.0.tar.gz 24-Mar-2008

452:デフォルトの名無しさん
08/03/25 19:54:31
コミットログを英語で書く人のためによさげな記事みつけてきた

Changelogのための英文テンプレート集 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -
URLリンク(d.hatena.ne.jp)

453:デフォルトの名無しさん
08/03/25 21:52:39
>>451
釣りかと思ったらマジだったのでage

454:デフォルトの名無しさん
08/03/25 22:47:52
今日のパッケージアップデートで知ったけど、x264がgitに移った模様。

455:デフォルトの名無しさん
08/03/26 03:06:05
>>454
ん~、なんだか大規模プロジェクトはMercurialよりGitに移る傾向があるみたいだね。
Mercurial使ってる有名なオープンソースとかあったっけ?

456:デフォルトの名無しさん
08/03/26 04:42:34
mozillaとかsun回りとかいろいろ。

457:デフォルトの名無しさん
08/03/26 08:50:37
TortoiseGit 作って (はーと)

458:デフォルトの名無しさん
08/03/26 13:44:38
TortoiseSVNの右クリックで表示されるメニューなんだけど
---
SVN更新
SVNコミット
TortoiseSVN
---
の3つなんだけど、ココに「変更のチェック」を加えて
---
変更のチェック
SVN更新
SVNコミット
TortoiseSVN
---
にしたいんだけど方法ないですかね?

459:デフォルトの名無しさん
08/03/26 14:00:53
TortoiseSVN > Settings で Look and Feel

460:デフォルトの名無しさん
08/03/26 14:10:20
>>459
それだとTortoiseSVNの下のメニューを変えるだけです><;
トップのメニューを変える方法は無いのかな

461:デフォルトの名無しさん
08/03/26 14:13:42
>>460
俺は459じゃないけど、説明良く見てないだろ
チェックを外せばトップメニューに表示されるんだよ

462:デフォルトの名無しさん
08/03/26 14:26:59
>>457
みんなTortoiseに依存しまくってるんだな....
SDによるとWindowsの場合CygwinでGit使えるみたいだけど、
GUIじゃないと嫌なの?

463:デフォルトの名無しさん
08/03/26 14:30:39
>>460-461
本当だ!ごめんなさい、ありがとうございます。

464:デフォルトの名無しさん
08/03/26 14:32:52
自分しか使わないならそれで良いんじゃないの
普通の人が触りやすい形態を考えれば分かる事だろ

465:デフォルトの名無しさん
08/03/26 15:17:31
>>462
ここに書き込みするような人たちほど リテラシーがないんですよ。
使い勝手によいGUIがあれば、バージョン管理システムの導入も
してもらいやすい。
「コマンドベースでやってね」 なんて言ったら、誰にも使ってもらえないだろう。

直感的に変更点判るし、ツールとして良くできているしね

466:デフォルトの名無しさん
08/03/26 15:30:20
差分見るのはGUIじゃなきゃやだ

467:デフォルトの名無しさん
08/03/26 15:34:35
ファイラーはどう考えてもGUIのほうが便利だしなあ

468:デフォルトの名無しさん
08/03/26 15:56:43
gitの場合、中身がシェルスクリプトだからTortoiseはちょっと難しそうだな、
と素人目に思った。

469:デフォルトの名無しさん
08/03/26 15:58:22
>>467
そうか?

470:デフォルトの名無しさん
08/03/26 16:03:33
>>464-465
Gitは開発者全員Gitにしないとダメなんてことないよ。
中央をsvnリポジトリにして自分だけGitでも問題なし。俺はそうしてる。
HGは使ったことないから分からないけど、Gitから分かれたモノだから
同じような感じではないかな?

>>466
CUIでもキレイに差分見れるけどね、、、

471:デフォルトの名無しさん
08/03/26 16:56:54
>>455


472:デフォルトの名無しさん
08/03/26 17:04:01
>>457
Git Cheetah

473:デフォルトの名無しさん
08/03/26 17:21:18
Mercurial で リポジトリの一部を消すとか、リポジトリを分割するとかってできますか?
やりたいことは Subversion でいえば
svnadmin dump | svndumpfilter | svnadmin load
のようなことなのですが…。

474:デフォルトの名無しさん
08/03/26 17:39:14
Bazaarバージョンが上がってすごい事になってるみたい
URLリンク(bazaar-vcs.org)

Bazaar vs Git URLリンク(bazaar-vcs.org)
Bazaar vs Mercurial URLリンク(bazaar-vcs.org)
Benchmarks  URLリンク(bazaar-vcs.org)

昔と比べて恐ろしいくらい速くなってる。

475:デフォルトの名無しさん
08/03/26 18:56:03
へー、bzr速くなったのか。まー、あまり速さは求めてない。
設定ファイルと自作スクリプトの管理にしか使ってないけど。

不思議なのは、bzrってbazaarの後継?らしいんだけど、
使い勝手が全然違ってどこが後継なのか良く分からない。

hgよりも便利機能が多い(UTF-8ファイル名でおk)けど
なぜか、hgの方が情報が多い。

あたりが疑問点かな。

476:デフォルトの名無しさん
08/03/26 19:00:00
>>475
昔Mercurialにうんこと言われるぐらい遅かったからだろ。

477:デフォルトの名無しさん
08/03/26 19:13:55
BazaarNGが本家乗っ取ったんだっけ?

478:デフォルトの名無しさん
08/03/26 19:45:03
>>477
急に速くなってたから驚いたけど
そういう理由があったのか

479:デフォルトの名無しさん
08/03/26 19:53:44
適当なことを言う前に URLリンク(bazaar-vcs.org) でも読んどけ。

480:デフォルトの名無しさん
08/03/26 19:56:27
Bazaar。。。。名前がいまいちなのがなぁ・・・・

481:デフォルトの名無しさん
08/03/26 20:30:04
Bizarreよりは普通だと思う

482:デフォルトの名無しさん
08/03/27 01:17:45
>>480
ゴザールを作るんだ


483:デフォルトの名無しさん
08/03/31 01:30:18
”ファイルのディレクトリ構造”ごと登録して、
その後、バージョン管理システム外で変更された、
”ファイルのディレクトリ構造(多少のファイルの増減あり)”を
チェックアウトなしで、そのままチェックインできるツールって、ありますか?

開発拠点が国内と、海外に数ヶ所と、
バージョン管理システムの導入を徹底できないので、困っております。

484:デフォルトの名無しさん
08/03/31 01:58:11
Subversion

485:デフォルトの名無しさん
08/03/31 08:13:17
svn_load_dir とかいうスクリプトがあったな。
他のツールにそういうのは無いのかな?

486:デフォルトの名無しさん
08/03/31 23:15:55
>>483
質問の内容に合っているかわかりませんが、Mercurialでリポジトリのあるところにファイルを展開して
hg addremove
hg commit
をすると、増えたファイルをリポジトリに追加、なくなったファイルをリポジトリから削除してくれます。

487:デフォルトの名無しさん
08/04/04 18:23:30
話題が途切れたので、ちょいと Mercurial を使った感想を…。

CVS → Subversion と集中リポジトリのリビジョン管理ツールを使ってきましたが、
Mercurial を使ってからというもの、
「サッとリポジトリが作れる」というのがとても気持ちよく、気に入っています。

ローカルの作業ディレクトリは、すぐに hg でリポジトリ化し
修正やコミットをかけた後、完成したらリポジトリ部だけ削除してます。

「作業ディレクトリにリポジトリがくっついている」という発想は
とても便利で面白いと思います。

488:デフォルトの名無しさん
08/04/04 18:29:55
続きです。

いままでしばらく Subversion+svk を使っていましたが、
いまでは Subversion+Mercurial という構成で使っています。

Subversion+svk のときは、svk で自分の手元に持ってきてから
ローカルで開発し、結果を svk smerge で一括送信していましたが、
今は Subversion でチェックアウトした内容をそのまま Mercurial に突っ込み、
Mercurial でさんざん修正・コミットした後、
最後に Subversion でコミットしています。

開発中に Subversion のリポジトリ上に修正が入っていた場合には、
Mercurial のブランチとして取り込んで、Mercurial 上でマージしています。

この方法だと svk みたいに自動化されていませんが、
構成がすっきりして全体の見通しがよく、作業がひとつひとつ理解できるので
安心感があります。

489:デフォルトの名無しさん
08/04/04 18:34:30
Subversion + Mercurial って
それいいな、俺もやってみるか

490:デフォルトの名無しさん
08/04/04 18:43:27
>>488
昔、CVS+Teamwareで俺がやってたのと同じ感じかな・・・と思ったけど逆だ・・・
俺のときは、Teamware側が共用できるやつでCVSがローカル環境・・・・
なんでそんな事したのか思い出した・・・eclipse対応してるかどうかだ・・・

MercurialならMercurialだけでIDE含めて完結できるのが一番楽なんだろうけどねぇ・・・

491:デフォルトの名無しさん
08/04/04 21:18:50
>>488
熱いレポート乙!
参考にさせてもらいます。


492:デフォルトの名無しさん
08/04/05 02:45:13
GitHubって招待制なの?
だれか invite してくれ

493:デフォルトの名無しさん
08/04/05 03:15:59
>>492
そんなのあるんだね、知らなかった
とりあえずsignupしてみたけど、いつになるやら
SourceForgeもGitサポートすればいいのになぁ

494:デフォルトの名無しさん
08/04/05 04:03:16
>>488
ちなみに hgsvn を使用しているのですか?

495:デフォルトの名無しさん
08/04/05 05:58:53
どこをどう読んだらそうなるんだ

496:デフォルトの名無しさん
08/04/05 13:56:25
>>492
なんか知らんがinviteされた(たぶん中の人?)
メアド晒してくれればinviteするよ

497:デフォルトの名無しさん
08/04/05 13:59:02
>>494
hgsvn は使っていません。
いまは Subversion でエクスポート
→ .svn 以外をそのまま新規に Mercurial 管理下に入れる(手作業)
という感じです。

Subversion に戻すときは、Subversion のリポジトリをチェックして
更新されていなかったら、そのまま Subversion でコミット。
更新されていたら、Mercurial のブランチとして取り込んでマージしてから
Subversion でコミット、です。
すべて手作業です。

498:デフォルトの名無しさん
08/04/05 13:59:32
Git と Mercurial の比較ってだれかやってません?

499:デフォルトの名無しさん
08/04/05 16:05:53
>>498
URLリンク(www.opensolaris.org)
OpenSolaris が Mercurialを選ぶときに行ったレビュー。
粒度が揃っているとは言えないがまあ参考に。(下の方にあります)

500:デフォルトの名無しさん
08/04/05 21:36:34
URLリンク(weblog.rubyonrails.com)
まー政治的にpythonは選べないだろうなw

501:デフォルトの名無しさん
08/04/05 21:38:53
>>500
でもTrac使ってるぜ。


502:デフォルトの名無しさん
08/04/05 21:55:56
railsではbtsは難しいということですか、分かりません><

503:デフォルトの名無しさん
08/04/05 22:06:23
いまならredmineとかretrospectivaとかに移行してもよさそうなものなのにね>rails


504:デフォルトの名無しさん
08/04/05 22:08:45
データの引っ越しの手間が馬鹿にならないとか?



505:デフォルトの名無しさん
08/04/05 23:05:56
>>500
Ruby界隈はMatzが使っているという理由でGit一択です

506:デフォルトの名無しさん
08/04/06 00:03:18
matzって基本的にオールドタイプだから新しめの道具は使ったことなさそうなイメージ。
cvsからsvnに切り替えるのもかなりもたついてたような。


507:デフォルトの名無しさん
08/04/06 01:04:24
>>506
svnに切り替えるときに、ローカルでの管理用としてgitを導入した。
URLリンク(www.rubyist.net)

508:デフォルトの名無しさん
08/04/06 02:29:54
StGITは、git導入したというのだろうか。

StGITローカルパッチ管理に使ってるが便利だ。
でもドキュメント少ないな
>>507 の記事とかチュートリアルの翻訳くらいしか日本語の記事が無いので
公式見てもチュートリアルの元記事しかなかった…。

509:デフォルトの名無しさん
08/04/06 03:00:10
StGITは「git使ってることを意識しなくて済むツール」なのではなかろうか。


510:デフォルトの名無しさん
08/04/06 12:06:25
当時はgitって本当にバックエンド用のplumbingコマンドしかなかったからね。
今でこそフロントエンド用のporcelainコマンドも充実してるけど。

511:デフォルトの名無しさん
08/04/06 13:15:50
>>501-504
BTS も rails 製の Lighthouse に移行するよ。

って >>500 に書いてあるじゃん。読まずに脊髄反射してんだなw

512:デフォルトの名無しさん
08/04/07 15:36:59
Rubyが好きじゃない俺はどうすればいいですか?

513:デフォルトの名無しさん
08/04/07 16:54:05
>>512
自己暗示


514:デフォルトの名無しさん
08/04/07 17:47:12
>>512
ブール代数的に言うと、好きじゃないということは、嫌いじゃないかもしれない。道は残ってるね。


515:デフォルトの名無しさん
08/04/07 21:22:00
>>512
安心しろ、Joel Spolsky も Ruby が嫌いみたいだから。
URLリンク(www.joelonsoftware.com)

っと、これだけだとスレと関係なくなってしまうので。
… Python に走って Mercurial 使えば?

516:デフォルトの名無しさん
08/04/07 21:40:52
>>512
言語の好き嫌いがある内は只の厨房だと自覚するべきだと思うよ。
自分の得意不得意のせいであんまり好きになれない言語があるのはしょうがないとおもうし、結構あるしorz


517:デフォルトの名無しさん
08/04/07 22:03:50
>>497
詳細な説明&レポートとても助かります。

TortoiseSVN で管理している svnワーキングコピーに、
なんの疑問もいだかずに TortoiseHG で真剣に管理しようとしていた俺は・・・


518:デフォルトの名無しさん
08/04/07 23:27:46
韓国語が嫌いだ

519:デフォルトの名無しさん
08/04/08 00:34:50
>>514
ブール代数的なら「好きじゃない」イコール「嫌い」だろ。
3値で「好きじゃない」なら「嫌い」か「興味ない」。

520:デフォルトの名無しさん
08/04/08 02:47:04
>>512の突っ込みどころは、Ruby好きじゃないのにrails使うのかよってところじゃないのか


521:デフォルトの名無しさん
08/04/08 09:45:07
うむ。直観主義論理だな

522:デフォルトの名無しさん
08/04/08 13:48:01
で、Railsとバージョン管理システムの関係は?(スレ原理主義的に)

523:デフォルトの名無しさん
08/04/09 10:54:11
TortoiseHg 0.4 age!
URLリンク(sourceforge.net)

524:523
08/04/09 10:55:13
0.4 RC版だった
スマソ

525:デフォルトの名無しさん
08/04/09 10:57:36
>>523
おぉ、やっと、新しい版が。
sambaの共有フォルダへのアクセスが遅くなる件、確認してみよう。

526:デフォルトの名無しさん
08/04/09 15:08:04
Mercurial 神だな。
なんだ このお手軽さは! すんばらし~

527:デフォルトの名無しさん
08/04/09 15:13:51
マーキュリアルってuにアクセントあるのか

528:デフォルトの名無しさん
08/04/09 15:40:54
>>527
本当だ、u にアクセントがある。
URLリンク(dictionary.goo.ne.jp)

「マーキュロ」に似た感じで発音すればいいのかな。

529:デフォルトの名無しさん
08/04/09 16:03:13
メルクリアルだとばっかり

530:デフォルトの名無しさん
08/04/09 20:48:51
Mercurial って、バイナリファイルの保管は効率的でないの?
まぁ svn でも過剰な期待をしているわけではないんですが。

531:デフォルトの名無しさん
08/04/09 20:57:47
マテリアルと同じ感じでマキュリアルかな。


532:デフォルトの名無しさん
08/04/10 01:12:26
>>530
自分の経験では、
MS Access の MDB ファイル(300KB)を修正しながら
6回チェックインしてリポジトリのサイズが 200KB くらいです。

元ファイルより小さいってことは、初期バージョンを
圧縮して格納しているのでしょうか?

533:デフォルトの名無しさん
08/04/10 01:39:42
git 使ってみたけどリビジョンがないのが面倒に思えた。
実際に使ってる人は不便に感じない?

534:デフォルトの名無しさん
08/04/10 09:39:52
>>533
リビジョンの使い道ってどんな時があるでしょうか?

headやhead^,head~2しか使ったこと無いので…

535:デフォルトの名無しさん
08/04/10 11:59:15
533じゃないけど、バージョン番号に入れたとき長いと人が覚えきれないとかw

536:デフォルトの名無しさん
08/04/10 12:45:57
Mercurial を単独で使い始めてみました。
JapaneseTutorialや、有益なサイトの説明を読んでもみました。

お手軽さはぴかいちですね。
ちょこっと修正履歴を残しておきたい場合など、本当にあっという間に環境が整いますね。

まだまだ使い込みが足りませんが、分散システム故の運用の難しさを感じています。
・本流はどれだろう?
・現時点の最新はどこ?
・自分は今どの位置にいるの?
etc・・・

やっぱり中央リポジトリみたいなものは用意されるんでしょうか?
こまめにマージとかもされてるんでしょうか?
ん~

537:デフォルトの名無しさん
08/04/10 13:06:52
>>533
> git 使ってみたけどリビジョンがないのが面倒に思えた。
> 実際に使ってる人は不便に感じない?
うはw 俺といっしょw
俺もGit使い始めの頃に同じ質問をしたら「リビジョンがあったら何が嬉しいの?」って言われたw
たぶん使ってるうちに必要ないなと思うようになると思うよ。
実際気軽にフォークできるから、あんま意味がなくなっちゃうんだよね、番号は。
プロジェクトの公開リポジトリなら自動で番号振っても良いような気もするけど、
まあタグで事足りるんだよなぁ。
どちらかというと「番号が年上かどうか」で知りたかったことは「いま見ているブランチに
どのコミットが含まれている(いない)か」のほうが重要だから、git show-branchを
俺は多用しています。

538:デフォルトの名無しさん
08/04/10 13:38:52
Subversion 使ってて、まっすぐ増えてくリビジョン番号が無いと困りそうなんだが、
要らなくなるもんなのか?

たとえばこんなの。
・バグレポートがいつの時点のものなのか?
・バグ修正がリポジトリ内のどの時点で行われたのか?
・テストを実行しているのはどの時点の実行ファイルなのか?
全部リビジョン番号で示してれば、以前に報告したバグが今回のテストで
修正確認できるかどうか、すぐにわかるんだが。

539:デフォルトの名無しさん
08/04/10 13:47:33
svn使ってるけど、その手の管理でrev番号を必要とした記憶が無い

540:デフォルトの名無しさん
08/04/10 14:06:54
rev XXXXで・・・って表現の仕方はよくするかな

541:デフォルトの名無しさん
08/04/10 14:31:09
>>538
リリースするときバージョンつけないの?

542:デフォルトの名無しさん
08/04/10 14:33:28
短い番号ってのは自分が把握するのにも人に伝えるのにもわかりやすくて便利だと思う
200804101426みたいなタイムスタンプでもいいけど
何かの暗号みたいなハッシュはちょっととっつきにくい感じ・・・

543:デフォルトの名無しさん
08/04/10 14:37:44
>>541
つけないね。開発と同じフロアにテストする人が居て、少なくとも日に一回ってペースで
実行ファイル更新するから、毎回つけるとなるとちょっと面倒。

それに、リリースにバージョンつけても、そのバージョンで特定のバグが直ってるかどうか
すぐに(リビジョン番号の大小ぐらい簡単に)判別はできないんじゃない?

544:デフォルトの名無しさん
08/04/10 14:41:39
それって、その日解決されたレポート番号一覧を出せばいいんじゃないの?
というか、テストチームに対して、dailyで実行ファイルを更新するという環境が想像できないのだが・・・

545:デフォルトの名無しさん
08/04/10 14:44:01
普通は、「この問題は、(マイルストーン名|タグ名)で解決される」って感じで、
BTSに登録するんじゃないの?

546:デフォルトの名無しさん
08/04/10 14:57:26
bugtraq:*使ってないだろ?

547:デフォルトの名無しさん
08/04/10 17:03:01
つーか、BTS使ってないんじゃね?

548:デフォルトの名無しさん
08/04/10 17:03:50
>>543
リビジョン番号を見てバグが直ってるかどうか判別できるって事のほうがすごいと思うんだが。
毎日テストチームにバイナリリリースするってことはけっこう変更がたて込んでるってことだよね。
俺はSubversionも使ってるけど、リビジョン番号聞いて「あーそれ古い」なんて言えない。
コミットされる度にインクリメントされる番号なんて憶えてられないし印象にも残らない。。。
リリースしてるならバージョンが付くはずだし、その時には変更履歴が付くからそれで分かる、
リリースしてないなら、リビジョン番号があろうと無かろうとログを見て判断するしかないと思う。

549:デフォルトの名無しさん
08/04/10 17:15:48
というか、テスターが勝手にcoなりexportなりして、修正されたバグがないかどうか
調べて、あればそれをテストする、という混沌とした現場なんじゃ。


550:デフォルトの名無しさん
08/04/10 17:17:20
テストチーム(個人?)って、そのときfixされたバグだけを確認してるわけじゃなくて、
リグレッションテストもするはずだから、頻繁にリリースされても困ると思うけど

551:デフォルトの名無しさん
08/04/10 17:28:56
いわゆる「リリース」じゃないんだよ、きっと

552:いろんな現場を体験したことのあるマ
08/04/10 17:45:27
リグレッションテストなんて ここぞ! という時以外あまりやらないな・・・
細かなバグ対処リリースでは無視無視

運用方法に依るんだけどね・・・

553:デフォルトの名無しさん
08/04/10 17:48:39
プログラマならともかく、テスターがリグレッションテストやらないのは問題だろ・・・

554:デフォルトの名無しさん
08/04/10 19:26:27
リビジョン番号の代わりにタグをうつ事をするようにしたら
修正の順番が分かるようになると思う。

今まで番号でやってきたのが変だった、ということか?

555:デフォルトの名無しさん
08/04/10 20:43:27
>>536
> ・本流はどれだろう?
Mercurial では、すべてのリポジトリが対等で本流です。
…が、どれかを本流にし、全ユーザーがそこから clone すれば
中央リポジトリ的な使い方ができます。

> ・現時点の最新はどこ?
リビジョンに「tip」と表示されるのが、そのリポジトリでの最新です。
hg tip で表示できます。
ブランチが複数あった場合には、それぞれの最新が head と呼ばれ、
hg heads で表示できます。
わからなくなったら hg glog をすると、わかりやすく(?)表示されます。

> ・自分は今どの位置にいるの?
上の hg glog のほか、hg stat -v でリビジョンが表示されます。
hg parents で、現在のワーキングディレクトリの元リビジョンが表示されます。

556:デフォルトの名無しさん
08/04/10 20:48:37
リビジョン番号は前後関係がわかるのでよい。
ハッシュは長すぎて覚えられないし。
monotoneのマニュアルには、補完できるように
シェル弄れみたいなことが書いてあったが、
そんなのめんどくせえよ、と思った。
darcsは半分ズレがあるので却下。
bzrが一番よい。-1とか分かりやすいしシンプル。


557:533
08/04/11 00:56:32
>>537
リリースサイクルが長い開発で使用するとなると公開(メイン)リポジトリでは
定期的にタグを打たないと駄目そうかな

まだ個人使用だし考えていてもしゃあないのでまず使ってみる

>>556
>ハッシュは長すぎて覚えられないし。
先頭 4 文字から絞ってくれるよ。 4 文字だと重複する可能性は少し高いだろうけど


558:デフォルトの名無しさん
08/04/11 00:57:08
URLリンク(www.moongift.jp)

Git の GUI ツールが紹介されてた

559:538
08/04/11 01:22:41
うわ。なんかダメな子みたいになってる。
何か重要な概念が欠けてるのかもしれないけど、いちおう返答してみる。

>>544
一覧を「出せばいい」じゃなくて、「出さないといけない」ってことにならない?
めんどくさくね?

リビジョン番号で示してればそれは要らないんだ。少なくともそう思ってる。
修正するときは「rXXXX で修正」で、テスト用の実行ファイルを更新するときに
「rXXXX でビルドしたもの」って伝えれば済む。未確認のバグのうち、テスト中の
リビジョン番号より小さい番号で修正を入れた問題の動作を確認してもらう。

>>548
たとえば r100 のテストで見つかった2つの問題に対してそれぞれ r105 と r108 で
修正を入れたとして、次のテストが r107 で行われた場合は前者だけ動作確認して
もらえるってことがわかる。

560:デフォルトの名無しさん
08/04/11 01:31:23
いやだから、テスターに「bugid 78,80を修正したから」って伝えれば済むんじゃねってことなんだが。
テスターがリポジトリの更新履歴でも見て、何が修正されたかいちいち調べるのか?

561:538
08/04/11 01:35:27
>>560
「rXXXX で修正」って BTS に書き込む(そのときにメールも飛ぶ)から、
いちいち別でまとめてバグ ID 伝えたり、リポジトリ見て調べたりしなくていい。

562:デフォルトの名無しさん
08/04/11 01:35:36
>>559
BTS使ってる?
使ってるなら、何使ってる?
プログラマは何人くらいいるの?
テスターは何人くらいいるの?

563:デフォルトの名無しさん
08/04/11 01:35:38
分散vcsだと結構ブランチが気軽に作れちゃう分リビジョンだと混乱しそう。
いいとこ取りのbzrはその辺どうやって解決してるの?
ユーザー間のチェンジセットとかも考慮できるようだが今のところ興味よりもマンドクセが勝る。
中央リポジトリばかりで開発するようなスタイルだとそこにリビジョンはあってよいと思う。

564:デフォルトの名無しさん
08/04/11 01:37:19
>>561
だったら、BTSのステータスが「修正済み(未確認)」のものをテストすればいいわけで、
リビジョン番号はおろか、タグも必要ないよね?

565:デフォルトの名無しさん
08/04/11 01:41:15
>>559
そこまで理解してくれるテスターがいる事に嫉妬。
こっちはマにリビジョンxxxで~って言って、
「リビジョンって分からないんですけど?」って後で質問が来る世界だ・・・orz

566:デフォルトの名無しさん
08/04/11 01:43:52
まさかとは思うが、ひょっとして、ビルド済みバイナリをテストチームに渡したりしてないよな?

567:デフォルトの名無しさん
08/04/11 01:49:16
つーか、根本的に破たんしてる気がする。
ひょっとすると、プログラマ一人、テスター一人で、デバッグレベルのテストをやってもらってるのだろうか。
それなら頻繁なテスト依頼が行われるというのも理解できる。

568:538
08/04/11 01:57:20
>>564
>559 の最後の例では、 r108 で修正したバグのステータスは「修正済み」になるけど、
r107 をテストしてるときにそいつの動作確認はまだできないと区別できる。

569:デフォルトの名無しさん
08/04/11 01:57:57
よそで自分の意に沿わない運用がなされたとしても、それがなんだと言うんだろう?
そこではリビジョンさえあればうまくいってると言ってるんだから、外野がごちゃごちゃ
言う必要無いよ。
何がしたいの?やりこめたいの?

570:538
08/04/11 02:02:36
悪いけどテスト環境について議論するつもりはないから、リビジョン番号の有用性に
関すること意外はスルーさせてもらうよ。

「リビジョン番号の無いバージョン管理システムでも、こういうテスト体制なら問題ない」
と紹介してくれるんなら歓迎。

571:デフォルトの名無しさん
08/04/11 02:04:07
何で上から目線なんだ

572:デフォルトの名無しさん
08/04/11 02:05:05
>>570
だーかーらー、解決されたbugid一覧をテスターに渡せばいいじゃんか。
やりたくないの?

573:538
08/04/11 02:07:48
>>572 もちろん。めんどくさいじゃないか。リビジョン番号さえあれば済むんだから。

574:デフォルトの名無しさん
08/04/11 02:08:13
じゃぁ、svnに戻せよ。
アホか

575:デフォルトの名無しさん
08/04/11 02:09:08
BTSに、修正リビジョンを書くことが、なんで破綻してるとかって話になるんだ?
いつ何を修正したか記録するのは当然だと思うんだが…。

576:デフォルトの名無しさん
08/04/11 02:12:11
>>575
いや、破綻してると思ったのは、開発プロセス全体がってことで、BTSに修正した
リビジョンを書くのは問題ない。
プロセスに関しては議論したくないみたいだから、俺は消える。

577:538
08/04/11 02:13:21
>>572
もしかして、リビジョン番号の無いバージョン管理システムでは
リポジトリ内のある時点からある時点までの間に「解決されたbugid一覧」を
作るための機能がついてるの?

そうじゃなけりゃ >572 の言い方は、リビジョン番号がなくなると(538的な意味で)
不便になる点があるってのを言ってくれてることになる。

578:デフォルトの名無しさん
08/04/11 02:14:37
575書いたあとに570とか読んでちょっと馬鹿馬鹿しくなった(´・ω・`)

>>570
リビジョンのないVCSなら素直にタグ打てば済む話だと思う。
分散VCSの性質上、連続したリビジョンが付けられないのは当然だろう。

579:デフォルトの名無しさん
08/04/11 02:18:01
>>577
だーかーらー、タグ使うか、おまえが一覧作れって。
タグ打つのもいやで、svnでうまく回ってるなら、svnでいいだろうが。
お前は一体何がしたいんだ。

580:538
08/04/11 02:18:50
仮に今回挙げたテスト体制をリビジョン番号の無いシステムに移すとすれば、
テストするバージョンにタグをちゃんと打つこと、タグ間で修正されたバグの一覧は
別で作成すること、が必要になるってことだね。

ひととおり納得したよ。ありがとう。

570 の書き込みは、正直スマンカッタよ。

581:デフォルトの名無しさん
08/04/11 02:21:11
なぁ、各VCSのcook book的なものを一通り読んでから議論しても遅くなかったぞ。

582:デフォルトの名無しさん
08/04/11 07:58:28
これはひどい

583:デフォルトの名無しさん
08/04/11 08:16:08
ゆとりに構ってスレの無駄使いは止めましょう

584:デフォルトの名無しさん
08/04/11 08:51:11
コミットログちゃんと書けば済む話ジャネーノと思った

585:デフォルトの名無しさん
08/04/11 13:51:41
>>557で>まだ個人使用だし考えていてもしゃあないのでまず使ってみる
って書いてるしそれでいいんじゃないかと思うけどね。うまく説明できないのは少し残念だが。
俺も最初番号が無いのに戸惑ったけど、使ってるうちにリビジョン番号は必要ないなって
思うようになった。

586:デフォルトの名無しさん
08/04/11 19:02:31
538には必要なんだよ

587:デフォルトの名無しさん
08/04/12 02:02:48
Subversionのリビジョン番号は、その時点のリポジトリ全体の状態を決定するけど、
gitやMercurialのハッシュ値はそのチェンジセットを表してるだけなんだな。
この辺の考え方の違いに気づくまでわかりづらかった。

588:デフォルトの名無しさん
08/04/12 10:59:32
全体で一貫したリビジョン番号である svn は、リリース時のバージョン№付与する時に便利だったんだよね
V1.0.2553 とか 3番目をリビジョン番号使ってたんだけど、
Mercurial を使ったとしても、各リポジトリでリビジョン番号は合ってないから無理だな・・・
ハッシュ値は付けられんし・・・、ちょっと考えないといけないな。


589:デフォルトの名無しさん
08/04/12 13:06:40
>>588
つ[日付]

590:デフォルトの名無しさん
08/04/12 13:18:20
適材適所で Subversion 使えばいいじゃん。
ただしリビジョン番号に依存した運用は、
dump → restore したときに番号が変わると破綻する。

591:デフォルトの名無しさん
08/04/12 15:22:59
ほんとタグ付けのが嫌いなやつが多いな。
それとも、そんなに頻繁にリリースるのが流行ってるのか?
一週間に一回なら、手動でリリースタグ打ってもたいしたことないだろ。
デイリーなら日付入りな。
それ以上頻繁なリリースなら・・・知るか。

592:デフォルトの名無しさん
08/04/12 18:09:10
自分はリリースごとにタグ打ってるけど、
それぞれ好きでいいんじゃないだろうか。

593:デフォルトの名無しさん
08/04/14 14:09:29
いや、多分集中レポジトリ使ってると
タグうつ権限とかも運用上集中管理してて大変だというイメージがあるんじゃなかろうか?

やっぱ、運用がごろっと変わると大変なんだろうけど
その辺りの共通認識がここで話をしてる人の間でないから話が食い違うんだろう。

594:デフォルトの名無しさん
08/04/16 23:00:10
いままで CVS をひたすら使ってて、Subversion に移行しつつあったけど、
Mercurial というのを知って、こちらに本格的に移行することにしました。
あとは、Xcode が Mercurial に対応してくれたらなぁ。

595:デフォルトの名無しさん
08/04/18 02:07:37
>>470
kwsk!!

メインがsvnでも、自分のとこ?(というかクライアントマシン?)だけ
分散型でいけるの?
参考になるページとかないですかね

>>591
それこそ、svnならタグ付ってメッチャ早かったとおもうけどn・・・

596:デフォルトの名無しさん
08/04/18 09:57:54
>>595
詳しくないけど答えてみる。

svnリポジトリからcoした作業コピーを、ローカルでgitみたいな別のツールで管理する
ことはできるんじゃないか?

svn co ほげ
git init
git add .
git commit -a

編集

以下、リモートとやりとりするときはsvn、ローカルではgitと、使い分ければいいような。

以上、妄想でした。

597:デフォルトの名無しさん
08/04/18 14:34:10
>>595-596
git-svn を使うって話じゃないの?

598:470
08/04/18 15:59:09
>>595
>>597の言うようにgit-svnでやってますえ。
中央のSubversionリポジトリとローカルのGitリポジトリをマージしながら
使うようなイメージ。
けれど中央をsvnしてるぶん、つねにsvnにくっついていかないといけないのが
ちょい面倒に感じるけど、まあ仕方ないかな。

>>596
そんなやり方でも出来そう!って思ったけど、svn upした時に上書きされて泣いたりとか
しそうだな。。。git-svnならsvn upの代わりにrebaseを使うので、いい感じです。

599:デフォルトの名無しさん
08/04/18 16:42:47
hgsvnにバグがある

aというディレクトリがあって、その中にfoo.txtっていうファイルがある。
aをbという名前でコピーしてコミット。
b/foo.txtをsvn rmで削除して、a/foo.txtをbの下にコピーしてコミット。

こうやって作ったsubversionのリポジトリからhgimportsvnとhgpullsvnを使うと
a/foo.txtが削除された状態(hg stで?が付く)になってしまう

600:デフォルトの名無しさん
08/04/18 17:20:50
ちなみに、開発者にはメールで報告済みだが、連絡・修正はない

601:デフォルトの名無しさん
08/04/20 14:40:35
Mercurial のマージの概念がよくわかりません

同じリポジトリ内の複数リビジョンの間でしかマージできない?
それとも、過去に hg clone して派生したリポジトリ間でしかマージできない?

同一リポジトリ内の tip リビジョンのファイルとコミット前のファイルのマージはできないのでしょうか?
そのとき、ファイル名は指定できませんか?

ファイル構成がほとんど同じだが過去に hg clone では派生していない 2 つのリポジトリ間ではマージできないのでしょうか?
例えば、ディレクトリコピーなどで複製され、それぞれのディレクトリで 1 回目の hg commit を実行した場合など

602:デフォルトの名無しさん
08/04/22 17:17:40
>>601
>>601
Mercurial では無関係なリポジトリ同士でマージができる。
ちょいと長いけど、以下、やってみたのを貼ってみる。

たとえば2つのリポジトリ、repo1 と repo2 を作成する。
(TortoiseHG 付属の hg で実行)

> mkdir repo1
> hg init repo1
> mkdir repo2
> hg init repo2

repo1 には A.txt を作成する。
> cd repo1
repo1> echo A >A.txt
repo1> hg add A.txt
repo1> hg commit

repo2 には B.txt を作成する。
repo1> cd ..\repo2
repo2> echo B >B.txt
repo2> hg add B.txt
repo2> hg commit

続く。


603:デフォルトの名無しさん
08/04/22 17:18:03
続き。

repo2 に repo1 の内容をマージする。
hg pull に -f オプションを付けるのがミソ。付けないとエラーになる。
repo2> hg pull -f ..\repo1
pulling from ..\repo1
searching for changes
warning: repository is unrelated
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)

結果的に、repo2 内に2つの head(ローカルブランチ)ができる。
repo2> hg heads
changeset: 1:74581af5a0ee
tag: tip
parent: -1:000000000000
user: hoge
date: Tue Apr 22 16:43:54 2008 +0900
summary: Initial.

changeset: 0:f58274ede46b
user: hoge
date: Tue Apr 22 16:44:23 2008 +0900
summary: Initial.

続く。


604:デフォルトの名無しさん
08/04/22 17:18:16
続き。

ブランチをマージする。
repo2> hg merge tip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
repo2>hg commit
repo2>hg update
(同名ファイルがあった場合には、内容を編集しなければいけない。
いわゆるマージ・コンフリクト)

するとローカルに A.txt と B.txt ができるので、無事に2つのリポジトリが合成されたのがわかる。
Mercurial のリポジトリは対称なので、repo1 では repo2 から pull すればいい。
ただし、repo2 には「repo1 と合成した」という記録が残っているので、-f は必要ない。
repo1> hg pull ..\repo2
でいける。


605:デフォルトの名無しさん
08/04/23 23:32:12
>>602

サンプル付きでありがとー
今度試してみます

じゃあ、ファイル中の一部分を差分比較対象から除くことはできますか?
例えば、RCS/CVS/Subversion のキーワード置換 ($Revision とか) みたいな
内容が異なる可能性があるけど、差分としては検出して欲しくない部分

606:605
08/04/23 23:33:30
そういえば、Subversion でもキーワード置換以外に
ファイル内の一部分を差分比較対象から除く方法を知らない…

607:デフォルトの名無しさん
08/04/24 13:09:57
>>605
KeywordExtension というのがあります。
「どのファイルの」「どんなキーワードを」「何にする」というのを指定できます。
URLリンク(www.selenic.com)

リポジトリ中のファイルにはキーワードが未展開で($Id$ とか)格納され、
ワーキングディレクトリに取り出すと展開型($Id: hoge.txt 2008/04/24 moge$ とか)に
なります。

608:デフォルトの名無しさん
08/04/24 16:56:48
>>605
実際にやってみたので、ちょっと長いけど貼ってみる。

まず、リポジトリ repo1 を作成する。
>hg init repo1
>cd repo1

ここで以下の内容で repo1\.hg\hgrc というファイルを作成する。
*.txt でキーワード展開せよ、という指示をしている。

[extensions]
hgext.keyword=

[keyword]
*.txt=

[keywordmaps]

キーワードは最後の [keywordmaps] の後に書き込む。
$Id$ は書かなくてもキーワード登録されているので、
今回はそれを使用する。

続く。


609:デフォルトの名無しさん
08/04/24 16:59:23
続き。

test.txt というファイルを作成し、リポジトリに追加する。
>echo $Id$ >test.txt
>echo テスト。 >>test.txt
>hg add test.txt
>hg commit -m "Add test.txt."

この時点ですでに $Id$ がキーワード展開されている。
>type test.txt
$Id: test.txt,v c5c7047c9e51 2008/04/24 07:38:09 maru $
テスト。

次に test.txt に変化を与える。
>echo 追加。 >>test.txt
>type test.txt
$Id: test.txt,v c5c7047c9e51 2008/04/24 07:38:09 maru $
テスト。
追加。

続く。


610:デフォルトの名無しさん
08/04/24 17:00:06
続き。

変更は Mercurial に認識されるが、キーワードは変更から無視されている。
>hg stat
M test.txt

>hg diff test.txt
diff -r c5c7047c9e51 test.txt
--- a/test.txt Thu Apr 24 16:38:09 2008 +0900
+++ b/test.txt Thu Apr 24 16:38:35 2008 +0900
@@ -1,2 +1,3 @@
$Id: test.txt,v c5c7047c9e51 2008/04/24 07:38:09 maru $
テスト。
+追加。

コミットすると $Id$ の内容が更新される。
>hg commit -m "Add a line to test.txt."
>type test.txt
$Id: test.txt,v 1ebd174ad8f0 2008/04/24 07:38:35 maru $
テスト。
追加。

続く。


611:デフォルトの名無しさん
08/04/24 17:00:49
続き。

前のリビジョンとの差分を取ってみる。やはりキーワードは無視されている。
>hg diff -r 0:1 test.txt
diff -r c5c7047c9e51 -r 1ebd174ad8f0 test.txt
--- a/test.txt Thu Apr 24 16:38:09 2008 +0900
+++ b/test.txt Thu Apr 24 16:38:35 2008 +0900
@@ -1,2 +1,3 @@
$Id$
テスト。
+追加。

長々とスレ汚しスマソ。



612:デフォルトの名無しさん
08/04/24 21:34:24
駄目なレポートの典型だな。
まず結論を書け

613:608
08/04/25 02:32:56
>>612
すいません。
結論は >>607 に書いたつもりでした。

614:デフォルトの名無しさん
08/04/29 08:17:14
>>612
だめな講評の典型的な例だな
まず本文を読め

615:デフォルトの名無しさん
08/04/29 08:56:10
そういうのいいから

616:デフォルトの名無しさん
08/05/12 03:25:59
MercurialHgでpushするときの方法を書き留めておくテスト
*** http authorization required
URLリンク(user:password@mydomain.org)


617:デフォルトの名無しさん
08/05/16 00:09:53
Mercurial使いたい……
けどHaskellerだからdarcsなんだ。

618:デフォルトの名無しさん
08/05/16 00:46:11
言語に括っても良い事無いよ

619:デフォルトの名無しさん
08/05/16 01:19:09
tracとhg使ってる理由

620:デフォルトの名無しさん
08/05/16 18:55:09
>>617
HaskellerがdarcsではなくMercurialを使いたい理由を詳しく

621:デフォルトの名無しさん
08/05/16 19:31:30
Windows版のdarcsで、
darcs unrevertを実行すると、

darcs failed: Couldn't parse unrevert patch:
Patch bundle failed hash!
This probably means that the patch has been corrupted by a mailer.
The most likely culprit is CRLF newlines.

こうなってしまうんですがどうすればいいんでしょうか?

622:デフォルトの名無しさん
08/05/18 05:28:07
darcsに興味をもっていろいろ読んでみたけど,darcsでは1つのリポジトリに複数のブランチを作れないんだね。
ブランチを作りたかったら,新たにリポジトリを作りなさいとある。
1リポジトリ,1ブランチということらしい。
URLリンク(wiki.darcs.net)

マージ機能が強力そうだからそれで問題ないのかもしれないが,
管理が面倒そうだな。

623:デフォルトの名無しさん
08/05/22 13:32:51
Mercurialのような分散リポジトリでは、作業ディレクトリ
自体が既にリポジトリなわけで、そうするとそれはどんどん
肥大化してしまうのでしょうか?めちゃくちゃ過去の変更
に関してはどっかのリポジトリにあってくれれば良いので、
自分の手元には最近のリビジョンに関する情報だけ
あってくれれば十分なんですが・・

624:デフォルトの名無しさん
08/05/22 13:34:22
バカはうだうだ言うよりまず使ってみた方が良いよ
バカな質問してるのが良く分かるから

625:デフォルトの名無しさん
08/05/22 21:41:19
>>624の方が馬鹿っぽい

626:デフォルトの名無しさん
08/05/22 23:43:59
バカバカ言い合う事に何の意味があろうか。

627:デフォルトの名無しさん
08/05/23 00:24:38
>>623
HGはよく分からないけど、GitだとたまにGCして圧縮したり、
同じファイルシステムにある同じようなリポジトリ(クローン元とか)は
ハードリンク使ったりとかしてるね。
分散リポジトリという仕組み自体、裕福なリソースが無いと実現出来なかったものだと
俺は思ってるんで、あまり気にしなくて良いような気もするけど。
KDEまるごとクローンしたりするとかなり大変らしいが。

628:デフォルトの名無しさん
08/05/23 09:30:52
mercurial-1.0.1.tar.gz

629:デフォルトの名無しさん
08/05/27 19:56:16
WinXPでtortoiseSVN使い始めたですが、
svn+sshなのでコミットするたびにパスワードを入力するのが面倒です。
かといって、SSHクライアント指定してplinkにユーザ、パスワードをベタ書きしたくないので
Roboformみたいに一度マスターパスワードを入力すれば、リポジトリURLをキーとして
ログインパスワードを入力してくれるツールがあるといいなと
思ったのですが、tortoiseSVNで使えそうなツールないですか?

630:デフォルトの名無しさん
08/05/27 20:14:40
>>629
ssh-agent

631:デフォルトの名無しさん
08/05/27 20:16:46
putty では pageant.exe だった

632:デフォルトの名無しさん
08/05/27 22:44:03
win上でhg使ってたら、リポジトリが壊れてがっかりした。
ファイル名の大文字小文字の問題なんだけど

633:デフォルトの名無しさん
08/05/27 23:03:27
>>632
げげっ そうなんだ・・・
お手軽なので重宝してたんだけど、やっぱりもう少し待った方がいいのか?

634:デフォルトの名無しさん
08/05/27 23:07:19
それは、ファイルシステムの問題だろ。
大文字小文字を区別しないと同一名になるファイルを管理してる奴は、
Windows上で使っちゃ駄目。

635:デフォルトの名無しさん
08/05/27 23:23:18
FSの問題ではあるけど、壊れる操作を行えてしまうのはどーかな

636:デフォルトの名無しさん
08/05/27 23:41:45
大文字小文字を区別する環境に依存した物を
大文字小文字を区別しない環境に持っていく奴の脳みそが
どーかなだよまったく

637:デフォルトの名無しさん
08/05/28 00:00:06
すでに、Abcd.cが管理下にあるのに、
うっかり、hg add abcd.cしてコミットしたら、
たぶんおしまい。今手元にwindowsがないので、確認できないけど。

638:デフォルトの名無しさん
08/05/28 00:50:29
>>636
hgって大文字小文字を区別する環境に依存してるの?
pythonで書かれてるとか聞いたんで、環境依存は凄く小さいかと思ってた。


639:デフォルトの名無しさん
08/05/28 01:16:41
pythonがcase sensitiveだから。
というかcase insensitiveな言語は、ほとんど見ないが。
そういう意味では、Windows はかなり特殊な環境だというのを自覚しないといけないな。
NTFSがcase sensitiveなのに、Windows OSが insensitiveなのは最悪。

640:デフォルトの名無しさん
08/05/28 01:25:45
>>590
svndumpでバックアップ取ってんだけど、
バックアップから戻したらリビジョン番号変わっちゃうの??

641:デフォルトの名無しさん
08/05/28 01:26:41
↓これTortoiseSVNのマニュアルなんだけど、文字化けして見えるのはウチだけ?
URLリンク(nchc.dl.sourceforge.net)

642:デフォルトの名無しさん
08/05/28 01:31:27
ちょっと前にあった、リビジョン番号の議論の結論は、
「やっぱりリビジョン番号便利」と言うことか。

まあ当たり前だよな。
自動で全順序性が保証された識別名が得られるのが便利でないはずがない。

643:デフォルトの名無しさん
08/05/28 01:33:06
>>641
化けてるな。

644:デフォルトの名無しさん
08/05/28 01:33:50
>>639
今は亡きキルドールに文句言って下さい。
Windowsの変な仕様のかなりの部分はCP/Mから来てます。

645:デフォルトの名無しさん
08/05/28 01:46:13
                |
                |
                |
                |
     /V\        ,J>>642
    /◎;;;,;,,,,ヽ
 _ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'


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