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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
643: (ワッチョイ 7997-uk66) 2022/10/29(土)11:09 ID:+W9Ulup+0(1) AAS
>>640
手練れのエンジニアとお見受けするが、どのジャンルで仕事されているので?
644
(1): (ワッチョイ 8bbb-VzUj) 2022/10/29(土)15:16 ID:e5vmfD+T0(2/3) AAS
>>640
HEAD~100..HEAD みたいなのを最後につけてレンジを制限する話だけど効かない?
645
(1): (ワッチョイ 1302-4ham) 2022/10/29(土)21:10 ID:YQqcaKMe0(1) AAS
git log -100 じゃなくて?
646: (ワッチョイ 8bbb-VzUj) 2022/10/29(土)23:05 ID:e5vmfD+T0(3/3) AAS
>>645
-100 と -n 100 と --max-count=100 は同じ意味で表示するログの数を制限する
A..B はログを検索する対象を制限する。(Bには存在するけどAには存在しないコミットという意味になる)
647
(1): (ワッチョイ 497b-vCJ4) 2022/10/30(日)02:06 ID:IOU525bY0(1/6) AAS
>>644
効いた!ありがとう。

何ぞそれ?と思いきや git log のdocumentの頭に書いてあるのな。
> 外部リンク:www.git-scm.com
gitは機能が多すぎてドキュメントがやたら長いので端折っていたのが敗因だ。
やはり最初は一通り読まないと駄目だな。

これなら回せばいいので、組んでみたら32bit環境で43秒で終了した。
これだと高速化チューニングではなく単にfree忘れっぽいのでレポートしておいた。
再現用のスクリプトも同梱してるから気になる人はどうぞ。
外部リンク:lore.kernel.org
648
(1): (ワッチョイ 8bbb-VzUj) 2022/10/30(日)09:36 ID:b5HYhcbp0(1/4) AAS
>>647
おつかれ。
慣れてくると git log とかは全ログ対象にはしなくて、素でレンジ指定するので、この手のリソース問題は見つけ難いんだよな。
649: (ワッチョイ 497b-vCJ4) 2022/10/30(日)12:37 ID:IOU525bY0(2/6) AAS
>>648
初心者は意味不明な使い方を無自覚でやるから、どうしてもマイナーバグに当たりやすい。
なるほどタグを付けてgit logでは範囲指定がデフォか…
ってそのままtutorialに書いてあったわ。やっぱちゃんと読まなきゃ駄目だったorz
> 外部リンク:www.git-scm.com
つまるところ、今までこんな馬鹿げた使い方をした奴は居なかっただけだな。
650
(1): (ワッチョイ 497b-vCJ4) 2022/10/30(日)18:58 ID:IOU525bY0(3/6) AAS
git diff の出力はデフォでpatchになってるのだが、これどうやったら切れるんだ?
> 外部リンク:www.git-scm.com

既にフォーマッタを持っているので、
unixコマンドのdiffのデフォルト出力と同じ物が欲しい。
切るオプションも無いし、下の方のCONFIGURATIONにもそれらしい設定が見つからない。
diff.externalでdiffごと入れ替えないと駄目とかいうクソ仕様?
-s や --no-patchでは出力そのものが出なくなる。ただし
> or to cancel the effect of --patch.
と書いてあるから、かつては--no-patchではdiffのデフォ出力で、-sで出力無しだった気配はあるが。
651
(1): (ワッチョイ 8bbb-VzUj) 2022/10/30(日)21:37 ID:b5HYhcbp0(2/4) AAS
>>650
git diff は git diff 形式 (unified diff 形式の変形) で出力される。それ以外の形式が欲しい場合は外部コマンド使うしかない。
652
(1): (ワッチョイ 497b-vCJ4) 2022/10/30(日)22:10 ID:IOU525bY0(4/6) AAS
>>651
マジかー。クソ過ぎ。仕様考えた奴馬鹿すぎ。
スクリプトに食わす為に先頭の+-の文字を変更するオプションとかあるのだけど、
これでいいと思った奴は死ねだな。
653
(1): (ワッチョイ 8bbb-VzUj) 2022/10/30(日)22:14 ID:b5HYhcbp0(3/4) AAS
>>652
git はパッチ管理システムなんだから、それ以外が考慮されてると思う方が贅沢。
654
(1): (ワッチョイ 497b-vCJ4) 2022/10/30(日)22:34 ID:IOU525bY0(5/6) AAS
>>653
いやそうじゃねえ。というかこれはソフトウェアの構成を間違ってるよ。

