Closed yashirot closed 1 year ago
今日はTortoiseGitのUIをテーマにしたい。 https://tortoisegit.org/
具体的には、Pullの「Prune」「Tag」オプションのチェックボックス
過去の社内チャットより転載:
Pruneオプションを見ると既にチェックが入ってました。
でもpulしてみると、オプションは付いてなかったですね。
git.exe pull --progress -v --no-rebase "origin"
それでPruneのチェックボックスを一度オフ→オンすると、--pruneオプションが入るようになりました。
git.exe pull --progress -v --no-rebase --prune "origin"
fetchについても同様でした
実は、チェックボックスに3つ状態があると教えてもらった。
Pruneのチェック、■と☑があるのですが、■の方ではなかったですか?
はい。よくよく見ると、初期状態はそれでした。
■ の表示
☑ の表示
Window11環境では見分けづらかった。
そもそも、チェックボックスに「3つ」状態があるのが常識外だった。 自分的にチェックボックスといえば、「ON」「OFF」の2値なので。
今日のテーマ
Contributeを見る https://tortoisegit.org/contribute/ ~と、メインリポジトリはGitLabのようだ。
Our main source code repository is hosted on GitLab: https://gitlab.com/tortoisegit/tortoisegit/;
ライセンスを見る GPL V2.0
https://gitlab.com/tortoisegit/tortoisegit/-/blob/master/LICENSE?ref_type=heads
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
下記リンクにも記載あり。 https://opensource.org/licenses/
How can I Contribute?を見る https://tortoisegit.org/contribute/
improving our documentation (see doc/readme.txt file and doc folder),
となっているので、ドキュメンテーションのリンクへ https://tortoisegit.org/docs/tortoisegit/
readme.txt
は、ドキュメントのビルド方法などの話。関係なさそう
https://gitlab.com/tortoisegit/tortoisegit/blob/master/doc/readme.txt
docフォルダのHowToContribute.txt
にコントリビュートについて多少の言及あり。
https://gitlab.com/tortoisegit/tortoisegit/-/blob/master/doc/HowToContribute.txt?ref_type=heads
Tag
とPrune
オプションの状態が3つあることは、ドキュメントに記載されていた
https://tortoisegit.org/docs/tortoisegit/tgit-dug-pull.html
Tags has three states (git 1.9 and later): Checked: All tags as well as branches are downloaded (--tags is passed to git), unchecked: No tags are downloaded (--no-tags is passed to git), and third state: use default behavior (based on remote.
.tagopt setting). Tags has three states (prior to git 1.9): Checked: Only all tags are downloaded but no branches are downloaded (--tags is passed to git), unchecked: No tags are downloaded (--no-tags is passed to git), and third state: use default behavior (based on remote. .tagopt setting). Prune has three states: True to remove remote-tracking branches which no longer exist on the remote, false: not to remove, and third state: use default behavior (based on remote.
.prune or fetch.prune git setting which can be set on the section called “Remote”).
次のアクション: 当オプションのGUIに関する議論が過去にあったかを、Issueから探す
2015年付のIssueで提起されていた
Fetch/Pull with prune does not work fine through GUI https://gitlab.com/tortoisegit/tortoisegit/-/issues/2530
2010年付のこちらはpruneをGUIから指定できないか?という趣旨。 https://gitlab.com/tortoisegit/tortoisegit/-/issues/383
当時はともかく、現在はできるのでスキップ
参考:チェックボックスのGUIに関するMicrosoft Learnの説明 https://learn.microsoft.com/en-us/windows/apps/design/controls/checkbox
参考:チェックボックスのGUIに関するMicrosoft Learnの説明 https://learn.microsoft.com/en-us/windows/apps/design/controls/checkbox
Recommendationを見ると、「不定(indeterminate)」は第3のstateに使うな、ユーザに第3の状態を直接選ばせるなと書いてある。
Don't use the indeterminate state to represent a third state. The indeterminate state is used to indicate that an option is set for some, but not all, sub-choices. So, don't allow users to set an indeterminate state directly.
TortoiseGitのPull>Options>Tags
およびPrune
のチェックボックスの用法は、この推奨事項に反する。
2015年付のIssueで提起されていた
Fetch/Pull with prune does not work fine through GUI https://gitlab.com/tortoisegit/tortoisegit/-/issues/2530
このIssue #2530はOpenだった。ここへコメントする
remember 'prune' state between fetches https://gitlab.com/tortoisegit/tortoisegit/-/issues/2656
関連は薄め。ひとまずスルーでよさそう。
承前。
https://gitlab.com/tortoisegit/tortoisegit/-/issues/2562
@all Seems as if the tri-state checkboxes cause some trouble; see #2530.
3ステートのチェックボックスが時にトラブル要因となる認識はあるもよう。
承前。
https://gitlab.com/tortoisegit/tortoisegit/-/issues/3037
We could implement this as a three state checkbox, but this, however, has other implication that some users don't understand it (cf. issue #2530; or default settings might change)
3ステートはユーザに理解されづらいことは認識している様子。
ということで文案:
The "Prune" checkbox is a Tri-state one.
Make sure it is checked.
Say :ballot_box_with_check:, instead of square.
Hi, I'm here from a search since I've experienced the similar to what someone who reported this had.
I suppose it will be so confusing to use the indeterminate state as a third state.
According to Microsoft Learn's Recommendations of Check Boxes, allowing users to set an indeterminate state directly looks a bad way.
Source: https://learn.microsoft.com/en-us/windows/apps/design/controls/checkbox
As it recommends, maybe it is better to use radio button group in these GUI.
How about considering improvement?
スクリーンショット:
とてもわかりやすくまとまっていて良いと思いいます! そのスクショも付けるとより分かりやすくなると思います!
もしスクショを付けにくいケースでは、次のようにリンクのあとに引用の形で重要な一文を書いておくのもありかもしれません。(ご参考までに)
Don't use the indeterminate state to represent a third state.
【メモ】 Microsoft Learnのページは、「Windows 10 3state checkboxのGUI」を画像検索して見つかった。 元々は「Windowsのどのバージョンから、チェックボックスが現在のグラフィックになったか?」を知りたかった。
おつかれさまでした!
ワークショップの終了にともないissueを閉じますが、このまま作業メモとして使っても構いません :ok_hand:
ワークショップの感想を集めています!
ブログなどに書かれた際は、このページへリンクの追加をお願いします :pray:
またの参加をお待ちしています!
This is a work log of a "OSS Gate workshop". "OSS Gate workshop" is an activity to increase OSS developers. Here's been discussed in Japanese. Thanks.
作業ログ作成時の説明
以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。
タイトル例↓:
OSS Gateワークショップ関連情報