oss-gate / workshop

OSSの開発に未参加または参加したことはあるけどまだ自信がない人を後押しするワークショップ用のリポジトリー
125 stars 539 forks source link

OSS Gate Workshop: online: 2023-07-29: yashirot: TortoiseGit: Work log #1633

Closed yashirot closed 1 year ago

yashirot commented 1 year ago

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 Workshop: ${LOCATION}: ${YEAR}-${MONTH}-${DAY}: ${ACCOUNT_NAME}: ${OSS_NAME}: Work log

タイトル例↓:

OSS Gate Workshop: Tokyo: 2017-01-16: kou: Rabbit: Work log

OSS Gateワークショップ関連情報

yashirot commented 1 year ago

今日はTortoiseGitのUIをテーマにしたい。 https://tortoisegit.org/

yashirot commented 1 year ago

具体的には、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についても同様でした
yashirot commented 1 year ago

実は、チェックボックスに3つ状態があると教えてもらった。

Pruneのチェック、■と☑があるのですが、■の方ではなかったですか?

はい。よくよく見ると、初期状態はそれでした。

■ の表示 image

☑ の表示 image

Window11環境では見分けづらかった。

yashirot commented 1 year ago

そもそも、チェックボックスに「3つ」状態があるのが常識外だった。 自分的にチェックボックスといえば、「ON」「OFF」の2値なので。

yashirot commented 1 year ago

今日のテーマ

  1. このあたり、TortoiseGitとして過去に議論されてきているか?の確認
  2. 確認結果に基づいて、働きかけ(Issueか、フィードバックか、or other?)
yashirot commented 1 year ago

Contributeを見る https://tortoisegit.org/contribute/ ~と、メインリポジトリはGitLabのようだ。

Our main source code repository is hosted on GitLab: https://gitlab.com/tortoisegit/tortoisegit/;

yashirot commented 1 year ago

ライセンスを見る 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/

https://opensource.org/license/gpl-2-0/

yashirot commented 1 year ago

How can I Contribute?を見る https://tortoisegit.org/contribute/

improving our documentation (see doc/readme.txt file and doc folder),

となっているので、ドキュメンテーションのリンクへ https://tortoisegit.org/docs/tortoisegit/

yashirot commented 1 year ago

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

yashirot commented 1 year ago

TagPruneオプションの状態が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”).

yashirot commented 1 year ago

次のアクション: 当オプションのGUIに関する議論が過去にあったかを、Issueから探す

yashirot commented 1 year ago

2015年付のIssueで提起されていた

Fetch/Pull with prune does not work fine through GUI https://gitlab.com/tortoisegit/tortoisegit/-/issues/2530

yashirot commented 1 year ago

2010年付のこちらはpruneをGUIから指定できないか?という趣旨。 https://gitlab.com/tortoisegit/tortoisegit/-/issues/383

当時はともかく、現在はできるのでスキップ

yashirot commented 1 year ago

参考:チェックボックスのGUIに関するMicrosoft Learnの説明 https://learn.microsoft.com/en-us/windows/apps/design/controls/checkbox

yashirot commented 1 year ago

参考:チェックボックスの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のチェックボックスの用法は、この推奨事項に反する。

yashirot commented 1 year ago

2015年付のIssueで提起されていた

Fetch/Pull with prune does not work fine through GUI https://gitlab.com/tortoisegit/tortoisegit/-/issues/2530

このIssue #2530はOpenだった。ここへコメントする

yashirot commented 1 year ago

2530でMentionされていたIssueも見てみる。

remember 'prune' state between fetches https://gitlab.com/tortoisegit/tortoisegit/-/issues/2656

関連は薄め。ひとまずスルーでよさそう。

yashirot commented 1 year ago

承前。

https://gitlab.com/tortoisegit/tortoisegit/-/issues/2562

@all Seems as if the tri-state checkboxes cause some trouble; see #2530.

3ステートのチェックボックスが時にトラブル要因となる認識はあるもよう。

yashirot commented 1 year ago

承前。

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ステートはユーザに理解されづらいことは認識している様子。

yashirot commented 1 year ago

ということで文案:

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?

yashirot commented 1 year ago

スクリーンショット:

image

daipom commented 1 year ago

とてもわかりやすくまとまっていて良いと思いいます! そのスクショも付けるとより分かりやすくなると思います!

もしスクショを付けにくいケースでは、次のようにリンクのあとに引用の形で重要な一文を書いておくのもありかもしれません。(ご参考までに)

Don't use the indeterminate state to represent a third state.

yashirot commented 1 year ago

一部文言を整えてコメントしてみた

https://gitlab.com/tortoisegit/tortoisegit/-/issues/2530#note_1492742574

yashirot commented 1 year ago

【メモ】 Microsoft Learnのページは、「Windows 10 3state checkboxのGUI」を画像検索して見つかった。 元々は「Windowsのどのバージョンから、チェックボックスが現在のグラフィックになったか?」を知りたかった。

github-actions[bot] commented 1 year ago

おつかれさまでした!

ワークショップの終了にともないissueを閉じますが、このまま作業メモとして使っても構いません :ok_hand:

ワークショップの感想を集めています!

ブログなどに書かれた際は、このページへリンクの追加をお願いします :pray:

またの参加をお待ちしています!