[過去ログ]
Git 18 (1002レス)
Git 18 http://mevius.5ch.net/test/read.cgi/tech/1650651945/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
664: デフォルトの名無しさん (ワッチョイ a95f-Tk+f) [sage] 2022/10/31(月) 10:39:47.64 ID:sko8U7ef0 >>663 好きに fork しなよ。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/664
665: デフォルトの名無しさん (ワッチョイ 8bbb-VzUj) [sage] 2022/10/31(月) 12:23:13.35 ID:h5Hfu9WR0 自分でやってみればいいよ。 自分で多数の人が参加する巨大なプロジェクトを管理するようになれば、形式が統一されていることがどれだけ重要かわかる。 仕様を強制されているようでも、これこそが git の使い易さ、戦闘証明済の実力だと気付くよ。空想と現場は違う。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/665
666: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 13:21:07.66 ID:J+3pjzxx0 >>665 それが従来形式のdiffの出力をさせない理由なら、 現在のGitプロジェクトの思想は俺とまるで合わない。 今時モノリシックとか、多分じきにこのプロジェクトは頓挫するよ。 multicsの再来だね。(俺は使ったこと無いけど) 自覚症状もあるみたいだし。 > Git is a fast, scalable, distributed revision control system with an unusually rich command set > unusually > https://www.git-scm.com/docs/git ただまあ本当にdiffも内製しているようで、ちょっと驚きだよ。 ただwikiによると当初はローレベルエンジン+シェルスクリプトで、これは俺の思想と合致してる。 windowsに移植する際にシェルスクリプトをCに書き換え、そこでモノリシック化したようだ。 それで環境変数を見るとか、完全に開発の方向性を間違ってる。 当初のシェルスクリプト方式ならdiffを呼ぶだけだから、シンボリックリンクで好きなのと簡単に交換出来た。 この場合、Git側にコードは全く必要ないし、ユーザー側に予備知識も必要ない。 それをモノリシックにしてしまったから、環境変数を読むコードを必要とし、 ユーザーはマニュアルを読むことを強制させられる。 お互いに完全に無駄だ。 このメンテナは、ソフトウェアアーキテクチャはどうあるべきか、全く理解出来てない。 今ですらGitは難しすぎると文句言われてるだろ。 コードを書く為にコード管理システムの勉強が必要とか、完全に本末転倒だし。 じきに巨大な躯体を支えきれなくなって、分割プロジェクトが発生すると思うぜ。 それが多分Next-gitになるのだろうよ。 つか、何でGitはモノリシックを選択してんの?全く意味ねえと思うぞマジで。 本当にdiffとかを絶対に交換させない為?ならマジで死ねでしかないね。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/666
667: デフォルトの名無しさん (ブーイモ MM33-wVCK) [sage] 2022/10/31(月) 14:15:23.19 ID:Yrczlr02M Simple is not easy Gitは後者を選択することでSIerのドカタまで幅広く受け入れられたということだ http://mevius.5ch.net/test/read.cgi/tech/1650651945/667
668: デフォルトの名無しさん (ワッチョイ 8b8f-5UCg) [sage] 2022/10/31(月) 14:29:14.51 ID:Pk1WyFqz0 (だからgit difftoolが用意されてんだろと言いたいけど、linux原理主義者みたいだし黙っとこう) http://mevius.5ch.net/test/read.cgi/tech/1650651945/668
669: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 15:04:18.65 ID:J+3pjzxx0 >>667 他よりましなだけだろ。 ただ俺が思うに、Gitはもっと簡単に出来て、 ・勉強しないといけないGit(今) ・勉強しなくてもなんとなく使えちゃうGit(次世代) に分離すると思うよ。次世代版の需要圧力はもう既に十分あるし。 実のところ、今のgitにラッパシェルスクリプト群を被せれば次世代版出来ちゃうし、 (勿論見た目だけだがそれが重要) 俺はそれ作って使おうかとも思案中。 Gitは業務プロセス名のコマンドだから、実際何が起こっているのか分かりにくいのが一番の問題だよ。 コマンド名変えるだけでも相当変わる。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/669
670: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 15:05:02.85 ID:J+3pjzxx0 >>668 それに辿り着くのにググったりマニュアルを読まないといけないのが問題なんだよ。 今のGitは世界中のプログラマに努力を強いてて、その犠牲の上に成り立ってる。 3時間程度あれば、再現コード付きのバグ報告が出来てしまう。 それをマニュアルを読むのに費やしてるのだから、無駄でしょ。 世界中のプログラマが3時間を世界が進歩する方向に費やせたら、Gitももっとよくなってたはずだよ。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/670
671: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 15:39:10.00 ID:oV1LtMOH0 それは世界中の人が俺に1円を恵んでくれたら 俺は大金持ちになっていたと言っているようなもんだな http://mevius.5ch.net/test/read.cgi/tech/1650651945/671
672: デフォルトの名無しさん (ワッチョイ 8bbb-VzUj) [sage] 2022/10/31(月) 15:57:50.61 ID:h5Hfu9WR0 >>670 もっと良い物ができると主張するんなら作って広めてから出直してこい もともと git を使ってきたやつらがどういう連中かわかって無さ過ぎ linux カーネルコミュニティとか、文句言ってる暇があったらコード書いて変更した方が速いってやつらばかりだぞ そういう連中がのべ何万人も十年以上使い続けた結果で今の仕様になってる。本当に問題だったら誰かがとっくに直してる お前にはこの言葉を贈ろう「馬鹿でも使えるものは馬鹿しか使わない」 http://mevius.5ch.net/test/read.cgi/tech/1650651945/672
673: デフォルトの名無しさん (ワッチョイ 8901-Gf1x) [sage] 2022/10/31(月) 16:18:24.02 ID:SCCWpcRv0 gitにdiffの書式の多様性を求めるなら、自分が使ってるコマンドの方を多様性を受け入れるようにすれば良いんじゃね http://mevius.5ch.net/test/read.cgi/tech/1650651945/673
674: デフォルトの名無しさん (ワッチョイ d9e4-Xmag) [sage] 2022/10/31(月) 16:37:40.55 ID:GzQExg5g0 gitにとってファイルの差分を抽出する機能は、単にユーザへ表示したりパッチをつくるだけじゃなくて、gitの特徴的なマージやリベースを実現するための核心的機能なんだよ なので専用のものを内製する意味はある http://mevius.5ch.net/test/read.cgi/tech/1650651945/674
675: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 18:09:11.73 ID:J+3pjzxx0 >>671 OSSが世界中のプログラマからの元気玉なのは事実だろ 元気をマニュアルに消費されてなければ、もっと大きな元気玉になってただろうよ http://mevius.5ch.net/test/read.cgi/tech/1650651945/675
676: デフォルトの名無しさん (ワッチョイ 8901-ZlL6) [] 2022/10/31(月) 18:20:34.93 ID:5K9TC9u30 初歩的な質問ですが教えてください。 コミットの履歴が汚くなった場合、皆さんはどのように管理されてますでしょうか? 具体的には、 gitでdevelopからブランチを切ったAで作業しました。 ブランチAのコミット履歴が汚くなったので 新たに作成するブランチBにブランチAで変更したファイルを 一回のコミットで整理したいです。 git cherry-pick -n fromID..toID などで整理しているのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1650651945/676
677: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 18:28:03.00 ID:oV1LtMOH0 >>675 タラレバ http://mevius.5ch.net/test/read.cgi/tech/1650651945/677
678: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 18:33:43.29 ID:J+3pjzxx0 >>672 > のべ何万人も十年以上使い続けた結果 それは言いすぎ。カーネルコミュニティって400人規模と聞いた覚えがある。 毎年全員入れ替わっても1万人規模だよ。 まあこれは本質ではないのでいいが。、 > 「馬鹿でも使えるものは馬鹿しか使わない」 これって誰の言葉だ?Linusが > マジで、Cを選択する理由が「何もなかった」としてもだ、C++プログラマー避けになるというだけで、Cを使う大義名分になる。 > https://cpplover.blogspot.com/2013/05/linus-torvalsc.html と言ってるのは知ってるが。(しかもこれはGitの話らしい) ちなみに俺はLinusの意見にも賛同する。プロジェクトに馬鹿が混入しないことは本当に重要なことだ。 ただ君と根本的に違うのは、「簡単は正義」と思ってることだ。 簡単に出来るのなら、簡単な方がいい。 馬鹿をふるい落とす為に敢えて難しい構造やコードにすることはない。 俺が見る限りLinusもそうしているわけではないが、君がそうしたいのは理解した。 まあ機会があれば実装して広めることになるかもしれない。 ただ俺は別のことをやろうとしてるから、Gitなんて動けば何でもいい程度でしかないので、優先順位は極めて低い。 あとたぶん、君は > 文句言ってる暇があったらコード書いて変更した方が速い の意味を誤解している。が、これは今言っても通じないと思う。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/678
679: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 18:41:18.26 ID:oV1LtMOH0 小1「掛け算よりも足し算のほうが簡単だ!」 http://mevius.5ch.net/test/read.cgi/tech/1650651945/679
680: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 18:42:37.79 ID:oV1LtMOH0 しょう1「かけざんよりもたしざんのほうがかんたんだ!かんじよりもひらがなのほうがかんたんだ!」 http://mevius.5ch.net/test/read.cgi/tech/1650651945/680
681: デフォルトの名無しさん (ワッチョイ a95f-Tk+f) [sage] 2022/10/31(月) 18:50:02.57 ID:sko8U7ef0 >>678 > ただ俺は別のことをやろうとしてるから、Gitなんて動けば何でもいい程度でしかないので、優先順位は極めて低い。 これまでの開発者を含めて他の人もそうだっただけという可能性に思い至れば何の不思議もないことなのに。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/681
682: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 18:50:46.86 ID:J+3pjzxx0 >>674 不可欠な機能ではあるが、核心的機能ではない。 事実として、Git内のdiffをGNUdiffに差し替えても、マージやリベースが出来なくなるわけではないだろ。 Gitは方針を間違ってる。 もし仮にGNUdiffのアルゴリズムが糞過ぎて出力が糞でマージが出来ないとしても、 アルゴリズム部分はGNUdiffにcontributeし、Gitがそのソースコードを使えばいいだけ。 Git内のdiffもGNUdiffからforkしたのだろうし、普通はこうすると思うけど。 別に実装すべきなのはフォーマッタで、--word-diffとかの部分だよ。 勿論GNUdiffに入れるのがベストだが、この辺は断られてもおかしくないし。 ただこれも人間用であって、マージする為に必要な機能部分ではないから、 君らから見てもGitではなくdiffに入れておけ、となるはずだが。 まあdiffに手を入れたくなるのは分かるが、それはソフトウェア開発ではやってはいけない方向で、 我慢してGNUdiffにcontributeしておく方が全体の長期的利益になるんだよ。 Gitがこの辺、アルゴリズムとViewをごちゃ混ぜに扱ってるのも気になる。 MVCとかまるで言われない世界ではあるけど、それでも基本として理解しておくべきだよ。 ビューを分離しておくことはものすごく重要だから。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/682
683: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 19:41:41.79 ID:oV1LtMOH0 え?まさかgit diffを差分を見るだけのツールだと思ってるの? http://mevius.5ch.net/test/read.cgi/tech/1650651945/683
684: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 19:42:41.80 ID:oV1LtMOH0 GNU diffに依存したら、GNU diffが使われないところで 動かないってわからんかなぁ diffは移植性低いんだよ? http://mevius.5ch.net/test/read.cgi/tech/1650651945/684
685: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 19:49:40.38 ID:J+3pjzxx0 ちなみに652で既に言ったが > --output-indicator-new=<char> > --output-indicator-old=<char> > --output-indicator-context=<char> > Specify the character used to indicate new, old or context lines in the generated patch. Normally they are +, - and ' ' respectively. > https://www.git-scm.com/docs/git-diff このオプションが相当にヤバい。 これはデフォで diff | less となってる部分を、 diff --output-indicator-new='>' | less とすれば幸せになれますよ、ということだが、これは diff | sed 's/^\+/>/' | less とすれば出来ることなので、gnuにこれを提案しても当然「そんなんイラネーよ」で終わってしまう。 Cで実装すべき案件ではないから。 そこで何故断られたのかを理解せず、だったらforkしますのノリなので、完全に無能の働き者だよ。 多分こいつらは本当にCしか書けない、Cしか知らない連中だ。 sed/awk/perl/python/rubyのどれかでも少しでも出来れば、この発想にはならない。 コントリビューターがこれを出してくるのも、メンテナがこれを止めないのも狂ってる。 プロジェクトにはいまだに正規表現を書けない老害しかいないと分かる。 だからこのオプションは、Linus的に言えば、常識的なプログラマー除けにはなってしまってるだろうよ。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/685
686: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 19:51:14.64 ID:oV1LtMOH0 git diffはパッチファイルを作るために利用されるし、 diffは環境依存するコマンドなんだから、 そんなのに依存したら、gitの移植性が低くなる 別の環境で実行したら、diffコマンドの出力がおかしくて 正しくパッチ当てられませんとかなったら困るやろ 常識で考えろや http://mevius.5ch.net/test/read.cgi/tech/1650651945/686
687: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 19:53:03.45 ID:oV1LtMOH0 >>685 > とすれば出来ることなので、gnuにこれを提案しても当然「そんなんイラネーよ」で終わってしまう。 あのさぁ、提案するのはGNUだけじゃだめだって理解してないの? http://mevius.5ch.net/test/read.cgi/tech/1650651945/687
688: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 19:53:31.39 ID:J+3pjzxx0 >>684 どういう意味? 少なくともどのプラットフォームにもdiffはあるだろ。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/688
689: デフォルトの名無しさん (ワッチョイ d9e4-Xmag) [sage] 2022/10/31(月) 19:56:13.88 ID:GzQExg5g0 >>682 diff.externalやdifftoolによる置き換えは差分表示に使うdiffを置き換えるだけで、git内部でマージやリベースを行うための差分抽出には使わないだろ http://mevius.5ch.net/test/read.cgi/tech/1650651945/689
690: デフォルトの名無しさん (ワッチョイ 699f-ZlL6) [sage] 2022/10/31(月) 20:00:09.03 ID:9mfNegYM0 ん? これはもしかして以前来てたPOSIX原理主義者氏か? http://mevius.5ch.net/test/read.cgi/tech/1650651945/690
691: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 20:00:09.25 ID:oV1LtMOH0 >>688 全部同じ実装じゃねーよ それぞれ全部細かい違いがある すべてのプラットフォームのdiffにまで対応するなんて 大変な作業なんて誰もやろうとは思わん http://mevius.5ch.net/test/read.cgi/tech/1650651945/691
692: デフォルトの名無しさん (ワッチョイ 6914-Tk+f) [sage] 2022/10/31(月) 20:01:01.17 ID:oV1LtMOH0 例えば2004年版のdiffには-uがないからな The Open Group Base Specifications Issue 6 https://pubs.opengroup.org/onlinepubs/009604499/utilities/diff.html http://mevius.5ch.net/test/read.cgi/tech/1650651945/692
693: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/10/31(月) 20:02:19.83 ID:J+3pjzxx0 >>686 > diffは環境依存するコマンド は? まあ仮にそうだったとして、Git内のdiffがあらゆる環境で同じdiffを生成するように小細工してるとでも? ただまあこの場合、ぶっちゃけ、小細工出来る=原因が分かってる≒多分Intサイズとかの違い、だから、 リモートリポジトリのマージで(俺は実際何を送ってくるのか知らんが)diffを送ってくるのなら、 それはマージ時点で鯖に問い合わせてdiffで済むかファイル本体を送らせてローカルでdiff取るかすればいいだけでしょ。 正直、原因究明して小細工するより後者の方が断然楽なので、合理的判断ならそうしてると思うけど。 >>691 前後したが上記。 >>689 その内部でマージやリベースを行う為のdiffをGNUdiffのdllコールと置き換えて、 マージやリベースが動かなくなるかって話だよ。普通に動くと思うけど。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/693
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 309 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s