Assembla home | Assembla project page
 

Ticket #29 (new enhancement)

Opened 4 months ago

Last modified 4 months ago

Performance: parse .hgignore directly instead of using hg status

Reported by: ThurnerRupert Assigned to:
Priority: normal Milestone: 1.2
Component: mercurialeclipse Version: 1.0
Severity: normal Keywords:
Cc: bastiand

Description

On large repositories it might be beneficial not invoking “hg status -marduic” but instead “hg status -marduc”, as we wouldn’t need to parse the status for e.g generated files.

Netbeans does this, too, btw. :-)

Attachments

Change History

08/03/08 14:20:27 changed by ThurnerRupert

By chyssler on May 31, 2008 @ 05:46PM

if someone does this and would be willing to donate, I need this code for HgKit? too :-).

By chyssler on Jun 05, 2008 @ 10:14AM

I’m experimenting with this now and it seems to work, kinda, its mainly the glob syntax I’m abit worried about

By chyssler on Jun 05, 2008 @ 01:00PM

My version of hg does not treat managed files that match an ignore pattern as ignored. As such to correctly imitate hg behavior, pure java ignore-status must know if if the file is currently unmanaged.

By bastiand on Jun 06, 2008 @ 11:50AM

uh. that sounds complicated – could we use your status stuff for that? I seem to remember you could read status natively as well :-).

By chyssler on Jun 06, 2008 @ 11:56PM

Well, yes. I’ve been tinkering around with this some more now and it may soon be “good enough” for status checking but I’d like some more testing. I’ll see if I can get some time with it this weekend.

By bastiand on Jun 17, 2008 @ 05:38PM

hey stefan, any news on this so far?

By chyssler on Jun 18, 2008 @ 08:19AM

Yes, I thought it was working until I tried a more nitty-gritty test.

I tried doing a

hg update -C X
then run hgkit status
hg update -C
then run hgkit status

for a couple of values on X and for some reason it seems the dirstate isn’t rebuilt after an update or this is an effect of something else I’ve missed, as I get exceptions when running my status checker. However, if I run a hg status and then a hgkit status it works as it should do.

I’m not devoting much time to this as with my new job I have 3 hours less of me-time each workday :/

08/03/08 16:32:39 changed by chyssler

I'm having some "issue" on my isIgnored testing. Current implementation works if doing a full status since then it can test if parent was ignored, then it child is ignored if it is not currently managed, regardless of any other .hgignore entries.

If I am testing a single file, or a directory, the .hgignore entries doesn't necessary catch the single file and I'd rather not walk upstreams foreach file to test if parent is ignored. Any help here?

08/03/08 18:17:06 changed by zingo


Add/Change #29 (Performance: parse .hgignore directly instead of using hg status)