Richard Lowe <richlowe at richlowe.net> writes: > Dean Roehrich <Dean.Roehrich at sun.com> writes: > >> On Thu, Jul 24, 2008 at 04:20:21PM -0400, Richard Lowe wrote: >>> % hg st >>> M usr/src/Makefile >>> >>> % hg st -u usr/src/Makefile >>> M usr/src/Makefile >>> >>> % hg st -u | grep '^M' >>> M usr/src/Makefile >>> >>> % hg st -u >>> M usr/src/Makefile >>> ? env/debug-bfu >>> ? nohup.out >>> ? usr/src/.build.tstamp >>> ... thousands and thousands more lines ... >>> >>> Is this really the behaviour that people find desirable? >> >> Those "thousands and thousands more lines" of "not tracked" files should be >> piped directly into the first incarnation of the main repo's .hgignore. > > That is, in fact, bug #444 :) > > That's not what I'm doing though, for various reasons. The .hgignore > file ends up *enormous* if we aim for complete, and our view was that > it's unlikely to be actual maintained. If you look at #444 on > bugs.grommit.com you'll see an attachement from me that helps a great > deal, but still leaves some things that are harder to knock out with > globbed rules. Everything left would, most likely, need a rule per-file.
As John pointed out on IRC, a more complete .hgignore (mine from that bug, with additional per-file rules for other noise), is very very very slow. Unthinkably slow. 'hg status -mard' had run for 44 seconds when I decided "clearly too slow" and hit ^C. Timings from a series of runs just now on a xeon machine in the test farm: no ignore : hg st -mar: 0.1s * ignore : hg st -mar: 1.0s my ignore : hg st -mar: 2.2s complete ignore, as above : hg st -mar: 44s+ Obviously the latter option is a no-go. >> Why is ON not using <repo>/.hgignore? Doesn't Teamware use this concept? > > TeamWare does the equivalent of ignoring '*', if there is no SCCS > s.-file, it is ignored. For some reason, people are against using a > '*' rule for Mercurial (which gets the prior behaviour, makes stat > faster, in the short term at least, and removes the possible desire > for these defaults). > > -- Rich