diffだってバグはあるのだから、内製は止めて、普通にdiffのdllをコールすべきなんだよ。
GitはLinusが1日で作ったらしいし、最初はどう考えてもそうなっていたはず。
だから俺は config の中にデフォで diff -u みたいなエイリアスがあるのかと思ってた。
diffを内包する事に、何のメリットもない。

この名残がexternal driverで、それが使えればいいという事なのだろうけど、
ご丁寧にこれを禁止するオプションまである。(-no-ext-diff)
多人数の開発では、同じ画面を見ていた方が何かと楽だから、揃える方向で努力するのはごもっともだが、
禁止するのは違う。どこかでおかしな思想が混入しているよ。

そもそも、それ以外を考慮しない=外部コマンドで十分出来る事はdllを呼ぶ、であって、
この構成だとGitがdiffも構成してるから、君は認識を間違ってる。
Gitは明らかにおかしい方向で無駄な事をやってしまっている。
そしてそれは君の価値観的にもNGなはずだよ。
655
(1): (ワッチョイ 8bbb-VzUj) 2022/10/30(日)23:37 ID:b5HYhcbp0(4/4) AAS
>>654
Linus のこと知ってるのなら長文書く前に調べろ。
git 作る以前から、みんなが勝手なフォーマットでパッチ送って来るのは非常に困るので推奨のパッチ形式を決めてあったんだよ。
で git 作る時に強制的にその形式に統一されるようにした。どうしても他の形式で出したい場合はひと手間かかるのが設計意図どおり。
656: (ワッチョイ 8b8f-5UCg) 2022/10/30(日)23:53 ID:LXgcbV870(1) AAS
Linusも言ってたような気がするけど、気に食わなければ自分で作れ
以上
657
(1): (ワッチョイ 497b-vCJ4) 2022/10/30(日)23:58 ID:IOU525bY0(6/6) AAS
>>655
Linusはデフォを -u にして、patch送るならオプション無しで送れ、としただけでしょ。
これは間違ってない。
問題は、元のdiffの形式の出力が出来なくなってる事だよ。
オプションで出来るよ、でよかっただけ。

オプションすら禁止なら、今のgit diff に各種出力オプションがあること自体が君的に矛盾するだろ。
何故君がそんな意味不明なポジショントークをするのか分からないが、
Gitが方針を間違ってるのは事実だよ。
オプション禁止なら、git diff にオプションを何一つ付けてはいけない。
(仮にこれであれば、賛同はしないが理解はする)

ただまあ、ドキュメントの雰囲気だと、
おそらく昔は --no-patch で元のdiff形式が出せたのではないかと推測される。
君がどこまで知っているのか知らないけど、多分君の歴史理解も間違ってると思うよ。
658: (ワッチョイ 8bbb-VzUj) 2022/10/31(月)00:04 ID:h5Hfu9WR0(1/9) AAS
>>657
お前以外は誰もオプションとか必要ないから作ってないだけだよ。むしろ邪魔。どうしてもやりたければ外部コマンド指定でできるんだからオプションとかでやるよりよっぽど汎用性がある。
オープンソースなんだからオプション必要ならお前が自分でつくればいい。
659: (ワッチョイ 8bbb-VzUj) 2022/10/31(月)00:08 ID:h5Hfu9WR0(2/9) AAS
あと −−no-patch には昔からパッチ出さない機能しかないぞ。頭悪い推測とかする暇があったら過去のソース確認してこい。
それこそ git で調べればすぐだぞ
660
(1): (ワッチョイ 497b-vCJ4) 2022/10/31(月)00:21 ID:J+3pjzxx0(1/22) AAS
>>859
そうか?ならマニュアルの
> to cancel the effect of --patch
の部分は明らかに不要だから削除要請出しといてくれ。

