Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 17791:1e30c1bbd8c0
bookmarks: simplify code
Remove some unnecessary return statements and collect some checks into
one place. As requested by Thomas Arendsen Hein <thomas@intevation.de>.
author | Kevin Bullock <kbullock@ringworld.org> |
---|---|
date | Wed, 17 Oct 2012 12:15:23 -0500 |
parents | 0291e122fb05 |
children | dc7010ed0101 |
comparison
equal
deleted
inserted
replaced
17790:0291e122fb05 | 17791:1e30c1bbd8c0 |
---|---|
811 raise util.Abort(_("--delete and --rename are incompatible")) | 811 raise util.Abort(_("--delete and --rename are incompatible")) |
812 if delete and rev: | 812 if delete and rev: |
813 raise util.Abort(_("--rev is incompatible with --delete")) | 813 raise util.Abort(_("--rev is incompatible with --delete")) |
814 if rename and rev: | 814 if rename and rev: |
815 raise util.Abort(_("--rev is incompatible with --rename")) | 815 raise util.Abort(_("--rev is incompatible with --rename")) |
816 if mark is None and (delete or rev): | |
817 raise util.Abort(_("bookmark name required")) | |
816 | 818 |
817 if delete: | 819 if delete: |
818 if mark is None: | |
819 raise util.Abort(_("bookmark name required")) | |
820 if mark not in marks: | 820 if mark not in marks: |
821 raise util.Abort(_("bookmark '%s' does not exist") % mark) | 821 raise util.Abort(_("bookmark '%s' does not exist") % mark) |
822 if mark == repo._bookmarkcurrent: | 822 if mark == repo._bookmarkcurrent: |
823 bookmarks.setcurrent(repo, None) | 823 bookmarks.setcurrent(repo, None) |
824 del marks[mark] | 824 del marks[mark] |
825 bookmarks.write(repo) | 825 bookmarks.write(repo) |
826 return | 826 |
827 | 827 elif rename: |
828 if rename: | |
829 if mark is None: | 828 if mark is None: |
830 raise util.Abort(_("new bookmark name required")) | 829 raise util.Abort(_("new bookmark name required")) |
831 mark = checkformat(mark) | 830 mark = checkformat(mark) |
832 if rename not in marks: | 831 if rename not in marks: |
833 raise util.Abort(_("bookmark '%s' does not exist") % rename) | 832 raise util.Abort(_("bookmark '%s' does not exist") % rename) |
835 marks[mark] = marks[rename] | 834 marks[mark] = marks[rename] |
836 if repo._bookmarkcurrent == rename and not inactive: | 835 if repo._bookmarkcurrent == rename and not inactive: |
837 bookmarks.setcurrent(repo, mark) | 836 bookmarks.setcurrent(repo, mark) |
838 del marks[rename] | 837 del marks[rename] |
839 bookmarks.write(repo) | 838 bookmarks.write(repo) |
840 return | 839 |
841 | 840 elif mark is not None: |
842 if mark is not None: | |
843 mark = checkformat(mark) | 841 mark = checkformat(mark) |
844 if inactive and mark == repo._bookmarkcurrent: | 842 if inactive and mark == repo._bookmarkcurrent: |
845 bookmarks.setcurrent(repo, None) | 843 bookmarks.setcurrent(repo, None) |
846 return | 844 return |
847 checkconflict(repo, mark, force) | 845 checkconflict(repo, mark, force) |
852 if not inactive and cur == marks[mark]: | 850 if not inactive and cur == marks[mark]: |
853 bookmarks.setcurrent(repo, mark) | 851 bookmarks.setcurrent(repo, mark) |
854 bookmarks.write(repo) | 852 bookmarks.write(repo) |
855 return | 853 return |
856 | 854 |
857 if mark is None: | 855 else: # mark is None |
858 if rev: | |
859 raise util.Abort(_("bookmark name required")) | |
860 if len(marks) == 0: | 856 if len(marks) == 0: |
861 ui.status(_("no bookmarks set\n")) | 857 ui.status(_("no bookmarks set\n")) |
862 if inactive: | 858 elif inactive: |
863 if not repo._bookmarkcurrent: | 859 if not repo._bookmarkcurrent: |
864 ui.status(_("no active bookmark\n")) | 860 ui.status(_("no active bookmark\n")) |
865 else: | 861 else: |
866 bookmarks.setcurrent(repo, None) | 862 bookmarks.setcurrent(repo, None) |
867 return | |
868 else: | 863 else: |
869 for bmark, n in sorted(marks.iteritems()): | 864 for bmark, n in sorted(marks.iteritems()): |
870 current = repo._bookmarkcurrent | 865 current = repo._bookmarkcurrent |
871 if bmark == current and n == cur: | 866 if bmark == current and n == cur: |
872 prefix, label = '*', 'bookmarks.current' | 867 prefix, label = '*', 'bookmarks.current' |
877 ui.write("%s\n" % bmark, label=label) | 872 ui.write("%s\n" % bmark, label=label) |
878 else: | 873 else: |
879 ui.write(" %s %-25s %d:%s\n" % ( | 874 ui.write(" %s %-25s %d:%s\n" % ( |
880 prefix, bmark, repo.changelog.rev(n), hexfn(n)), | 875 prefix, bmark, repo.changelog.rev(n), hexfn(n)), |
881 label=label) | 876 label=label) |
882 return | |
883 | 877 |
884 @command('branch', | 878 @command('branch', |
885 [('f', 'force', None, | 879 [('f', 'force', None, |
886 _('set branch name even if it shadows an existing branch')), | 880 _('set branch name even if it shadows an existing branch')), |
887 ('C', 'clean', None, _('reset branch name to parent branch name'))], | 881 ('C', 'clean', None, _('reset branch name to parent branch name'))], |