[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/16 08:56 / Filesize : 206 KB / Number-of Response : 808
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

バージョン管理システムについて語るスレ



1 名前:デフォルトの名無しさん [2007/10/26(金) 02:15:00 ]
バージョン管理システムについて語りましょう。

関連スレ
CVS 1.3 [UNIX板]
pc11.2ch.net/test/read.cgi/unix/1093611448/
CVS導入スレ〜 Rev.3 [プログラム板]
pc11.2ch.net/test/read.cgi/tech/1113141518/
Subversion r7 [プログラム板]
pc11.2ch.net/test/read.cgi/tech/1180858500/

29 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 16:28:31 ]
>>28
darcsにも問題がある。
quilt / dpatchと同じようなデータ管理をやっているので
どうしても速度が遅くなる

30 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 20:54:08 ]
>>29
kwsk

31 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:31:27 ]
ファイルの移動に対応しているようなバージョン管理システムってあります?
a.txt -> b.txt としたとき、「a.txt を消して b.txt を新規追加」とかでなくて。

32 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:35:27 ]
subversionは、b.txtはa.txtのコピーであるという記録が残って、
初代a.txtまで履歴をたどれる。
古い差分を取ってみると、昔のa.txtとの比較になる。

他はしらん。


33 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 19:46:37 ]
>>31
新しいやつはほとんど出来る。
CVSは無理。

34 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:23:46 ]
>>32-33
サンクス

今は CVS を使ってるんだけど、ファイルの移動に限らずいろいろ不満が出てきたので
別のシステムへの移行を考えていたところでした。

ちょっと調べてみたけど、Mercurial が第一候補かなぁ、という感じ。
基本的には自分だけでの管理なので、分散である必要はないんだけど。

35 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:27:47 ]
>>34
自分だけの管理だったら分散型のほうがいいと思うけど。

36 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 09:23:46 ]
Mercurialを使ってみた感想。

* Subversionと違い、Mercurialではリビジョン番号がincrementalに増えていかないので(分散型である以上仕方ない)、リビジョン番号だけでは古いのか新しいのか判断できない。
* Keywordを展開する機能($Rev$とか$Date$とか)が標準ではなさそう。pluginを導入する必要がある。

気になったのはそのくらい。それ以外では特に不満なし。
特に .hg がトップディレクトリにひとつ作られるだけというのはいい設計だと思った。 .svn が各ディレクトリに作られる Subversion がださく見えてしまう。

37 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 15:12:06 ]
TortoiseMercurial みたいな優れたフロントエンドがないと うちの会社じゃ無理だな・・・
はぁ〜



38 名前:デフォルトの名無しさん [2007/11/12(月) 17:42:35 ]
>>37
TortoiseHg
tortoisehg.sourceforge.net/

39 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:45:44 ]
しかし盛り上がらないスレだな。世間ではバージョン管理をろくにしていないのか
話題にする必要がないくらい定着しまくっているのか。

40 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 19:40:01 ]
集中型はもう浸透しただろうな。
今時点で使ってないとこは今後も使わないだろうし。
分散型はOSSでは使われ始めてるけど、まだまだこれから。

41 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 20:44:26 ]
Mercurialを使ってみました。

まだ全然使いこんでないけど、ちょっと不満に思ったのは、
・ファイル名を変更して diff したとき、変更前は無視される
(つまり >>32 のようにはならなくて、diff については事実上 >>31)
・コメントなしで commit できない (-m "" とかで可能? 確認するの忘れた)
というところかな。

分散型で一般に言えることなのかどうか分からないけど、>>35 の言う通り、
一人でのみ管理なら Mercurial の方が CVS とかよりラクかも、と思った。
(今、俺の中での Mercurial の理解は、管理ファイルの同期を取れる RCS)

42 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:22:34 ]
>>41
-m "comment" はあるね。

>(今、俺の中での Mercurial の理解は、管理ファイルの同期を取れる RCS)
おれもそう思った。なんというか、ディレクトリを再帰的に辿ることのできるRCS。


