##// END OF EJS Templates
revset: properly parse "descend" argument of followlines()...
Denis Laxalde -
r31998:83527d9f default
parent child Browse files
Show More
@@ -32,6 +32,7 b' from . import ('
32 getsymbol = revsetlang.getsymbol
32 getsymbol = revsetlang.getsymbol
33 getstring = revsetlang.getstring
33 getstring = revsetlang.getstring
34 getinteger = revsetlang.getinteger
34 getinteger = revsetlang.getinteger
35 getboolean = revsetlang.getboolean
35 getlist = revsetlang.getlist
36 getlist = revsetlang.getlist
36 getrange = revsetlang.getrange
37 getrange = revsetlang.getrange
37 getargs = revsetlang.getargs
38 getargs = revsetlang.getargs
@@ -944,7 +945,11 b' def followlines(repo, subset, x):'
944 fromline, toline = util.processlinerange(fromline, toline)
945 fromline, toline = util.processlinerange(fromline, toline)
945
946
946 fctx = repo[rev].filectx(fname)
947 fctx = repo[rev].filectx(fname)
947 if args.get('descend', False):
948 descend = False
949 if 'descend' in args:
950 descend = getboolean(args['descend'],
951 _("'descend' argument must be a boolean"))
952 if descend:
948 rs = generatorset(
953 rs = generatorset(
949 (c.rev() for c, _linerange
954 (c.rev() for c, _linerange
950 in context.blockdescendants(fctx, fromline, toline)),
955 in context.blockdescendants(fctx, fromline, toline)),
@@ -509,7 +509,7 b' when they should.'
509 16: baz:0
509 16: baz:0
510 19: baz:3
510 19: baz:3
511 20: baz:4
511 20: baz:4
512 $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 3:5, descend=True, startrev=19)'
512 $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 3:5, descend=true, startrev=19)'
513 19: baz:3
513 19: baz:3
514 20: baz:4
514 20: baz:4
515 $ echo 6 >> baz
515 $ echo 6 >> baz
@@ -518,13 +518,13 b' when they should.'
518 16: baz:0
518 16: baz:0
519 19: baz:3
519 19: baz:3
520 20: baz:4
520 20: baz:4
521 $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 3:5, startrev=19, descend=True)'
521 $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 3:5, startrev=19, descend=1)'
522 19: baz:3
522 19: baz:3
523 20: baz:4
523 20: baz:4
524 $ sed 's/3/3+/' baz > baz.new
524 $ sed 's/3/3+/' baz > baz.new
525 $ mv baz.new baz
525 $ mv baz.new baz
526 $ hg ci -m 'baz:3->3+'
526 $ hg ci -m 'baz:3->3+'
527 $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 5:7)'
527 $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 5:7, descend=0)'
528 16: baz:0
528 16: baz:0
529 19: baz:3
529 19: baz:3
530 20: baz:4
530 20: baz:4
@@ -533,7 +533,7 b' when they should.'
533 19: baz:3
533 19: baz:3
534 20: baz:4
534 20: baz:4
535 23: baz:3->3+
535 23: baz:3->3+
536 $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 1:2)'
536 $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 1:2, descend=false)'
537 21: added two lines with 0
537 21: added two lines with 0
538
538
539 file patterns are okay
539 file patterns are okay
@@ -662,6 +662,12 b' check error cases'
662 $ hg log -r 'followlines(baz, 2:40)'
662 $ hg log -r 'followlines(baz, 2:40)'
663 abort: line range exceeds file size
663 abort: line range exceeds file size
664 [255]
664 [255]
665 $ hg log -r 'followlines(baz, 2:4, startrev=20, descend=[1])'
666 hg: parse error at 43: syntax error in revset 'followlines(baz, 2:4, startrev=20, descend=[1])'
667 [255]
668 $ hg log -r 'followlines(baz, 2:4, startrev=20, descend=a)'
669 hg: parse error: 'descend' argument must be a boolean
670 [255]
665
671
666 Test annotate with whitespace options
672 Test annotate with whitespace options
667
673
General Comments 0
You need to be logged in to leave comments. Login now