git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/2] git-gui: Auto-rescan on activate

From
Stefan Haller <stefan@haller-berlin.de>
Date
Nov 2, 2020, 19:24 UTC
Message-ID
<fe2f24e8-52f2-81fe-0ebd-ecd90b1acfb4@haller-berlin.de>
In-Reply-To
<20201102131522.coj5gb2bssvjqngo@yadavpratyush.com>
On 02.11.20 14:15, Pratyush Yadav wrote:
Show 9 quoted lines
> Hi Stefan,
> 
> On 01/11/20 06:05PM, Stefan Haller wrote:
>> Do an automatic rescan whenever the git-gui window receives focus. Most other
>> GUI tools do this, and it's very convenient; no more pressing F5 manually.
> 
> I submitted a patch for this a while back but there was a lengthy 
> discussion. [0] would be a good read. IIRC the major blocker was that 
> rescan is a very expensive operation on Windows.

Ah, thanks for reminding me of that. I did actually read the discussion back then, but had completely forgotten about it.

Show 9 quoted lines
>> People who don't like this behavior can turn it off using
>> "git config gui.autorescan false".
> 
> To make sure the experience on Windows (and for anyone who faces long 
> rescan times) does not degrade, I think we should keep this off by 
> default. That said, I would love to be convinced to keep this on by 
> default because IMO this is a really good feature to have. I tried 
> coming up with ways to avoid slowdowns while keeping the auto rescan on 
> but I didn't come up with anything convincing.

I still think the default should be on; I consider it more important that the information is accurate than that it is shown without delay. I do use Windows occasionally myself, in a slow VM no less, and it does annoy me that a rescan is so slow there; however, I still prefer that over looking at stale information without realizing it.

Also, I had a look at how other git clients deal with this. I didn't do an exhaustive research, just quickly looked at a few:

- Fork (https://git-fork.com)
  Rescans on activate. There's no setting to turn this off. (!)
- SourceTree (https://www.sourcetreeapp.com)
  Rescans on activate. There's an option to turn this off, but it
  defaults to on. (It is confusingly called "Refresh automatically when
  files change", which doesn't seem to be accurate, as far as I can
  tell.)
- Visual Studio Code
  Rescans on activate. There's an option to turn it off, but it defaults
  to on.
- Sublime Merge (https://www.sublimemerge.com)
  Watches files and rescans in the background.

So I would say there's plenty of precedence for having this behavior default to on.

Show 10 quoted lines
>> Stefan Haller (2):
>>   git-gui: Delay rescan until idle time
>>   git-gui: Auto-rescan on activate
>>
>>  git-gui.sh | 26 ++++++++++++++++++++++----
>>  1 file changed, 22 insertions(+), 4 deletions(-)
>>
> 
> [0] https://lore.kernel.org/git/20190728151726.9188-1-me@yadavpratyush.com/
> 
Previous: Pratyush YadavNext: Stefan Haller
Message 9 of 21 in “git-gui: Auto-rescan on activate”
  1. 0/2 git-gui: Auto-rescan on activateStefan Haller, Nov 1, 2020
  2. 2/2 git-gui: Auto-rescan on activateStefan Haller, Nov 1, 2020
  3. Pratyush YadavNov 2, 2020
  4. Stefan HallerNov 2, 2020
  5. 1/2 git-gui: Delay rescan until idle timeStefan Haller, Nov 1, 2020
  6. Pratyush YadavNov 2, 2020
  7. Stefan HallerNov 2, 2020
  8. Pratyush YadavNov 2, 2020
  9. Stefan HallerNov 2, 2020
  10. 0/1 git-gui: Auto-rescan on activateStefan Haller, Nov 3, 2020
  11. 1/1 git-gui: Auto-rescan on activateStefan Haller, Nov 3, 2020
  12. Stefan HallerNov 14, 2020
  13. Pratyush YadavNov 17, 2020
  14. Stefan HallerNov 17, 2020
  15. Pratyush YadavNov 17, 2020
  16. Stefan HallerNov 18, 2020
  17. Johannes SixtDec 17, 2020
  18. Pratyush YadavDec 17, 2020
  19. Johannes SixtDec 17, 2020
  20. Stefan HallerDec 18, 2020
  21. Johannes SixtDec 18, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.