[過去ログ] Git 19 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
121
(1): (ワッチョイ b57b-3eqv) 2022/11/12(土)12:01 ID:h41UD2lS0(13/29) AAS
>>117
ああその失敗情報は有り難い。
ただ、そこは理論的に問題ない。

技術的には、Gitでもカレントを「上書き」するのだからコピーと同じだけのI/Oが必要であり、
I/Oバウンドの場合、GitでもSubversionでもその部分の処理時間は同じになる。
(Gitのbranch切換とSubversionのブランチ作成が同じI/O負荷)
そこで速度差が出るのだから、実際は、86で既に言ったとおり、Subversionが各ソースを「展開」するのが遅くて、
それはおそらく順方向履歴しか持ってないからだ。
(逆方向履歴持ってれば、commitは早くならないかもしれないが、branch切り出しはコピーと同速に出来る)

ここら辺はSubversionの基本アーキが腐ってるからだが、
この点GitBucketは中身Gitだから、コピーするだけで、結果的には本家Git(上書きするだけ)と同速だよ。

そのコピーが重い?
だったらbranch切換セレクタだけは付けるから、それで勝手に自前で管理しろ。
バックアップツールとしては、branchはパスが伸びただけの意味しかないからそうする、というのは112の通り。

コピーオンライトのファイルシステム、つまりハードリンクにする手もあるけど、これはユーザーが付いて来れないだろ。
ならコピー時間待たせた方がいい。
122
(1): (ワッチョイ b57b-3eqv) 2022/11/12(土)12:09 ID:h41UD2lS0(14/29) AAS
>>119
> rebase する前に新しいブランチ切ってやれば
そこはbranchではなくてタグだとは思うが、要はそれ、gcされないようにポインタ残してるだけだろ。
しかし開発しなくなったbranchは刈り取れ、というのが一般の使い方だろ。(それが推奨されてるように見える)

そもそもgcされないようにxxする、というのが間違ってるんだよ。
そんなところまでユーザーが密結合すべきではない。
普通にオススメ通りやったら、探せば何処かに履歴はあるよ、程度じゃないと。

まあ--keep-baseについては見てみるよ。
Bookの方が断然良かったのでman の方読むの止めてたから、知らなかった。
123: (ワッチョイ 4bbb-tcgO) 2022/11/12(土)12:11 ID:zxvXZjfz0(4/14) AAS
>>121
お前、作成の負荷と切り替えの負荷の区別ついてないだろ
実用上で問題になるのは作成の負荷、切り替えはディレクトリ方式の方が軽いけどそこは重要じゃない
124
(1): (ワッチョイ 4bbb-tcgO) 2022/11/12(土)12:15 ID:zxvXZjfz0(5/14) AAS
>>122
必要なものには後で探せるように名前をつけておく。
名前のないものはいらないものなので掃除の時に捨てる。
基本中の基本すら理解できないの?
125
(1): (ワッチョイ d55f-BvCT) 2022/11/12(土)12:18 ID:bWvYfJDZ0(1) AAS
Subversion のブランチ作成がファイル数やサイズで重くなるとか・・・
てきとうなこと言うやつが二人になってカオス。二人とも早く別スレに行くか黙るかしてくれ。
126
(1): (ワッチョイ 4bcf-IBSA) 2022/11/12(土)12:34 ID:ajB/boEg0(1/4) AAS
GitBucket をdisってんのかと思った。
その名前はもう使われてるから変えろバカ。
127
(4): (ワッチョイ b57b-3eqv) 2022/11/12(土)12:54 ID:h41UD2lS0(15/29) AAS
>>120
多分な、開発現場において「ファイル内の」mergeが日常ってのはあまりないと思うぞ。
それは各自が勝手にどのファイルをどういじってもいい、ということだから。

gitによって開発フローが変わった!ってのがこの辺かもしれんが、
普通は担当を振り分けて、結果的に
「この期間にこのファイルを触るのは○○だけ」
と交通整理される。
同時に変更する必要があれば、同じ奴に同時にやらせるだけ。(注文が増えるだけ)
そして各自が変更したファイルをかき集めて、くっつけて終わりだ。
お前らはこれもmergeと言ってる気がするが、
これは「更新日時が新しければ上書きする」だけの話で、手動でも楽勝だし、
プログラマはこれをmergeとは言わない。