43 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:34:45 ]
Alienbrain は、うんこ。

44 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 22:54:53 ]
Mercurial を使ってる方がいたら質問。
Win クライアント <-> Linux サーバで Mercurial を運用しようと思ってますが、
Win 側で、フォルダ・ファイルに日本語つけても、他の Win クライアントでも日本語はちゃんとしてますか?


45 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 19:19:47 ]
>>44
Mecurial 0.9.5 の official と、batteries 両方の hg を試してみたけど、
なんか駄目っぽいな。
たいがい大丈夫だが、日本語のフォルダ名で、片仮名の「ソ」が入っていると、
hg --encoding cp932 add
で、
ソフトウェア does not exist!
と表示されてしまい、add することができなかった。
ちなみに
hg status
とすると「ソ」が入っていてもリストには出てくる。なんじゃらほい。




46 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 19:20:51 ]
便乗質問だが、Mecurial の TortoiseHG ってどうやって使うんだ?
Mercurial 0.9.5 batteries インストールして、
c:\>tortoisehg /register
として登録しても何も現れんが・・・

47 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 19:24:27 ]
どっかのサイトでソースいじって何とかしてた。どこかは思い出せないけど。
がんばれ。



48 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 20:51:58 ]
python.matrix.jp/modules/mercurial.html

49 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 21:50:42 ]
>>47
>>48
どもです。ソースからやらないとだめみたいですね。
普段 Cygwin 使わないので、Mercurial のためにインストールするのはなぁ、と思いますが
インストールして試してみます。

50 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:04:52 ]
>>49
Cygwin を入れてソースからやってみました。
結論からいうと、日本語の一部がだめです。大概の日本語はうまくいくのですが、
「ソ」や「表」のような字が入っていると、もうだめです。

$hg add
abort: No such file or directory: /cygdrive〜

>>48
のソース改編や環境変数 HGENCODING なども試しました。
set HGENCODING=cp932
set HGENCODING=shift_jis
などです。

Windows 日本語環境で Mercurial について解説されているのは、
ttp://www.lares.dti.ne.jp/~foozy/fujiguruma/scm/mercurial-encoding.html
ttp://python.matrix.jp/modules/mercurial.html
ですが、この方も「表」や「ソ」という文字は試していないみたいですね。

51 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:12:24 ]
表\
ソ\
申\
能\

52 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 02:15:45 ]
「表」と「ソ」が駄目って時点で、原因はわかったも同然だと思うのは、
すでに老人の証なのだろうか?

53 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 03:09:07 ]
set HGENCODING=unicode
とかだろ常考

54 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 11:35:31 ]
>>52
shift_jis の文字名井に ¥ が入っていて、パス区切りと間違えちゃう件ですね。

>>53
set HGENCODING=unicode
でも、ダメでした。
どういう環境でやってますか?
こちらは、
Windows インストーラの 0.9.5 と
Cygwin + Mercurial 0.9.4 ( Cygwin ダウンロード )
で両方試してみましたが、ダメでした。

55 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:56:45 ]
ソースファイルの保存時のエンコード
スクリプトファイルの実行時のエンコード指定
ソース中でのコンバートの有無

すべて晒せ
話はそらからだ

56 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 15:38:39 ]
>>55
ソースファイルの保存時のエンコード :
ソース中でのコンバートの有無 :
www.selenic.com/mercurial/release/mercurial-0.9.5.tar.gz

スクリプトファイルの実行時のエンコード指定 :
cygwin で LANG=ja

追記
python.matrix.jp/modules/mercurial.html
の修正をやってみた。


57 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 06:23:21 ]
UTF-8 Cygwin 使ったらなんとかならん?



58 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 23:39:54 ]
日本語なんか使ってるやつはばかです

59 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:01:25 ]
>>58
おもしろおかしい