というか君の「昔」がどれ位か知らんが、Linusの言ってた?フォーマットが統一されてないってのは、
diffの各種オプションではなく、edやsharに対してだと思うぞ。
661: (ワッチョイ 8bbb-VzUj) 2022/10/31(月)00:43 ID:h5Hfu9WR0(3/9) AAS
>>660
不要だと思ってるのはお前だけ。その思い込みが勘違いの原因だろ。
662: (ワッチョイ 497b-vCJ4) 2022/10/31(月)07:08 ID:J+3pjzxx0(2/22) AAS
色々確認したが、Gitの現状認識としては651であってるっぽい。
そして外部ツール使うしかないが、これは環境設定無しでコマンドだけで出来る。(動作確認済み)
git difftool --extcmd=/usr/bin/diff <commit> <commit>
> 外部リンク:qastack.jp

ついでにその中、
> Gitについて学ぶほど、それは1人の人、つまり元のプログラマーのために作られたものだと感じます。
これもよく言われてるようだが、俺も今回の件で同意だ。
合理性に欠ける判断をしているのだから色々文句言われるのも当然だ。
ただLinusは自分用に作った物を公開したら勝手に使われてるだけだから、知ったこっちゃ無いってのも分かる。
ただそれならそうと、いつもの調子でドキュメントにも書いててくれないと困るね。
合理的な構成を推定すると迷子になってしまう。

俺は絶対に diff -u 以外のフォーマットを許さない!絶対にだ!

とか書いてあれば、最初から諦めるので無駄に探す必要はなかった。
俺はLinusのこういった感情的な部分はわりと好きなのだが、まあ昨今の code of conduct では書いても消されるんだろうけども。
663
(1): (ワッチョイ 497b-vCJ4) 2022/10/31(月)10:11 ID:J+3pjzxx0(3/22) AAS
てかGitってまさかのモノリシックかよ!
こりゃ文句言われるのも分かるわ。完全に方向を間違ってる。
結果的に肥大化していったのだろうけど、現在の状況でこれは駄目だよ。

つかこれシェル化する方向のプロジェクトはないの?
子コマンド群のバイナリだけ貰いたいんだけどさ。
664: (ワッチョイ a95f-Tk+f) 2022/10/31(月)10:39 ID:sko8U7ef0(1/2) AAS
>>663 好きに fork しなよ。
665
(1): (ワッチョイ 8bbb-VzUj) 2022/10/31(月)12:23 ID:h5Hfu9WR0(4/9) AAS
自分でやってみればいいよ。
自分で多数の人が参加する巨大なプロジェクトを管理するようになれば、形式が統一されていることがどれだけ重要かわかる。
仕様を強制されているようでも、これこそが git の使い易さ、戦闘証明済の実力だと気付くよ。空想と現場は違う。
666: (ワッチョイ 497b-vCJ4) 2022/10/31(月)13:21 ID:J+3pjzxx0(4/22) AAS
>>665
それが従来形式のdiffの出力をさせない理由なら、
現在のGitプロジェクトの思想は俺とまるで合わない。
今時モノリシックとか、多分じきにこのプロジェクトは頓挫するよ。
multicsの再来だね。(俺は使ったこと無いけど)
自覚症状もあるみたいだし。
> Git is a fast, scalable, distributed revision control system with an unusually rich command set
> unusually
> 外部リンク:www.git-scm.com

ただまあ本当にdiffも内製しているようで、ちょっと驚きだよ。
ただwikiによると当初はローレベルエンジン+シェルスクリプトで、これは俺の思想と合致してる。
windowsに移植する際にシェルスクリプトをCに書き換え、そこでモノリシック化したようだ。

