[過去ログ]
バージョン管理システムについて語るスレ3 (1001レス)
バージョン管理システムについて語るスレ3 http://echo.5ch.net/test/read.cgi/tech/1228366972/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
800: デフォルトの名無しさん [sage] 2009/04/26(日) 17:55:26 hg 速いけどなぁ http://echo.5ch.net/test/read.cgi/tech/1228366972/800
801: デフォルトの名無しさん [sage] 2009/04/26(日) 19:45:15 >>794 hgもgitもファイル名変更は履歴管理してるよな? http://echo.5ch.net/test/read.cgi/tech/1228366972/801
802: デフォルトの名無しさん [] 2009/04/26(日) 20:03:00 git mvでできるよ. http://echo.5ch.net/test/read.cgi/tech/1228366972/802
803: デフォルトの名無しさん [sage] 2009/04/26(日) 20:55:12 >>801,802 それ、「ファイル名変更した」っていう情報のコミットをしているだけで、 SubversionやBazaarみたいに一つのファイルの連続した履歴としては 管理してないでしょ? $ cat >abc aaa bbb ccc $ bzr add abc $ bzr commit -m "add abc" $ bzr mv abc abcd abc => abcd $ bzr commit abcd $ cat >>abcd ddd $ bzr commit -m "add ddd" $ bzr diff abcd -r1..3 === renamed file 'abc' => 'abcd' --- abc 2009-04-26 11:45:33 +0000 +++ abcd 2009-04-26 11:4
6:30 +0000 @@ -1,3 +1,4 @@ aaa bbb ccc +ddd http://echo.5ch.net/test/read.cgi/tech/1228366972/803
804: デフォルトの名無しさん [sage] 2009/04/26(日) 20:57:39 $ cat > abc aaa bbb ccc $ git add abc $ git commit -m "add abc" $ git mv abc abcd $ git commit -m "rename" $ cat >> abcd ddd $ git add abcd $ git commit -m "add ddd" $ git diff 9b61d..41f9f diff --git a/abc b/abc deleted file mode 100644 index 1802a74..0000000 --- a/abc +++ /dev/null @@ -1,3 +0,0 @@ -aaa -bbb -ccc diff --git a/abcd b/abcd new file mode 100644 index 0000000..35fbd83 --- /dev/null +++ b/abcd @@ -0,0 +1,4 @@ +aaa +bbb +ccc +d
dd http://echo.5ch.net/test/read.cgi/tech/1228366972/804
805: デフォルトの名無しさん [sage] 2009/04/26(日) 21:19:21 >>803 RTFM $ git --no-pager diff -M HEAD~~ HEAD diff --git a/abc b/abcd similarity index 75% rename from abc rename to abcd index 1802a74..35fbd83 100644 --- a/abc +++ b/abcd @@ -1,3 +1,4 @@ aaa bbb ccc +ddd http://echo.5ch.net/test/read.cgi/tech/1228366972/805
806: デフォルトの名無しさん [sage] 2009/04/26(日) 21:27:09 >>803 $ hg init $ cat >abc aaa bbb ccc $ hg add abc $ hg commit -m "add abc" $ hg mv abc abcd $ hg commit -m "rename to abcd" $ cat >>abcd ddd $ hg commit -m "add ddd" $ hg diff --git -r 0 -r 2 diff --git a/abc b/abcd rename from abc rename to abcd --- a/abc +++ b/abcd @@ -1,3 +1,4 @@ aaa bbb ccc +ddd http://echo.5ch.net/test/read.cgi/tech/1228366972/806
807: デフォルトの名無しさん [sage] 2009/04/26(日) 22:26:43 >>803 http://ja.wikipedia.org/wiki/Git >Gitでは、リネームの検出をスナップショット >作成時ではなく履歴のブラウズの際に行う http://echo.5ch.net/test/read.cgi/tech/1228366972/807
808: デフォルトの名無しさん [sage] 2009/04/26(日) 22:37:52 結局gitもhgもファイル名変更してもおkじゃん http://echo.5ch.net/test/read.cgi/tech/1228366972/808
809: デフォルトの名無しさん [sage] 2009/04/26(日) 22:39:54 >>805,806 ごめん、勘違いしてたみたい。これもできる? $ bzr init repo_a $ cd repo_a/ $ mkdir dir_a $ cat >dir_a/a aaa $ bzr add dir_a/a adding dir_a adding dir_a/a $ bzr commit -m "add dir_a/a" $ bzr branch . ../repo_b $ bzr mv dir_a dir_b $ bzr commit -m "rename dir" $ cat >> dir_b/a bbb $ bzr commit -m "add bbb" Committed revision 3. $ cd ../repo_b $ bzr merge -c3 ../repo_a M dir_a/a All changes applied successfully. $ bzr diff ===
modified file 'dir_a/a' --- dir_a/a 2009-04-26 13:36:57 +0000 +++ dir_a/a 2009-04-26 13:38:12 +0000 @@ -1,1 +1,2 @@ aaa +bbb http://echo.5ch.net/test/read.cgi/tech/1228366972/809
810: デフォルトの名無しさん [sage] 2009/04/26(日) 23:09:14 って〜か、>>794読みながら、間違いだらけじゃんとか思ってたんだけど。 gitなら、コミットログもUTF-8だよね。 > 1リポジトリ1ブランチにも1リポジトリに多ブランチにも対応 これが、何を表現しているのかわからなかったんだけど、 bzr split のこと? git には、submodule と、 subtree って、仕組みがあるんだけど、 bzr split と、機能的には被るのかね。 http://echo.5ch.net/test/read.cgi/tech/1228366972/810
811: デフォルトの名無しさん [sage] 2009/04/26(日) 23:35:21 >>810 gitのコミットログはバイナリ。デフォルトではutf-8じゃないバイナリ列を拒否る 設定になっているから実質utf-8と言っていいけど。 1リポジトリ多ブランチはbzr でいう init-repo のこと。Subversionでも普通に repo/trunk, repo/tags/footag, repo/branches/foo_branch ってするよね。 1リポジトリ1ブランチだと、データの共有は基本的にハードリンク頼みだから、 ローカル間のbranchやpullじゃないと共有されない。 他にも、Windows環境ではハードリンクを適切に扱える
ツールが少ないから、 バックアップソフトがハードリンク×n個を n個のファイルとしてコピーしたり しやがる。 http://echo.5ch.net/test/read.cgi/tech/1228366972/811
812: 794 [sage] 2009/04/26(日) 23:41:26 勘違いしてた。hgやgitが管理しないのはファイル名じゃなくてディレクトリ名だ。 $ hg init repo_a $ cd repo_a/ $ mkdir dir_a $ cat >dir_a/a aaa $ hg add dir_a/a $ hg commit -m "add a" $ hg clone . ../repo_b $ hg mv dir_a dir_b $ hg commit -m "rename dir" $ cat >>dir_b/a bbb $ hg commit -m "add bbb" $ hg diff -r0 dir_b/a diff -r 6573e09a792d dir_b/a --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dir_b/a Sun Apr 26 23:39:25 2009 +0900 @@ -0,0 +1,2 @@ +aaa +bbb
gitは使う機会ないからディレクトリ名の変更を追跡しないってのも勘違いかもしれん。 http://echo.5ch.net/test/read.cgi/tech/1228366972/812
813: デフォルトの名無しさん [] 2009/04/26(日) 23:49:46 >>811 bazaar厨が必死すぎるwww http://echo.5ch.net/test/read.cgi/tech/1228366972/813
814: デフォルトの名無しさん [sage] 2009/04/27(月) 00:03:00 1リポジトリ多ブランチってhgでも出来ると思うけど。 http://echo.5ch.net/test/read.cgi/tech/1228366972/814
815: デフォルトの名無しさん [sage] 2009/04/27(月) 00:19:31 >>814 複数のheadを持てるっていう意味で? でもtipは一つだから、普通運用する時は branch ごとに ディレクトリを分ける。そんときにリポジトリまで分離されてしまう。 http://echo.5ch.net/test/read.cgi/tech/1228366972/815
816: デフォルトの名無しさん [sage] 2009/04/27(月) 01:45:44 >>812 hgはファイルしか追いかけないのは事実だが、履歴は管理されるよ $ hg diff -gr0 dir_b/a diff --git a/dir_a/a b/dir_b/a copy from dir_a/a copy to dir_b/a --- a/dir_a/a +++ b/dir_b/a @@ -1,1 +1,2 @@ aaa +bbb http://echo.5ch.net/test/read.cgi/tech/1228366972/816
817: デフォルトの名無しさん [sage] 2009/04/27(月) 07:30:33 >>816 へぇ、今度から -g 使うよ。thanx. あと、 transplant extension を有効にしたんだけど、 ディレクトリ名変更したブランチからcherry pickingできなかった。 これも何かのオプションで >>809 と同じことできるようになるのかな。 git はマニュアル読んでも使い方が判らん…普段hgとbzrしか使わない せいもあるんだけど、gitってリビジョン指定の方法とか独特過ぎない? http://echo.5ch.net/test/read.cgi/tech/1228366972/817
818: デフォルトの名無しさん [sage] 2009/04/27(月) 08:13:13 >>794 hgは1リポジトリ多ブランチだよ。 gitもそうでなかったか? http://echo.5ch.net/test/read.cgi/tech/1228366972/818
819: デフォルトの名無しさん [sage] 2009/04/27(月) 09:45:16 ちょうどブランチの話題がでているので質問です。 GitでのブランチのようなことをMercurialでしたい場合にはどうするんでしょうか。 http://echo.5ch.net/test/read.cgi/tech/1228366972/819
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 182 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s