60 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:45:18 ]
日本語というか他国語対応はリソースで管理すべきであって(ry

61 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:43:54 ]
TortoiseHG 使えてる人います?
>TortoiseHG /register
でも使えないよ。

62 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 21:55:12 ]
>>58
ばかな奴でも使えるVCSじゃないと、意味が無いんだよ

63 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 23:29:16 ]
GitかMercurialのどちらか使ってみようと思うんだけど、
subversion使ってた自分なら、どっちの方が乗り換えやすいかな?

64 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 01:32:59 ]
どっちか覚えればどっちもほぼ違和感なく使えるかと。
gitはc、hgはpython。速度差はそんなにはないと思う。

svnスレにあったチートシート載せとく。
ktown.kde.org/%7Ezrusin/git/git-cheat-sheet-medium.png
www.ivy.fr/mercurial/ref/v1.0/Mercurial-Usage-v1.0-120dpi.png

65 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 16:26:26 ]
darcs で特定の時点のソースを取り出すにはどうしたら良いでしょうか

66 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 20:10:17 ]
ttp://po3a.blogspot.com/2007/12/subversion.html
リーナス・トーバルズ「Subversion ほど無意味なプロジェクトはない」
あいかわらずの Linus 節炸裂

67 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 20:59:06 ]
大御所なんだから、もうちょっと言葉に気をつければいいのにな。
まあその身軽さがウリなのかもしれんが。



68 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:03:37 ]
>>67
いゃ~。向こうの大御所は、みんなはっきり言うよ。辛辣なぐらいにね。
ストールマンもすごかったし。

69 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:04:27 ]
勉強不足でスマンが Python ってインタプリタ?


70 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:11:58 ]
>>69
いぇs

71 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:17:06 ]
>>69 ともあれスレ違い

技術的なポリシーにもとづいた批評は激しくてもいいよね。
今回のネタだと、マージに気を払ってない管理システムはダメとか。

ただ、ストールマンは意図的に、政治的に過激なことを言ってるわけだけど、
ライナスのほうは天然、って希瓦斯。

72 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:26:42 ]
天然というか馬鹿なんじゃ。
自分の作ったオモチャがタネンバウムに批判されて
散々フレームしたこと忘れちゃったのかね。
……とうとうライナスもじじい陣営の仲間入りか。

73 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:29:50 ]
まあでも影響力が大きいのは確かだろうな。
おそらく今後SCMではマージに気を使う動きが出るだろうし。

74 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:01:43 ]
ん〜
分散型に対するリテラシーが全然足りてないな・・・
TortoiseHG のインストールというか、インストールファイルがどれなのかもよ〜わからん


75 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:03:56 ]
頼むからwindowsを使うのを止めてくれ。

76 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:15:23 ]
>>74
ttp://www.selenic.com/mercurial/
こっちのNewsから行った方が早い


77 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:40:57 ]
>>76
ありがとう。
教えて貰ったところから
Mercurial-feac5b0bf9ba-TortoiseHg-1f161ca182e3.exe
をダウンロード&インストールしたら、出来た。

し・・しかし、なんかよ〜わかりません。
svnでいうワーキングコピーというものはないの?
いきなりリポジトリ?

いや、すまんです。勉強します。
でも、サックリ サックリ 動きますなこれ。まだ何もありませんが・・・



78 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:43:22 ]
>>77
TortoiseHG のインストールがうまくいったら、教えてくれ。

79 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:05:35 ]
svnとgit/mercrialの違いをまとめてるサイトないかな。

80 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 09:49:57 ]
>>78
77じゃ無いけど、とりあえず動いてます。
問題は、cp932でコメント書いてるとマージがコンフリクト解決の手動マージが上手くいかない点です。
UTF8にすればよいんだろうけど、
それは 避けたいので試行錯誤中です。

81 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:01:42 ]
>>77

分散型だからワーキングコピーもレポジトリ扱いみたい
とりあえず、使ってみたコマンドとsvnっぽい対応付け

