comparison mercurial/commands.py @ 30122:b710dca9937a

bisect: minor movement of code handle flag updating state The code flag handling is quite complicated, we are moving code around to prepare further simplification.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Wed, 24 Aug 2016 04:48:17 +0200
parents 6e88cd060ba2
children 2e360578688d
comparison
equal deleted inserted replaced
30121:bbbf6bbbd05f 30122:b710dca9937a
864 hbisect.resetstate(repo) 864 hbisect.resetstate(repo)
865 return 865 return
866 866
867 state = hbisect.load_state(repo) 867 state = hbisect.load_state(repo)
868 868
869 # update state
870 if good or bad or skip:
871 if rev:
872 nodes = [repo.lookup(i) for i in scmutil.revrange(repo, [rev])]
873 else:
874 nodes = [repo.lookup('.')]
875 if good:
876 state['good'] += nodes
877 elif bad:
878 state['bad'] += nodes
879 elif skip:
880 state['skip'] += nodes
881 hbisect.save_state(repo, state)
882
869 if command: 883 if command:
870 changesets = 1 884 changesets = 1
871 if noupdate: 885 if noupdate:
872 try: 886 try:
873 node = state['current'][0] 887 node = state['current'][0]
911 state['current'] = [node] 925 state['current'] = [node]
912 hbisect.save_state(repo, state) 926 hbisect.save_state(repo, state)
913 displayer = cmdutil.show_changeset(ui, repo, {}) 927 displayer = cmdutil.show_changeset(ui, repo, {})
914 hbisect.printresult(ui, repo, state, displayer, nodes, bgood) 928 hbisect.printresult(ui, repo, state, displayer, nodes, bgood)
915 return 929 return
916
917 # update state
918
919 if rev:
920 nodes = [repo.lookup(i) for i in scmutil.revrange(repo, [rev])]
921 else:
922 nodes = [repo.lookup('.')]
923
924 if good or bad or skip:
925 if good:
926 state['good'] += nodes
927 elif bad:
928 state['bad'] += nodes
929 elif skip:
930 state['skip'] += nodes
931 hbisect.save_state(repo, state)
932 930
933 if not check_state(state): 931 if not check_state(state):
934 return 932 return
935 933
936 # actually bisect 934 # actually bisect