プログラマが言う「ファイル内」のmergeが日常的に発生するかどうかはその部署のオペレーションによる。
(が、会社とか統制取れる場所でこれをする意味はないから、OSS以外ではほぼないと思うが)
128: (ワッチョイ b57b-3eqv) 2022/11/12(土)12:57 ID:h41UD2lS0(16/29) AAS
>>126
了解。考え直すよ。一度位ググるべきだったわ。
129: (ワッチョイ 4bbb-tcgO) 2022/11/12(土)13:00 ID:zxvXZjfz0(6/14) AAS
>>125
お前的には svn copy だけがブランチの作成で svn checkout は不要という主張したいの?
svn 的には checkout までが作成で、ブランチの切り替えは cd じゃないか。
オフトピなので svn の思想の話を続ける気はないけど、気になった。
130
(1): (ワッチョイ 1563-sfiH) 2022/11/12(土)13:08 ID:403mRijK0(3/9) AAS
>>127
結局これだろ

mergeを使う可能性があるなら長文君ソフトでなくgitを使うべき

gitのスレなのにmergeの意味が違うとか言い出すし…
131
(2): (ワッチョイ b57b-3eqv) 2022/11/12(土)13:18 ID:h41UD2lS0(17/29) AAS
>>130
つまりお前らGit屋の要求仕様は、

ファイル内のmerge:要らん
ディレクトリ内のmerge(=新しい方を取るだけ):要る

ってのか?これなら手動でやった方が楽だよ。
普通にゴミ箱=エクスプローラ的GUIになんだから、日付でソートして纏めて選択して持ってくだけ。
いちいち「オレオレアプリ的merge」とか用意するから余計混乱する。
使い慣れたエクスプローラで苦も無く出来るのだから、それで十分なんだよ。
132
(1): (ワッチョイ 1563-sfiH) 2022/11/12(土)13:25 ID:403mRijK0(4/9) AAS
>>131
訳のわからないこと言ってないで、とっとと長文君ソフト(仮)スレ立てて移動しろ
133
(1): (ワッチョイ 4bbb-tcgO) 2022/11/12(土)13:25 ID:zxvXZjfz0(7/14) AAS
>>131
そんな低レベルの話してるのはお前だけだぞ
134
(1): (ワッチョイ 4b8f-X3QC) 2022/11/12(土)13:45 ID:/s1n3tt70(1/2) AAS
>>127

> 普通は担当を振り分けて、結果的に
> 「この期間にこのファイルを触るのは○○だけ」
> と交通整理される。
いつの時代のこと言ってんの?待ちが発生すること自体問題とは考えないの?

> 同時に変更する必要があれば、同じ奴に同時にやらせるだけ。(注文が増えるだけ)
> そして各自が変更したファイルをかき集めて、くっつけて終わりだ。
> お前らはこれもmergeと言ってる気がするが、
> これは「更新日時が新しければ上書きする」だけの話で、手動でも楽勝だし、
> プログラマはこれをmergeとは言わない。
更新日時見てマージとか、複数の人が並行開発した場合を考えてないよね
135
(2): (ワッチョイ b57b-3eqv) 2022/11/12(土)13:47 ID:h41UD2lS0(18/29) AAS
>>132-133
最初に言っておくべきだったが、俺が作るアプリはお前らGit屋向けではないよ。

プログラマ、或いはクリエイター向けで、
Gitなんか勉強したくない、何でもいいからバックアップと履歴が取れてればいい、という人向けだ。
だから内部DBには都合がいい物を使うだけで、SQLiteもあり得るし、途中での変更もあり得る。

Git屋はGitを使うべきだよ。そもそもGitがGit屋向けフルチューンだし、
だからこそ文句言われてるわけだが、目的外使用なのだからLinusから見れば完全に筋違いだ。
なら、俺が「プログラマ/クリエイター向け」のツールを提供しよう、というだけ。
136: (ワッチョイ 4bbb-tcgO) 2022/11/12(土)13:49 ID:zxvXZjfz0(8/14) AAS
>>135
だから、このスレでやるな。
自分のスレ作って引き籠もれ。
137
(2): (ワッチョイ b57b-3eqv) 2022/11/12(土)13:51 ID:h41UD2lS0(19/29) AAS
>>134
それなら、お前にはフィットしないだろうし、お前の周りはGitを引き続き使えばいいだけ。

