On Wed, May 20, 2009 at 7:41 PM, Adrian Buehlmann <adr...@cadifra.com> wrote:
> On 21.05.2009 01:37, TK Soh wrote:
>> 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?

I need to take a step back from this for a couple of days and come at
this from a different angle.

Perhaps what we want is a taskbar daemon that watches directories,
checks for changes periodically, and runs thgupdate when necessary.
It could be entirely detached from the shell extension.

That would be the full-service approach, as apposed to Adrian's
preference of entirely manual.  And each user could chose the approach
they want on a repo-by-repo basis.

Perhaps we want something entirely different.   I tend to agree with
Adrian, though, that the overlay code needs to be as efficient as we
can make it, and as simple as possible.

--
Steve Borho

------------------------------------------------------------------------------
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
Tortoisehg-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss

Reply via email to