comparison mercurial/commands.py @ 20233:410193f11422

commands.bookmarks: pass cur in explicitly to checkconflict cur will be moved inside the wlock in a future patch, so we need to pass it into checkconflict explicitly.
author Siddharth Agarwal <sid0@fb.com>
date Thu, 21 Nov 2013 17:11:04 -0800
parents 5fe4c1a9dc34
children 8a133190da89
comparison
equal deleted inserted replaced
20232:5fe4c1a9dc34 20233:410193f11422
816 raise util.Abort(_("bookmark names cannot consist entirely of " 816 raise util.Abort(_("bookmark names cannot consist entirely of "
817 "whitespace")) 817 "whitespace"))
818 scmutil.checknewlabel(repo, mark, 'bookmark') 818 scmutil.checknewlabel(repo, mark, 'bookmark')
819 return mark 819 return mark
820 820
821 def checkconflict(repo, mark, force=False, target=None): 821 def checkconflict(repo, mark, cur, force=False, target=None):
822 if mark in marks and not force: 822 if mark in marks and not force:
823 if target: 823 if target:
824 if marks[mark] == target and target == cur: 824 if marks[mark] == target and target == cur:
825 # re-activating a bookmark 825 # re-activating a bookmark
826 return 826 return
881 elif len(names) > 1: 881 elif len(names) > 1:
882 raise util.Abort(_("only one new bookmark name allowed")) 882 raise util.Abort(_("only one new bookmark name allowed"))
883 mark = checkformat(names[0]) 883 mark = checkformat(names[0])
884 if rename not in marks: 884 if rename not in marks:
885 raise util.Abort(_("bookmark '%s' does not exist") % rename) 885 raise util.Abort(_("bookmark '%s' does not exist") % rename)
886 checkconflict(repo, mark, force) 886 checkconflict(repo, mark, cur, force)
887 marks[mark] = marks[rename] 887 marks[mark] = marks[rename]
888 if repo._bookmarkcurrent == rename and not inactive: 888 if repo._bookmarkcurrent == rename and not inactive:
889 bookmarks.setcurrent(repo, mark) 889 bookmarks.setcurrent(repo, mark)
890 del marks[rename] 890 del marks[rename]
891 marks.write() 891 marks.write()
900 bookmarks.unsetcurrent(repo) 900 bookmarks.unsetcurrent(repo)
901 return 901 return
902 tgt = cur 902 tgt = cur
903 if rev: 903 if rev:
904 tgt = scmutil.revsingle(repo, rev).node() 904 tgt = scmutil.revsingle(repo, rev).node()
905 checkconflict(repo, mark, force, tgt) 905 checkconflict(repo, mark, cur, force, tgt)
906 marks[mark] = tgt 906 marks[mark] = tgt
907 if not inactive and cur == marks[newact] and not rev: 907 if not inactive and cur == marks[newact] and not rev:
908 bookmarks.setcurrent(repo, newact) 908 bookmarks.setcurrent(repo, newact)
909 elif cur != tgt and newact == repo._bookmarkcurrent: 909 elif cur != tgt and newact == repo._bookmarkcurrent:
910 bookmarks.unsetcurrent(repo) 910 bookmarks.unsetcurrent(repo)