俺は127方式やもっと小規模(個人)レベルでの開発を想定したツールを提供するだけ。
目論見が外れてたら、思ったより売れなくて、俺の骨折り損なだけ。
これで何の問題もないだろ。
138
(1): (ワッチョイ 1563-sfiH) 2022/11/12(土)14:12 ID:403mRijK0(5/9) AAS
>>135>>137
長文君ソフト(仮)ではmergeのことを考えてないから
mergeを使う可能性があるなら長文君ソフト(仮)ではなくgitを使うべき

ってことだろ。なんなんだよGit屋って。
とっとと長文君ソフト(仮)スレ立てて移動しろ
139: (ワッチョイ b57b-3eqv) 2022/11/12(土)14:55 ID:h41UD2lS0(20/29) AAS
>>119,124
--keep-base見たが、これ仕様が欠けてるんだよ。
だから君みたいな「あらかじめポインタ(branchまたはtag)を確保しておく」使い方しか出来ない。
rebaseが成功したらbranchは新しい方を指すので、古い方は名無しになってしまう。(放置したらgc対象)
だから本来の仕様は、 --keep-base "AsThisBranch" とかで、新しいbranch名かタグ名を指定出来ないとおかしい。

これ --keep-base だけしても名無しのままだから即削除されないだけで、じきにgcされるから、意味ないと思うぞ。
こういうところがGitは仕様が雑なんだよ。仕様の重要さをまるで理解してない。これただの落とし穴だよ。
そして落ちない工夫が「あらかじめbranchにしておく」君のやり方で、バッドノウハウになってるだけ。
そりゃ君らみたいなGit屋にとっては落とし穴は多ければ多いほど重宝されて都合がいいんだろうけどさ。

それでちょっと確認したいんだけど、君がbranchに拘ってるのは、もしかしてタグ付けてもgc対象になったりする?
何かこの辺雑だし、下手すればあり得るので怖いんだけどさ。

あと俺が欲しい仕様は、rebaseした奴の親としてrebase前の記録が全部保持されるタイプで、--keep-baseではない。
まあ俺はrebase無しで運用してこの辺回避するからいいんだけどさ。(つかmergeでいい)
140
(1): (ワッチョイ b57b-3eqv) 2022/11/12(土)14:56 ID:h41UD2lS0(21/29) AAS
>>138
プログラマ: 主にソースコードを書いてる連中
クリエイター: 例えば主にフォトショで絵を描いてる連中
Git屋: Gitを操作することが主な仕事(>>83内のGit用員)、ソースコードは書けないし、絵も描けない
141
(1): (ワッチョイ 4bcf-IBSA) 2022/11/12(土)15:04 ID:ajB/boEg0(2/4) AAS
まあ、こうやって素人考えをぶつけてみることでgitの良いところを再認識できるのであれば
まったくの無駄ではないのかもしれまい。
142
(2): (ワッチョイ b57b-3eqv) 2022/11/12(土)15:24 ID:h41UD2lS0(22/29) AAS
>>141
× Gitの良いところ
○ Gitと被るところ

バックアップツールで必須な

・更新されたファイルを保存しておく
・変更されてないファイルは改めては取得しない
・変更履歴も保持し、必要なら古いファイルも取り出せる
・可能なら定期的に圧縮する

をGitが持ってるから、目的外使用されてるだけだな。
まあ基本アーキがいいから目的外使用でも本来ツールと戦えるということではあるけど。
ただ変更を酷く許してないところは頂けない。ここは俺はぶち壊す予定。
(間違ったファイルをコミットして大騒ぎ、結局全部作り直し、みたいのを無くして、ファイルを普通に消せるようにする。
ハッシュがずれたところで、ツリーには関係ない)

