[過去ログ]
Git 19 (1002レス)
Git 19 http://mevius.5ch.net/test/read.cgi/tech/1667720427/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
100: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 06:46:43.39 ID:h41UD2lS0 ちな、CodeOfConduct読んで、あいつら中の人か!ってのが分かったので俺的査定。 Avar Arnfjord Bjarmason: 今なんとか方向修正を試みてるように見える。上手く導ければ有能だが、果たして? Christian Couder: 出てきてないので不明 Junio C Hamano: 休暇中?らしい (40) Taylor Blau: 無能。ってか閻魔大王が全スルーするならいないのと同じ。ちゃんと門番やれ。 そういえばGitのコーディングルールはどこにあるのだ? 今回ほどの糞コードは、コーディングルールで引っかけて落とせるはずだが。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/100
101: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 06:52:44.85 ID:h41UD2lS0 >>89,94,95 全部読んだ。なかなか面白かった。(89はコメントも全部読んだ) 君が冷やかしかマジかは分からないが、マジで要るんなら作ってみてもいい。 ただし今すぐ取りかかれるわけでもないし、全般的に考えて本年度末(3月末)位が現実的な目標になる。 今考えている構成をざっくり言うと以下 ・Gitをゴミ箱/バケツ化するラッパ(フロントエンドのみ。バックエンドはGitで、Gitは別インストール必須) ・electronで作ってwindowsストアに配置(広告付き無料アプリ) 十分売れてる限り保守してやんよ(その必要すらないほど単純なアプリだが) ・プロプライエタリで伽藍開発。バザールなんてとても無理。コードは俺が書くから、お前らは使い勝手をフィードバックしろ。 ・GitBucket(仮称)、Gitと付けたら不味いのなら考え直す ・コンセプトは、「何も知らなくても使える『全自動完全履歴保持バケツ』」 よって仕様は限りなく簡素化し、それ以上やりたければDBはgitだからgitアプリ使え、とする ・diffは取れるがmergeは直感的GUIがないので無理。が、主にバイナリを保存する連中には全く関係ないし。 ・branchはディレクトリに割り当てて手動で。というより、git内にcommit履歴が保持されてないのでbranchの識別が出来ない。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/101
102: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 06:54:37.10 ID:h41UD2lS0 実装するだけなら2週間程度で十分だが、 ・electron使ったこと無いので調査に2週間ほどかかる ・アプリストアも広告付きのアプリも作ったことないので、これも2週間ほど調査必要 ・仕様を練らないとろくな事にならない、 Linusが2週間と言ってるのは実装であって、それ以前にずっといろいろVCS使ってきてるから仕様が熟成済みだっただけ。 ・そもそも顧客がいるかどうか ・一応は他WindowsGitアプリを全部確認する必要がある。今tortoiseGit試しにインストールしてみたところ。 があるので、冷やかしでないのなら新しくスレ立てて様子見する。 スレタイには GitBucket(仮称)と、何か「Gitはもう諦めた系」「頑張らない系」の連中を集められる文言を入れたいが、何がいいか。 板はここかソフトウェア板だと思うが、他に候補があるか。 ただ対象ユーザーはここに来る連中ではなくガチのど素人なので、もっと全然違うところの方がいいかも? スレタイ案: A. もうGitBucket(仮称)でええやん。 B. GitBucket(仮称)使ってるからって、Gitが分からなかった訳じゃないんだからねっ!!! C. GitBucket(仮称)計画中、Gitに疲れた奴集まれ D. 日常のバックアップツールGitBucket(仮称) 冷やかしじゃない奴からの投票を受け付ける。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/102
103: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 06:57:39.26 ID:h41UD2lS0 >>97 (わざわざ色々考えてくれたのなら手間かけてすまんが) 正直全く分からんし、俺はstashも糞仕様と思うから使う気ない。 というか、Gitの連中、「仕様は小さくあるべき」という感覚がそもそも無いと思う。 俺だったら、branchなんて、各ディレクトリにそのままマッピングする。 つまり、sample.txtの開発なら、 .git master/sample.txt develop/sample.txt featureXXX/sample.txt stash/sample.txt で、実行パスは xxxx/current/sample.txt としておいて、 ブランチの切換はcd、実行ブランチの切換は ln -s master current でよかった。 stashなんて不要機能そのものだよ。直感的じゃないし、そこまでGit信じ切れないし。 この馬鹿仕様で git add -A で取ってれば各ブランチの同時開発状況含めて完全にcommit履歴が保持出来る。これで十分だ。 Gitによってカレントディレクトリの内容が「上書き」されるのはかなり気持ち悪い。 zip展開するときと同様、バケツからは明示的に取り出さないと上書きされない、が分かりやすくて良いんだよ。 branch切換で全部上書きで入れ替わるのは、頻繁に過去と現在を往復するにはいい仕様だが、普通の人には要らん。 というわけでGitBucketは基本この方針でmasterに全ての履歴を数珠繋ぎ、 平行開発はディレクトリとシンボリックリンクで手動でやれ、 git branch xxxx で切り替えれば勿論切り替わるが、バックアップはその状態で取るのであしからず、 それが嫌なら一々masterに手動で戻せ、(自動戻しは失敗するときがあるので付けない) だから戻し忘れたら一見ちぐはぐになるが、どのみち何処かに残ってるからなんとか探し出せ、という仕様。 要するにGitBucketはbranchを無視する。 (現在のbranchの記録はしておく。これでbranchを使う人も使わない人も問題ない) http://mevius.5ch.net/test/read.cgi/tech/1667720427/103
104: デフォルトの名無しさん (アウアウウー Saa9-9aJV) [sage] 2022/11/12(土) 09:27:34.24 ID:xzRuq+6da electron 使うなら、ブラウザ上にOSのデスクトップ画面を再現するのと同じ事ができるだろう。 ゴミ箱/バケツのところでなくて、デスクトップに置いて管理されている事になっているファイルをコントロールできるようにして欲しい。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/104
105: デフォルトの名無しさん (ワッチョイ 2514-H0Ic) [sage] 2022/11/12(土) 09:30:46.94 ID:Cj/ueztB0 >>98 > Gitはパッチ適用ツールであって、本当に、パッチ書く側のサポートが全くない。 パッチ適用ツールはpatchコマンドっていうんだよ gitはそれ以上のサポートがたくさんある これ以上何がほしいいっていうんだよw http://mevius.5ch.net/test/read.cgi/tech/1667720427/105
106: デフォルトの名無しさん (ワッチョイ 2514-H0Ic) [sage] 2022/11/12(土) 09:31:53.24 ID:Cj/ueztB0 >>103 > 俺だったら、branchなんて、各ディレクトリにそのままマッピングする。 同じ名前のブランチが複数あることを想定してないね ちょっと失格かな。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/106
107: デフォルトの名無しさん (ワッチョイ 2514-H0Ic) [sage] 2022/11/12(土) 09:37:06.39 ID:Cj/ueztB0 >>103 > というわけでGitBucketは基本この方針でmasterに全ての履歴を数珠繋ぎ、 ああ、GitとGitHubの区別もついてなさそうだね http://mevius.5ch.net/test/read.cgi/tech/1667720427/107
108: デフォルトの名無しさん (ワッチョイ 2514-H0Ic) [sage] 2022/11/12(土) 09:39:05.08 ID:Cj/ueztB0 >>103 > branch切換で全部上書きで入れ替わるのは、頻繁に過去と現在を往復するにはいい仕様だが、普通の人には要らん。 branch切り替えで入れ替わるのはコミットしたものだけだよ これは便利でコミットしてない設定ファイルやデータファイルなどは そのまま残る こういうことまで考えつかなかったでしょ?w http://mevius.5ch.net/test/read.cgi/tech/1667720427/108
109: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 10:59:50.02 ID:h41UD2lS0 >>104 > デスクトップに置いて管理されている事になっているファイルをコントロールできるようにして欲しい。 それはやる。というか、今考えている動作モードは2つで、 A. ある階層以下全部の履歴を記録 B. 明示的に指定したファイルまたはディレクトリの履歴を記録 で、Aがgit的、Bがゴミ箱的な使い方になる。 ライトユーザーにはBの方が直感的だろう。 毎日「ゴミ箱ならぬ記録箱」にブッ込んでおけば、万一の時に引っ張り出せるだけ、という使い方だ。 ただし中身がgitなので、当然Aの方が実装しやすい。 当たり前だが同居させないと余分なコードがいるので、無理にでも同居させる。 この解だが、一応 .git c/users/user/desktop みたいに、カレントをルートと見立てたファイルツリーとし、 明示的に指定されたらそこ(ディレクトリまたはファイル)を指すシンボリックリンクを作ってgitに取らせるつもり。 (この場合は上記desktopが実際のdesktopを指すシンボリックリンク) これで不味いかね?普通に読むだけならシンボリックリンクは実体が見えるので、 gitがシンボリックリンクを特に区別しないならこれで全く問題ないはずなんだが。(未調査) 或いは git add c:/users/user/desktop とか、絶対パスで指定した方が上手く行くのだろうか? しかし見る限り git add で指定するのは通常はカレント下だけなので、 (仕様的には使えたとしても)変なバグを踏みそうなので回避した方が無難ではある。 この仕様で問題なのは、パスが糞長いと記録出来なくなること。 つまり、カレント下に絶対パスを付け加えるので、実体のファイルツリーよりも「常に」カレント分だけパスが長くなり、 パスの文字数の上限(今も260文字らしい)を越えると記録出来なくなる。 > https://learn.microsoft.com/ja-jp/windows/win32/fileio/maximum-file-path-limitation だからガチもん商用アプリではこの解は使えない。 (仮にルートに置いてもc:\の3文字は長くなるので、ユーザーファイルが合計258-260文字のパスになってるときに記録出来ない) が、今回は、「そんな糞長いパスにするな」で終わり、諦める。(WARNINGは出す) http://mevius.5ch.net/test/read.cgi/tech/1667720427/109
110: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 11:00:10.29 ID:h41UD2lS0 てな話を仕様として詰める必要があって、つまり、 1. どういう機能が欲しいか 2. それはこの仕様(実装)でいけるか みたいなこと。 ちょこちょこやるのはさておき、本格的にやるならスレ分けるべきだな、という話。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/110
111: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 11:11:14.80 ID:h41UD2lS0 >>105 commit/rebase履歴の全保持と、commitのフィルタ機能だね。 記録側からみればゴミなcommitも、プログラマからみれば重要なんだよ。だからそれを見えなくする機能だね。 CSSでいうdisplay:noneの機能。 今は、「綺麗に清書して=プログラマには必要だったコミットも全部消して」提出しろ、になってるだろ。 これが無駄だし、プログラマ的には不快だ。 それは悪戦苦闘の記録であって、デグレードした場合に参照したい時もあるんだよ。消してるのは不味い。 ローカルだけにしろ、はその通りだが、今はローカルだけにも出来ない仕様だろ。(無駄にブロックチェーンしてるので) http://mevius.5ch.net/test/read.cgi/tech/1667720427/111
112: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 11:11:41.80 ID:h41UD2lS0 >>106 世界規模で勝手に開発してるLinuxならそうだろう。 しかし、ローカルファイルシステム、或いは共有ファイルシステムに於いては、当たり前だが「同じディレクトリ名」=「同一」なんだよ。 だからディレクトリ名が被って困る、なんて事はない。 そして、バックアップ的には、branchはパスが伸びた程度の意味しかないから、これで問題ない。 (git流のbranchの使い方をしてても、これで問題ない。 通常のファイルシステムでは、パス+ファイル名が同じなら同一と見なすが、 ここがgitではパス+ファイル名+ブランチ名になってるだけ。 branch自体の参照先も変えられる!と思うかもしれんが、それはユーザーがそうしたのであって、 確か○月○日頃の○○ブランチ内にそのファイルがあるはず、と思い出すのはユーザー責任だ。 いずれにしても何処かに記録はされてるから、あとは頑張って探せという仕様) http://mevius.5ch.net/test/read.cgi/tech/1667720427/112
113: デフォルトの名無しさん (ワッチョイ adc2-owoj) [sage] 2022/11/12(土) 11:13:16.58 ID:inQx9iPN0 git関係ないけどWindows10 1607以降はMAX_PATH制限なくなってるんだな http://mevius.5ch.net/test/read.cgi/tech/1667720427/113
114: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 11:13:17.79 ID:h41UD2lS0 >>108 知ってるぞ。 ただ、切り替わらなくてもいい共通ファイル類はその場合には .git 階層に置くんだよ。 というかね、gitが何故か「カレント主義」になってて、とにかく「カレントディレクトリ」なんだよな。 これは本当によく分からない。 俺がGitGUIで最初にやったのは、「Open repository ...」を探すこと、だからな。 無いから、「え?まさか?カレントで起動しないと駄目なのか?」でわざわざショートカット作り直して起動し直した。 普通そんなアプリ無い。この辺は、「いつも通りのアプリ」じゃないと駄目なんだよ。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/114
115: デフォルトの名無しさん (ワッチョイ 1563-sfiH) [sage] 2022/11/12(土) 11:26:13.02 ID:403mRijK0 >>101 仕様や開発グループがグダグダだと思っているものをバックエンドにするのか 「gitがグダグダだからできなかった」と言い訳して終わりそう >>103 mergeのことは考えてないんだな http://mevius.5ch.net/test/read.cgi/tech/1667720427/115
116: デフォルトの名無しさん (ワッチョイ 4bbb-tcgO) [sage] 2022/11/12(土) 11:28:11.58 ID:zxvXZjfz0 >>102 投票とかどうでもいいから早く別スレ行け 馬鹿向けのアプリは馬鹿だけが多数寄ってきて繁盛するからそっちで頑張れ git は馬鹿には使えないことが理解できたんだろ http://mevius.5ch.net/test/read.cgi/tech/1667720427/116
117: デフォルトの名無しさん (ワッチョイ 4bbb-tcgO) [sage] 2022/11/12(土) 11:37:38.69 ID:zxvXZjfz0 >>103 ブランチにディレクトリを使うのは既に subversion がやって失敗した道だぞ ファイル数やファイルサイズが大きくなるとブランチ切るのに時間とディスク容量がかかり過ぎる 過去話読んでも何も学ばないやつはゴミを再発明するよな とはいえ、お前やお前が想定しているユーザー層はたいした規模のプログラム組まないだろうからゴミでも十分かもな、知らんけど http://mevius.5ch.net/test/read.cgi/tech/1667720427/117
118: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 11:45:13.42 ID:h41UD2lS0 >>115 車輪の再開発はしないんだよ。 どこまで使えるか判断して、その範囲は使うし、それを超えた範囲は使わない。 (今の実態だと、git add 絶対パス、はほぼ確実にバグを踏むから使わない) 自分で作ればバグがない物が簡単に出来るわけでもないし。 > mergeのことは考えてないんだな GUIでmerge、例えばドラッグアンドドロップでmergeは怖いだろ。 コピーするつもりがmergeされたら悲惨なことになる。 (コピーや移動と同じGUIにmergeをアサインしてはいけない) だからmerge自体はgitアプリで明示的にやれ、という仕様。その方が安心だ。 そもそもバイナリはmerge出来ないし、 GitBucket使うような連中にはmergeなんてほぼ要らん。 てゆうかね、そもそもmergeが主な仕事ならgit使うべき。あれは完全にmerge特化型だから。 GitBucketのユーザーは、そのmergeのネタを作る側、つまりプログラマとかクリエーターとかだ。 管理側じゃなくて、管理される側。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/118
119: デフォルトの名無しさん (ワッチョイ 4bbb-tcgO) [sage] 2022/11/12(土) 11:59:07.72 ID:zxvXZjfz0 >>111 アホでやんの。マニュアル斜め読みしただけで実際に使用してないので本質が見えてないな rebase する前に新しいブランチ切ってやれば rebase前とrebase後の両方残せるという基礎の基礎すら理解できてないのか 普通はそうやって使うんだよ。マージも一緒。 ブランチが軽量で好きなだけ切れるので情報残したい数だけブランチを切ればいいだけだよ rebase --keep-base みたいな使い方もあるけど基本が理解できてないやつは混乱するだけだろうな http://mevius.5ch.net/test/read.cgi/tech/1667720427/119
120: デフォルトの名無しさん (ワッチョイ 1563-sfiH) [sage] 2022/11/12(土) 11:59:16.76 ID:403mRijK0 >>118 × mergeが主な仕事ならgit使うべき。 ○ mergeを使う可能性があるならgitを使うべき 長文君ソフト(仮)ではmergeのことを考えてないんだから すでに書かれてるけど他のスレに行ってくれ 仕様の検討も含めてそっちでやればいいんだから http://mevius.5ch.net/test/read.cgi/tech/1667720427/120
121: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 12:01:03.49 ID:h41UD2lS0 >>117 ああその失敗情報は有り難い。 ただ、そこは理論的に問題ない。 技術的には、Gitでもカレントを「上書き」するのだからコピーと同じだけのI/Oが必要であり、 I/Oバウンドの場合、GitでもSubversionでもその部分の処理時間は同じになる。 (Gitのbranch切換とSubversionのブランチ作成が同じI/O負荷) そこで速度差が出るのだから、実際は、86で既に言ったとおり、Subversionが各ソースを「展開」するのが遅くて、 それはおそらく順方向履歴しか持ってないからだ。 (逆方向履歴持ってれば、commitは早くならないかもしれないが、branch切り出しはコピーと同速に出来る) ここら辺はSubversionの基本アーキが腐ってるからだが、 この点GitBucketは中身Gitだから、コピーするだけで、結果的には本家Git(上書きするだけ)と同速だよ。 そのコピーが重い? だったらbranch切換セレクタだけは付けるから、それで勝手に自前で管理しろ。 バックアップツールとしては、branchはパスが伸びただけの意味しかないからそうする、というのは112の通り。 コピーオンライトのファイルシステム、つまりハードリンクにする手もあるけど、これはユーザーが付いて来れないだろ。 ならコピー時間待たせた方がいい。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/121
122: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 12:09:47.00 ID:h41UD2lS0 >>119 > rebase する前に新しいブランチ切ってやれば そこはbranchではなくてタグだとは思うが、要はそれ、gcされないようにポインタ残してるだけだろ。 しかし開発しなくなったbranchは刈り取れ、というのが一般の使い方だろ。(それが推奨されてるように見える) そもそもgcされないようにxxする、というのが間違ってるんだよ。 そんなところまでユーザーが密結合すべきではない。 普通にオススメ通りやったら、探せば何処かに履歴はあるよ、程度じゃないと。 まあ--keep-baseについては見てみるよ。 Bookの方が断然良かったのでman の方読むの止めてたから、知らなかった。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/122
123: デフォルトの名無しさん (ワッチョイ 4bbb-tcgO) [sage] 2022/11/12(土) 12:11:08.00 ID:zxvXZjfz0 >>121 お前、作成の負荷と切り替えの負荷の区別ついてないだろ 実用上で問題になるのは作成の負荷、切り替えはディレクトリ方式の方が軽いけどそこは重要じゃない http://mevius.5ch.net/test/read.cgi/tech/1667720427/123
124: デフォルトの名無しさん (ワッチョイ 4bbb-tcgO) [sage] 2022/11/12(土) 12:15:51.67 ID:zxvXZjfz0 >>122 必要なものには後で探せるように名前をつけておく。 名前のないものはいらないものなので掃除の時に捨てる。 基本中の基本すら理解できないの? http://mevius.5ch.net/test/read.cgi/tech/1667720427/124
125: デフォルトの名無しさん (ワッチョイ d55f-BvCT) [sage] 2022/11/12(土) 12:18:07.20 ID:bWvYfJDZ0 Subversion のブランチ作成がファイル数やサイズで重くなるとか・・・ てきとうなこと言うやつが二人になってカオス。二人とも早く別スレに行くか黙るかしてくれ。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/125
126: デフォルトの名無しさん (ワッチョイ 4bcf-IBSA) [sage] 2022/11/12(土) 12:34:32.74 ID:ajB/boEg0 GitBucket をdisってんのかと思った。 その名前はもう使われてるから変えろバカ。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/126
127: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 12:54:11.71 ID:h41UD2lS0 >>120 多分な、開発現場において「ファイル内の」mergeが日常ってのはあまりないと思うぞ。 それは各自が勝手にどのファイルをどういじってもいい、ということだから。 gitによって開発フローが変わった!ってのがこの辺かもしれんが、 普通は担当を振り分けて、結果的に 「この期間にこのファイルを触るのは○○だけ」 と交通整理される。 同時に変更する必要があれば、同じ奴に同時にやらせるだけ。(注文が増えるだけ) そして各自が変更したファイルをかき集めて、くっつけて終わりだ。 お前らはこれもmergeと言ってる気がするが、 これは「更新日時が新しければ上書きする」だけの話で、手動でも楽勝だし、 プログラマはこれをmergeとは言わない。 プログラマが言う「ファイル内」のmergeが日常的に発生するかどうかはその部署のオペレーションによる。 (が、会社とか統制取れる場所でこれをする意味はないから、OSS以外ではほぼないと思うが) http://mevius.5ch.net/test/read.cgi/tech/1667720427/127
128: デフォルトの名無しさん (ワッチョイ b57b-3eqv) [sage] 2022/11/12(土) 12:57:01.77 ID:h41UD2lS0 >>126 了解。考え直すよ。一度位ググるべきだったわ。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/128
129: デフォルトの名無しさん (ワッチョイ 4bbb-tcgO) [sage] 2022/11/12(土) 13:00:04.63 ID:zxvXZjfz0 >>125 お前的には svn copy だけがブランチの作成で svn checkout は不要という主張したいの? svn 的には checkout までが作成で、ブランチの切り替えは cd じゃないか。 オフトピなので svn の思想の話を続ける気はないけど、気になった。 http://mevius.5ch.net/test/read.cgi/tech/1667720427/129
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 873 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s