equal
deleted
inserted
replaced
295 } |
295 } |
296 |
296 |
297 opts = dict(opts) |
297 opts = dict(opts) |
298 # follow or not follow? |
298 # follow or not follow? |
299 follow = opts.get('follow') or opts.get('follow_first') |
299 follow = opts.get('follow') or opts.get('follow_first') |
300 followfirst = opts.get('follow_first') |
300 followfirst = opts.get('follow_first') and 1 or 0 |
301 # --follow with FILE behaviour depends on revs... |
301 # --follow with FILE behaviour depends on revs... |
302 startrev = revs[0] |
302 startrev = revs[0] |
303 followdescendants = len(revs) > 1 and revs[0] < revs[1] |
303 followdescendants = (len(revs) > 1 and revs[0] < revs[1]) and 1 or 0 |
304 |
304 |
305 # branch and only_branch are really aliases and must be handled at |
305 # branch and only_branch are really aliases and must be handled at |
306 # the same time |
306 # the same time |
307 opts['branch'] = opts.get('branch', []) + opts.get('only_branch', []) |
307 opts['branch'] = opts.get('branch', []) + opts.get('only_branch', []) |
308 opts['branch'] = [repo.lookupbranch(b) for b in opts['branch']] |
308 opts['branch'] = [repo.lookupbranch(b) for b in opts['branch']] |
347 matchargs.append('x:' + p) |
347 matchargs.append('x:' + p) |
348 matchargs = ','.join(('%r' % p) for p in matchargs) |
348 matchargs = ','.join(('%r' % p) for p in matchargs) |
349 opts['_matchfiles'] = matchargs |
349 opts['_matchfiles'] = matchargs |
350 else: |
350 else: |
351 if follow: |
351 if follow: |
352 if followfirst: |
352 fpats = ('_patsfollow', '_patsfollowfirst') |
353 if pats: |
353 fnopats = (('_ancestors', '_fancestors'), |
354 opts['_patsfollowfirst'] = list(pats) |
354 ('_descendants', '_fdescendants')) |
355 else: |
355 if pats: |
356 if followdescendants: |
356 opts[fpats[followfirst]] = list(pats) |
357 opts['_fdescendants'] = str(startrev) |
|
358 else: |
|
359 opts['_fancestors'] = str(startrev) |
|
360 else: |
357 else: |
361 if pats: |
358 opts[fnopats[followdescendants][followfirst]] = str(startrev) |
362 opts['_patsfollow'] = list(pats) |
|
363 else: |
|
364 if followdescendants: |
|
365 opts['_descendants'] = str(startrev) |
|
366 else: |
|
367 opts['_ancestors'] = str(startrev) |
|
368 else: |
359 else: |
369 opts['_patslog'] = list(pats) |
360 opts['_patslog'] = list(pats) |
370 |
361 |
371 filematcher = None |
362 filematcher = None |
372 if opts.get('patch') or opts.get('stat'): |
363 if opts.get('patch') or opts.get('stat'): |