checkout . . . . . . . . .: hg clone <src repository> <dest repository>
create . . . . . . . . . . .: hg init
show log . . . . . . . . .: hg log [-v]
破棄(rollback) . . . . : hg revert <--all | <files>>
status . . . . . . . . . . . : hg status
diff . . . . . . . . . . . . . .: hg diff
commit . . . . . . . . . . .: hg commit [-m <description>]
ソースの切り替え . .: .hg pull <src repository>
merge . . . . . . . . . . . .: hg merge

pullで切り替えてマージできるのは良いと思いました。

82 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:04:23 ]
海の向こうのソフトだから
日本語はいろいろ問題がでる


83 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:32:59 ]
バージン管理システムは有料のも含めるとどれがお薦めですか?

84 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:48:45 ]
要件も何も書かずにそれかい

85 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:55:27 ]
>>83
VCSならとりあえずsubversioin。一番普及してるし、IDEのプラグインなんかも多い。
SCMならgitかmercrial。今流行ってるし、おそらく今後SCMのsubversion的ポジションに着くはずだから。
どっちも無料なんで、自分で試して決めてくれ。


86 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:14:12 ]
>>83
つ[貞操帯]
いや、それがどんなものかは知りませんが。
つーか、鼬害。

>>85
それで管理できるんかいw


87 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:15:23 ]
revertできるのがいいよね。



88 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:19:45 ]
commitしたらrevertできません。

89 名前:85 mailto:sage [2007/12/05(水) 11:22:04 ]
マジレスしちまったorz

90 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:26:11 ]
>>89
まぁ、成り行きでcommitしちゃうことはよくあるさw
# commitした成果ができたら責任取ってね♥

91 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:33:47 ]
uncommit すればいいじゃない

92 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 12:36:22 ]
mercurialで、localで行ったcommitをremoteに反映させる方法がわからん。

93 名前:80 mailto:sage [2007/12/05(水) 13:48:26 ]
cp932のソースを ui.mergeを弄って、外部マージソフトでマージ確認できました。
(TortoiseMerge、winmerge、kdiff3)
今は、winmergeを採用していますが、
kdiff3で日本語を重ならずに表示する方法があれば、kdiff3に変えたいのですが、
ご存知のかたいらっしゃいませんか?

94 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 13:48:28 ]
push すればいいんじゃないかな。
remote 側で pull してもいいけど。

95 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 08:17:31 ]
今、mercurial使ってるんですが、gitが気になります。
両方使っている人がいたら、mercurialと比べたときのgitの利点・欠点を教えてください。
mercurial知ってればgitは特に必要ないとか、いやgitはgitで勉強する価値はあるとか、お願いします。


96 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 11:31:30 ]
>>95
俺は全く逆のパターンで、Git使ってるんだけどhgがちょい気になる、、、
とはいってもGitでかなり満足してるので「気になる」といいつつ試してないんですが

97 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 13:37:56 ]
gitってlinux kernelのバージョン管理のために作られたんでしょ?
mercurialに比べて汎用性がなさそうなんだけど、そこらへんどうなんだろ。



98 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 15:14:58 ]
96と同じくgit使ってて、
このスレでmercurialがよく話題に上るから気になったんだけど。

とりあえず、mercurial install してみて、 pythonで書かれているのに気付いて、
微妙に、やる気を失った、俺がいる。

ちなみにgitは C と sh (bash?)

99 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 15:22:35 ]
日本語の扱いに問題がある時点でやる気なし

100 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 16:51:54 ]
>>98
Mercurial使ってます。
Mercurialは、CとPythonですよ。
殆どがPythonでパフォーマンスに関わる部分がCになってるそうです。
昔の、BASIC+マシン語を思わせる設計が私の好みです。

その点、C+shellと似てるんでしょうかね?
(gitはCが大半なのかな?)

