annotate contrib/plan9/9mail @ 30706:2e4862646f02

repair: speed up stripping of many roots repair.strip() expects a set of root revisions to strip. It then builds the full set of descedants by walking the descandants of each. It is rare that more than a few roots get passed in, but if that happens, it will wastefully walk the changelog for each root. So let's just walk it once. I noticed this because the narrowhg extension was passing not only roots, but all the commits to strip. When there were tens of thousands of commits to strip, this resulted in quadratic behavior with that extension.
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 04 Jan 2017 10:07:12 -0800
parents 4bfd3c7160d9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19613
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
1 #!/bin/rc
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
2 # 9mail - Mercurial email wrapper for upas/marshal
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
3
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
4 fn usage {
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
5 echo >[1=2] usage: mercurial/9mail -f from to [cc]
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
6 exit usage
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
7 }
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
8
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
9 from=()
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
10 cc=()
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
11 to=()
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
12
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
13 switch($1){
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
14 case -f
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
15 from=$2
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
16 case *
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
17 usage
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
18 }
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
19
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
20 to=($3)
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
21 if(~ $#* 4)
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
22 cc=(-C $4)
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
23
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
24 upasname=$from
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
25 upas/marshal $cc $to
4bfd3c7160d9 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com>
parents:
diff changeset
26