Gitのバックエンドは出来がいいんだと思うよ。多分。(俺が問題に遭遇してないだけかもだが)
Gitが糞なのは、フロントエンドと、仕様だね。ドキュメントは多すぎるが、よく書かれているし、少ないよりは断然いい。
143
(1): (ワッチョイ c597-AMkR) 2022/11/12(土)15:51 ID:pkT2sKDg0(1) AAS
どうでもいいが95%はコード書いて検証してる時間で、複数人でレビューしながら開発とかでない限りGitに使う時間って5%くらいだろ。
皆プログラム書きつつGit触れて普通だと思うんだけど。それこそWeb業界では。難しいことになるときがないとは言わないけどたまーにでしょ。
グラフィックの感性で勝負とか、そういう特殊な世界のプログラマー以外でWeb系でGitも使えないんじゃ普通仕事にならないけどな。
144
(1): (ワッチョイ 4bbb-tcgO) 2022/11/12(土)16:11 ID:zxvXZjfz0(9/14) AAS
>>142
git はバックアップツールじゃないぞ。
料理に例えるならお前が欲しがってるのは出来た料理を保管するための冷凍庫。
git が提供してるのは料理を作ったりアレンジするためのレシピ本(とその編集機能)
あとお前の言う「プログラマ」って、単なるコーダーで、本物のプログラマじゃないだろ。工場で刺し身にタンポポ載せてるやつは料理研究家じゃないからな間違えんなよ。
145: (ワッチョイ 1563-sfiH) 2022/11/12(土)17:09 ID:403mRijK0(6/9) AAS
>>140
長文君はgitをバックアップツールとしか見てないのに、Git屋というそのためだけの要員を
わざわざ雇っている会社があるという妄想に取り憑かれているんだな
146
(2): (ワッチョイ b57b-3eqv) 2022/11/12(土)17:57 ID:h41UD2lS0(23/29) AAS
>>143
いや5%(=24分)も十分多すぎだけどな。
まあそれはさておき、コードと開発体制も糞だったのを忘れてたから、

Gitの良い所: 基本アーキ、バックエンド、ドキュメント
Gitの糞な所: フロントエンド、仕様、コード、開発体制、(ドキュメント多すぎ)

となる。ここで、駄目なところは全部マネジメントに起因してる。
一般の会社なら課長/係長クラスで締める部分が締まってない。
これは指揮系統を持たない「バザール」の宿命で、他知らんけどこんなもんなのかもしれないが、
OSSという意味ではchromeとかもっとガッツリやってる(ように見える)し、少なくともregressionテストは流しまくってる。
あっちはGoogleが締めてるのかもしれないが、Gitは見た目1本もregressionテスト流してないのは駄目だろ。
Subversion(58内記事)ではregressionテストに落ちたらcommit禁止だったらしいし。これが普通。
CVSはこの辺ガッツリやりすぎて、テスト用の3万行超のシェルスクリプトに
(自分がcommitする部分の為の)新規テストを追加しなければcommitしちゃ駄目、とかで問題だったとも書いてあったが。

>>144
料理の味で勝負をしたいのに、冷蔵庫の使い方を100時間かけて勉強して、
冷蔵庫のご機嫌を取らないといけない事に、みんな文句言ってるんだよ。

ただこれはテクノロジーが達してないだけではある。
昔は航空機関士が同乗してたように。(乗ってて何とかなったとはとても思えないが、それはそれ)
今はGit屋が必要なレベルで、じきにもっと簡単な物が出てきてお役ご免になるはず。
出てこないようなら俺が作るよ、ということ。
147
(1): (ワッチョイ 4bbb-tcgO) 2022/11/12(土)18:26 ID:zxvXZjfz0(10/14) AAS
>>146
だから料理の「レシピ本の作り方」をどんなに読み込んでも冷凍庫の使い方は載ってないぞ。少しなら冷凍庫の使い方のヒントになる部分もあるので勘違いしてるんだろうけど。
冷凍庫欲しかったた冷凍庫買え。レシピ本に冷蔵庫の代わりを求めるな。
148: (ワッチョイ 1563-sfiH) 2022/11/12(土)18:35 ID:403mRijK0(7/9) AAS
>>146
俺が作ると言うだけなら簡単だ
スレ立ててそっちに移ることすらできない奴でも
俺が作ると言うことはできる
149
(1): (ワッチョイ adc2-owoj) 2022/11/12(土)18:40 ID:inQx9iPN0(2/3) AAS
うちの会社にも取引先にもgit使えないプログラマーなんていないけど
git屋わざわざ雇ってる会社のプログラマーてアホばっかりなん
150
(1): (ワッチョイ b57b-3eqv) 2022/11/12(土)18:42 ID:h41UD2lS0(24/29) AAS
>>147
料理人: 冷蔵庫なんてブッ込んでおけば冷える、で十分
Git: 正しいブッ込み方じゃないから直せ、いやそもそもブッ込み方を知らない奴が使うな!と文句を言う冷蔵庫
1-
あと 852 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.015s