それで環境変数を見るとか、完全に開発の方向性を間違ってる。
当初のシェルスクリプト方式ならdiffを呼ぶだけだから、シンボリックリンクで好きなのと簡単に交換出来た。
この場合、Git側にコードは全く必要ないし、ユーザー側に予備知識も必要ない。
それをモノリシックにしてしまったから、環境変数を読むコードを必要とし、
ユーザーはマニュアルを読むことを強制させられる。
お互いに完全に無駄だ。
このメンテナは、ソフトウェアアーキテクチャはどうあるべきか、全く理解出来てない。

今ですらGitは難しすぎると文句言われてるだろ。
コードを書く為にコード管理システムの勉強が必要とか、完全に本末転倒だし。
じきに巨大な躯体を支えきれなくなって、分割プロジェクトが発生すると思うぜ。
それが多分Next-gitになるのだろうよ。

つか、何でGitはモノリシックを選択してんの?全く意味ねえと思うぞマジで。
本当にdiffとかを絶対に交換させない為?ならマジで死ねでしかないね。
667
(1): (ブーイモ MM33-wVCK) 2022/10/31(月)14:15 ID:Yrczlr02M(1) AAS
Simple is not easy
Gitは後者を選択することでSIerのドカタまで幅広く受け入れられたということだ
668
(1): (ワッチョイ 8b8f-5UCg) 2022/10/31(月)14:29 ID:Pk1WyFqz0(1) AAS
(だからgit difftoolが用意されてんだろと言いたいけど、linux原理主義者みたいだし黙っとこう)
669: (ワッチョイ 497b-vCJ4) 2022/10/31(月)15:04 ID:J+3pjzxx0(5/22) AAS
>>667
他よりましなだけだろ。

ただ俺が思うに、Gitはもっと簡単に出来て、
・勉強しないといけないGit(今)
・勉強しなくてもなんとなく使えちゃうGit(次世代)
に分離すると思うよ。次世代版の需要圧力はもう既に十分あるし。

実のところ、今のgitにラッパシェルスクリプト群を被せれば次世代版出来ちゃうし、
(勿論見た目だけだがそれが重要)
俺はそれ作って使おうかとも思案中。
Gitは業務プロセス名のコマンドだから、実際何が起こっているのか分かりにくいのが一番の問題だよ。
コマンド名変えるだけでも相当変わる。
670
(1): (ワッチョイ 497b-vCJ4) 2022/10/31(月)15:05 ID:J+3pjzxx0(6/22) AAS
>>668
それに辿り着くのにググったりマニュアルを読まないといけないのが問題なんだよ。
今のGitは世界中のプログラマに努力を強いてて、その犠牲の上に成り立ってる。

3時間程度あれば、再現コード付きのバグ報告が出来てしまう。
それをマニュアルを読むのに費やしてるのだから、無駄でしょ。
世界中のプログラマが3時間を世界が進歩する方向に費やせたら、Gitももっとよくなってたはずだよ。
671
(1): (ワッチョイ 6914-Tk+f) 2022/10/31(月)15:39 ID:oV1LtMOH0(1/19) AAS
それは世界中の人が俺に1円を恵んでくれたら
俺は大金持ちになっていたと言っているようなもんだな
672
(1): (ワッチョイ 8bbb-VzUj) 2022/10/31(月)15:57 ID:h5Hfu9WR0(5/9) AAS
>>670
もっと良い物ができると主張するんなら作って広めてから出直してこい

もともと git を使ってきたやつらがどういう連中かわかって無さ過ぎ
linux カーネルコミュニティとか、文句言ってる暇があったらコード書いて変更した方が速いってやつらばかりだぞ
そういう連中がのべ何万人も十年以上使い続けた結果で今の仕様になってる。本当に問題だったら誰かがとっくに直してる

お前にはこの言葉を贈ろう「馬鹿でも使えるものは馬鹿しか使わない」
1-
あと 330 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.026s