On 21.05.2009 01:37, TK Soh wrote:
> On Wed, May 20, 2009 at 11:17 PM, Adrian Buehlmann <[email protected]> wrote:
>> On 20.05.2009 19:35, Adrian Buehlmann wrote:
>>> On 20.05.2009 17:09, Steve Borho wrote:
>>>> On Wed, May 20, 2009 at 12:36 AM, TK Soh <[email protected]> wrote:
>>>>> Just try it for a short time, but here's some observation so far:
>>>>>
>>>>> On overlay icons:
>>>>> - on first view, tracked folders have no overlay icons, and it's not
>>>>> obvious to user that a call to thgstatus is required. Some visual que
>>>>> is needed to signal that.
>>>>> - after thgstatus, untracked folders are marked as unchanged.
>>>>> - overlay icons on folders, including the root folders, don't reflect
>>>>> the correct status when files contained are modified/reverted/etc.
>>>>> Must run thgstatus to update. IMO, this is counter-intuitive. Can
>>>>> calls to thgstatus be automated?
>>>> We think a lot of the cases can be caught by Mercurial hooks, but that
>>>> will not catch changes made by the user.  Ie: When they edit a file
>>>> the directory icons below it are not updated.   It should be possible
>>>> to fix this when we refresh, but I don't know what Adrian's plans are
>>>> in this regard.
>>> I have none. I'm pretty much finished with this.
>> To my surprise even the hooks thing is now pretty much ruled out by Matt
>> (as per his rejects of my patches on mercurial-devel), and the existing hg
>> hooks are largely unusable for getting up-to-date hg status update triggers
>> by Mercurial.
>>
>> So, unless we start routinely patching Mercurial, we will probably have to
>> live with what we have re icon updating. And most likely not worth investing
>> much more time on the updating overlay thing then.
>>
>> I think the current system in crew is still a big improvement over the old
>> pythonic shell extension and I will continue to use the new system as long
>> as I have to work on Windows :-).
> 
> Unfortunately, I can't agree with that. It's already bad enough to ask
> user to run Update icons to update the folder icons the first time,
> and telling them "you have to run it every time you change something"
> is simply unreasonable.

No it really isn't. There is a reason why there is a hg status command. Running
that command has a cost.

Remember, we are talking about the icons on the _folders_, covering the sum
of whole subtrees. If it takes that long to compute them, I'd rather turn
the icons off on the folders (if I could). So if I want an update on the
folder icons, I'm fine with having to issue a context menu command.

But maybe it's just me who is working on large trees and is willing to
pay that price in exchange for being able to quickly navigate inside it.
I also like being able to say when I want to spend that moment for updating
the icons on the folders.

Also, in my trees I'm working a lot in quite narrow subtrees inside a specific
clone (I'm doing a clone when I need to work on specific issue or feature).
For example, in one project we have the source files related to storing
functions all together in the same subfolder. If I have a bug to fix about
storing things, I work in that folder, editing files.
So the set of modified directories doesn't actually change that often
in my workflow.

But again, requirements can vary. I'm just not that obsessed with up-to-date
to the second icons on the folders in my everyday use.

And remember, the icons on the files are still immediate (provided that
you can live with the already described consequences of the shellext
reading .hg/dirstate - I can, and the CuteHg project has decided to do
that too). One of them is that you have to hit F5 to update the file icons
of the files in a folder you have opened in explorer, if you do something
on the command line with mercurial on files in that folder (I could
call that doing something "behind the scenes", as you could have done it
with the context menu, which implicitly updates _all_ icons).

But, for example, if I start editing a file that was not modified before
(green) and I have the folder containing that file open in explorer in
the background, the icon changes immediately to red when I save it in
my editor in the foreground, because explorer notices that the file has
changed an queries the shellext immediately. No need to hit F5 or even
execute "update icons" from the cmenu.

Also, with current crew all the commands from the context menu do
a hg thgstatus implicitly when needed. This for example means that if you
select some new files and add them with the context menu, everything
-- including the icons on all folders in that repo -- is updated when
the hg add command is finished. Same with commit. Same with update from
the log dialog. Same with clone from the clone dialog. Same with adding
or removing files in the status dialog. Etc.

So I don't see it that dramatic as you say. Certainly nothing unreasonable
here, I'd say.

And it is very nice to have folder icons on the repo _roots_. You can forget
that on the old system. I have a folder where I have all my clones.
I now have an overview, in what repos I have changes. Yes, I do have to
run that refreshicons.cmd in the base dir (where I have all my clones).
It takes about 20 seconds here to update that overview of which of my
clones is modified and which isn't. And I have some thirty clones with lots
of files in it. I would have to navigate into each of them to see if
anything is changed under the old system.

This is quite comparable to having to issue a hg status on the command
line, as the linux folks are doing it all the time. And some Windows users
do, who don't use the overlay icons (because, maybe they were just too slow).

You can think of just seeing the result of your last 'hg status' (Update Icons
in the cmenu) on the folders in your tree while you navigate it with explorer.
Icons on the files in a specific folder you see show the state according
to what's in the .hg/dirstate, but file modification times freshly compared in 
that
very moment you navigate into it (the files having status 'n' in .hg/dirstate)

Is that really that unreasonable?


------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
Tortoisehg-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss

Reply via email to