MercurialはGUIサポートが貧弱だったのが、困りものでしたが
最近は、Netbeansのプラグインでサポートされはじめたり、
TortoiseHgが開発されたり、
OpenJDK、Mozilla,OpenSolarisなどのメジャーなオープンソース系ソフトの
移行がニュースになりつつあり前途が明るくなってきてると思います。
Sunの手がけてるのが多いのは、たぶん、Sunのプロダクトだった
Teamwareにインターフェースが似てるからだと思う。
昔のエンジニアが、そのまま使える感じで移行してる気がする。
Teamwareは、私も昔使ってたので同じ理由で好みにマッチしてる気がします。
さらに、Pythonで殆ど書かれているので、移植性も高いんじゃないかなぁ?

Gitは気にはなってるけどたぶん、手を出さないと思う・・・
でも知識としては知っておきたい。Gitを使ってていいと思う部分があれば知りたいかなぁ。

101 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 18:34:45 ]
MercurialはPythonさえ使用可能であれば、レンタルサーバでも気軽に入れられるので重宝してる。

102 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 03:53:58 ]
cモジュールがインストールできないとだめじゃね?
昔cgiで使おうとしたときにdiffとかのモジュールがcだったから.pyで書き直したりした

103 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 05:39:46 ]
>>97
確かにメール <--> パッチ <--> リポジトリ に便利なコマンドが揃ってて
なるほどなーって感じだけど、汎用性(?)がないってことは無いと思う。

うーん、やっぱMercurial気にはなるんだけど、どうも突撃できない。。。

Gitの前はsvk使ってたんだけど、Gitでこりゃ新しい、と思ったのは、
Indexっていう、ワーキングコピーとリポジトリデータベースの中間みたいなのが
あって、コミットする時にはIndexにいったん格納してからリポジトリに送る、
っていう方式が斬新だなぁ、と思った。
俺の使い方としては、編集して納得したファイルはその時点でどんどんIndexに
追加してしまっておく。Index追加済みのものは通常のdiffコマンドで対象外に
なるので(Index追加済みのものとリポジトリの間の差分を見る場合はdiffに
オプションを付ける)続けて編集し始めたファイルの差分だけまたdiffコマンドで
見ることが出来る。
だからIndexに追加したファイルは仮にコミットしたみたいな感じかな。
これをやると、変更したつもりのないファイルを間違えて変えてたり、
Indexに追加した後でさらに何か変更を加えてたりすると、気づくことになる。
あまりこれやってるとなかなかコミットしなくなるけどw機能的にまとまった
段階でコミットを作ったほうがいいように思う人とか、きれいにdiffを確認する
人なんかはいいと思う。
あとIndexに差分を追加した状態で他のブランチに切り替えてコミットしたりも
出来る。

104 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 05:40:56 ]
過去のコミットを修正できちゃったりするのも新しいなぁ、と思った。
そんなことしていいのかよw とか最初思ったけど、アリだと思うようになった。

ボスが来たモードみたいなのがあって、作業途中の中途半端な状態で急に
他の修正をやらないといけなくなった時に、今の状態をテンポラリ領域みたいな
所に保存しておいてHEADに戻り、急な修正をやっつけ終わってコミットしたら、
以前のやりかけの状態を復元(急な修正の上に)して続きをやる、とか。
例えばノリノリで新機能を追加してる途中で以前のバグを発見したとしたら、
後でじゃなくて今すぐ修正したい(忘れそう)、、、けど新機能とバグ修正の
コミットは分けるべき。。。そんな時に今の状態をいったん保存して元に戻って、
バグ修正をコミットしたら、その上に保存した状態を復元、という感じで使える。

rebaseってのがあって、ある開発版ブランチをベースにして俺コミットで
突き進んでいたとして、ある日その開発版ブランチが安定版ブランチに
統合されて成長が止まってしまったとしたら、俺としてはもう伸びることのない
開発版ブランチを追っかけていてもしょうがないので、いったん俺コミットを
全て無かったことにして、根っこを安定版ブランチの先頭に引越ししてから、
俺コミットを全て適用しなおす、ということが出来る。これ便利。

