# HG changeset patch # User Matt Mackall # Date 1237930901 18000 # Node ID 206334f8aa0b6af3459f3253c45255ec4d4be8f3 # Parent c2ecaf63badee4e973c4d843121139d4d3269f12# Parent 4b76746a988b9279b4ce4deb4f25ed9a59ae74d0 Merge with -stable diff -r c2ecaf63bade -r 206334f8aa0b hgext/churn.py --- a/hgext/churn.py Sun Mar 22 20:59:03 2009 +0100 +++ b/hgext/churn.py Tue Mar 24 16:41:41 2009 -0500 @@ -21,9 +21,10 @@ t.use_template(tmpl) return t -def changedlines(ui, repo, ctx1, ctx2): +def changedlines(ui, repo, ctx1, ctx2, fns): lines = 0 - diff = ''.join(patch.diff(repo, ctx1.node(), ctx2.node())) + fmatch = cmdutil.match(repo, pats=fns) + diff = ''.join(patch.diff(repo, ctx1.node(), ctx2.node(), fmatch)) for l in diff.split('\n'): if (l.startswith("+") and not l.startswith("+++ ") or l.startswith("-") and not l.startswith("--- ")): @@ -71,7 +72,7 @@ continue ctx1 = parents[0] - lines = changedlines(ui, repo, ctx1, ctx) + lines = changedlines(ui, repo, ctx1, ctx, fns) rate[key] = rate.get(key, 0) + lines if opts.get('progress'): diff -r c2ecaf63bade -r 206334f8aa0b mercurial/help.py --- a/mercurial/help.py Sun Mar 22 20:59:03 2009 +0100 +++ b/mercurial/help.py Tue Mar 24 16:41:41 2009 -0500 @@ -178,7 +178,7 @@ revisions. A plain integer is treated as a revision number. Negative - integers are treated as toplogical offsets from the tip, with + integers are treated as topological offsets from the tip, with -1 denoting the tip. As such, negative numbers are only useful if you've memorized your local tree numbers and want to save typing a single digit. This editor suggests copy and paste. diff -r c2ecaf63bade -r 206334f8aa0b tests/test-churn --- a/tests/test-churn Sun Mar 22 20:59:03 2009 +0100 +++ b/tests/test-churn Tue Mar 24 16:41:41 2009 -0500 @@ -20,7 +20,15 @@ hg ci -m changeca -u user3 -d 12:00 a hg ci -m changecb -u user3 -d 12:15 b hg ci -Am addc -u user3 -d 12:30 +mkdir -p d/e +echo abc > d/e/f1.txt +hg ci -Am "add d/e/f1.txt" -u user1 -d 12:45 d/e/f1.txt +mkdir -p d/g +echo def > d/g/f2.txt +hg ci -Am "add d/g/f2.txt" -u user1 -d 13:00 d/g/f2.txt +echo % churn separate directories +hg churn d/e echo % churn all hg churn echo % churn up to rev 2 diff -r c2ecaf63bade -r 206334f8aa0b tests/test-churn.out --- a/tests/test-churn.out Sun Mar 22 20:59:03 2009 +0100 +++ b/tests/test-churn.out Tue Mar 24 16:41:41 2009 -0500 @@ -2,22 +2,25 @@ adding a adding b adding c +% churn separate directories +user1 1 *************************************************************** % churn all user3 3 *************************************************************** +user1 3 *************************************************************** user2 2 ****************************************** -user1 1 ********************* % churn up to rev 2 user2 2 *************************************************************** user1 1 ******************************* % churn with aliases alias3 3 ************************************************************** +alias1 3 ************************************************************** user2 2 ***************************************** -alias1 1 ******************** % churn with column specifier user3 3 *********************** +user1 3 *********************** user2 2 *************** -user1 1 ******* % churn by hour -06 1 ********************** -09 2 ******************************************** -12 3 ****************************************************************** +06 1 **************** +09 2 ********************************* +12 4 ****************************************************************** +13 1 ****************