On Thu, Jul 17, 2008 at 06:18:17PM +0100, Darren Moffat wrote:
> Mark J. Nelson wrote:
> > 
> >>>> It's still impressive that we can burn alsost 12 seconds of CPU time 
> >>>> to find one character difference in my workspace :-(
> > 
> > Really?  How long does it take "wx init" to check your entire workspace 
> > and find that same change?
> > 
> > Presumably your development habits aren't changing dramatically, and you 
> > know either exactly which files you've modified, or can come close (within 
> > a level or two in the source tree, and identify the directories.)
> > 
> > "hg status" accepts file and directory arguments, and using them will 
> > dramatically reduce the search time.  (For example, much of my work prior 
> > to tools putback involved "hg status usr/src/tools" to get everything I 
> > had touched.)
> > 
> > Mostly, the only time you should be incurring full-workspace searches are 
> > for an "hg commit" which follows an "hg merge," because then a partial 
> > commit is not allowed.
> 
> I think (I haven't properly test) that having an .hgignore file helps in 
> workspaces that have been built in.
> 
> My .hgignore file is usually just this:
> 
> closed/*
> archives/*
> packages/*
> proto/*
> webrev/*
> log/*
> *.o
> 
> This stops things like 'hg status' wandering down into the proto areas.
> The reason I have closed in there is because this is a completely open 
> repo without the usr/closed source code.  It also means that it ignores 
> (a lot but not all) built object code.

What I have so far is a .hgignore_ON file that contains:

syntax: glob
archives/*
#closed/*
debug32/*
debug64/*
log/*
packages/*
pics/*
proto/*
webrev/*
*.o
*.mo
cscope.*
.hgignore
.make.state
.make.state.i386
# ignore vim swap files
# .*.sw[a-z]
###############End###############

And in a script I wrote (based on zbringover) called zhgclone that
creates a working repository that is a zfs clone of a zfs snapshot I
have:

cd $new_hg_path
if [[ ! -f .hgignore && -r ~/.hgignore_ON ]]
then
    ln -s ~/.hgignore_ON .hgignore
    if [[ -d usr/closed && ! -f usr/closed/.hgignore ]]
    then
        ln -s ~/.hgignore_ON usr/closed/.hgignore
    fi
elif [[ ! -r ~/.hgignore_ON ]]
then
    print -u2 "\nWarning: can not read ~/.hgignore_ON."
fi

-- 
Will Fiveash
Sun Microsystems               Office x64079/512-401-1079
Austin, TX, 78727              (TZ=CST6CDT), USA
Internal Solaris Kerberos/GSS/SASL website: http://kerberos.sfbay
Info about krb-diag: http://kerberos.sfbay/krb-tool-info.html
http://opensolaris.org/os/project/kerberos/

Reply via email to