あとは、、、cherry-pickってのがあって、適当なとあるコミットを指定して
今の状態に適用してみたりできる。
逆に問題のあるコミットを特定したら、履歴からそのコミットだけ除外して
みたり。

分散型で超気軽にブランチが作れるから、気軽にコミットしたり取り消したりとか、
やりたい放題なのが気持ちいいかなぁ。

以上、Gitのチラ裏でした。

105 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 07:03:10 ]
>>103-104
GJ
index面白いな。RDBMSのtransactionみたいなものか。insertしたけどcommitしてない状態。

106 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 11:40:52 ]
>>103-104
超GJ。過去のコミットを変更できるのは斬新だな。俺もやってみてー。

subversionしか使ったことのない俺の感想なんだが、
VCSではシステムのメインがリポジトリそのものだったのに対して、
mercurialとかgitはコミットによるパッチが重なり合って全体を構成してるように感じる。

svnが木で今までの幹は堅牢で先にどんどん伸びていくとしたら、gitなんかはstackに近いイメージ。
途中で割り込ませたり、積んでたのを隣に移したり、過去のお皿を書き換えたりですごく柔軟性が高い。
このシステムはすごくパッチの仕組みの影響を受けてるんじゃないかなあ。

107 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 11:52:29 ]
TortoiseGitでも出たら使おうって気にもなるんだけどな



108 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 12:47:25 ]
>104
> 逆に問題のあるコミットを特定したら、履歴からそのコミットだけ除外して
> みたり。

Subversionの逆マージとなにが違うの?

109 名前:103 mailto:sage [2007/12/07(金) 13:43:48 ]
>>106
たしかにstackっぽいかも。Git使い始めはSubversionみたいなバージョン番号が
付かないことにかなり戸惑ったんだけど、使ってるうちにGitではそれが必要ない
んだなと思うようになった。今までのように線形に伸びていくのではなくて、
ソースコードの成長は常にパラレルなもので、好きなようにコミットをいじり回して
いいんだと思うようになった。

>>108
すまん、Subversionの逆マージって分からないんだけど、新しい機能(1.5?)なのかな。

110 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 18:36:26 ]
>>104
Gitのサーバを建てる手間はどれくらいですかね?

Linuxに特化してるって話があるんでFreeBSDのレンタルサーバに
入れる手間はどんなもんかなぁ、と。

111 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 18:47:06 ]
Mercurial の使い方のチュートリアル
www.selenic.com/mercurial/wiki/index.cgi/JapaneseTutorial

112 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 23:56:39 ]
今読んでるところなんだけど、
hgbook.red-bean.com/hgbookch1.html#x5-200001.6.2
に、Git との比較が書かれてるね。
Mercurial 側からの見解なので、その分は差し引く必要があるかもしれんけど、
参考までに。

113 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:21:44 ]
なる。
読んで受けた印象としては、Gitはピーキーなイメージ。
Linuxカーネルの開発スタイルに極めて合致してるんだろうね。
多くのユーザがその用途で使ってるわけだし、それ以外の用途の為の変更で
カーネル開発がしにくくなるのは本末転倒なんだな。

114 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 01:01:49 ]
んじゃあ、使いやすさはmercurial、パフォーマンスではgitって感じか。

115 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 04:03:04 ]
Subversion だとバグ報告に「リビジョン何番で発生した」とか書くのがいいと思うんだけど、
Git だとどうやって特定の状態を指すの?聞いてる限りだとそういうのが無いような感じ
なんだけど。

116 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 04:27:36 ]
>>110
>Gitのサーバを建てる手間はどれくらいですかね?
サーバといってもいろいろなやり方があるんですが、、、
gitプロトコル以外にhttpとかsshとかWebDavとか。
全部やったわけじゃないけど、まあ難しくないです。
とりあえずFreeBSDならportsにGitありますよ。

>>113-114
>多くのユーザがその用途で使ってるわけだし、それ以外の用途の為の変更で
>カーネル開発がしにくくなるのは本末転倒なんだな。
俺は普通にGitで不便だと思うことは何にも無いけどなぁ。
Linuxカーネル開発用途以外のものが無いなんてこともないし(俺はカーネル開発
じゃなくてJavaに使ってる)
有名どころだと、xorg、compiz、samba、FedoraあたりがGitを採用してる。
あとGCCもGitが有力らしい。

117 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 04:36:38 ]
>>115
タグを付けてあればそれになると思うけど、、、(release_x_xとか)
もっと詳細に特定するならSHA1ハッシュがコミットのユニークなIDになってるので、
それで指定できる。



118 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:38:41 ]
>>117
何のハッシュ? コミットログのハッシュ?


119 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 15:35:53 ]
実物みたほうが速いんじゃない。
gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=56f5066d477836a975122f4e5748c0f4fb790175
みたいにコミットとツリーにそれぞれid(tree-ish、commit-ishの識別子)がつく。

120 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 15:41:53 ]
ちょうどそのログはgit-cherry-pickな奴だった。
(cherry picked from commit 7caf51d1a5a86ae884e0087795636222c082962c)
はコミットid 7caf51d1a5から拾ってきたっつーことね…。

121 名前:デフォルトの名無しさん [2007/12/09(日) 14:19:00 ]
Learning Git
www.simplicidade.org/notes/archives/2007/12/learning_git.html

122 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 14:59:23 ]
gitは使いこなすとスゴそうだけど、インタフェースが複雑で最初は大変そう
www.jukie.net/~bart/blog/git-vs-hg

Subversoinですらやっとこさ導入してるリーマンドカタ的現場では、とても無理そうだな。
というか、おまえらんとこってどうなん?
お前らって、「あって当たり前のSCMを手配してくれる人」?
「面倒なことを言い出すウザイ奴」的立場?

導入やお守り、簡単な説明はいいけど、手順書一式用意しろ、には参った。

123 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 15:18:50 ]
必要ならリポジトリにプロジェクト作るから言ってね、って言われる立場

まだ CVS だけど

124 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 15:50:17 ]
学生サークルだが、subversionどころかバージョン管理そのものについてまったく知らないのがほとんど。
お前ら趣味でプログラムしてるのとちゃうのかと小一時間(ry

125 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 16:11:31 ]
お前が導入して便利さを知らしめてやればおk

126 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 16:15:22 ]
>>122
>gitは使いこなすとスゴそうだけど、インタフェースが複雑で最初は大変そう
確かに最初は覚えるのに苦労するかも知れないなぁ。
ただ俺が思うのは、CVSにしろSubversionにしろ、初めて使う時にはそれなりに
頭を悩ませただろうし、他人に使い方を覚えてもらうなんてのはさらに面倒だった
だろうということ(CVS->Subversionはとても似てるからすんなりかも知れないけど)
特に今現在インフラとして使ってるSCMがある人の場合、抵抗感は大きいと思う。
(viからemacsに乗り換えるようなもので。。。)
だから、Gitは一切SCMを使ったことの無い人のほうが覚えやすいかもしれない。
って、hgもそれは同じだと思うんだけどなぁ。そんなにGit複雑かなぁ。

127 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 16:49:53 ]
>>125
導入しただけで済めば苦労はない。
コミットとか管理の概念もないし、理解したかと思っても、
日付毎のディレクトリを掘ってコミットする奴とか、zipに固めたのをコミットする奴とか…。



128 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:01:36 ]
そもそも理解してないんだよな、VCSの便利さを。
どれだけ便利か本人たちが理解すれば、前向きに勉強してくれると思うんだが・・・。

129 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:12:01 ]
Gitインストールした。

$ ls /usr/local/bin/git* | wc -l
145

これはないわ。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<206KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef