diff --git a/hg b/hg index 06bc1ef248a6e92eeaf1fe246d980a6b6e47379d_aGc=..8ff4532376a41375b54ffade603d524c706606b4_aGc= 100644 --- a/hg +++ b/hg @@ -129,12 +129,6 @@ if os.getcwd() != repo.root: relpath = os.getcwd()[len(repo.root) + 1: ] -if cmd == "checkout" or cmd == "co": - node = repo.changelog.tip() - if args: - node = repo.lookup(args[0]) - repo.checkout(node) - elif cmd == "add": repo.add(args) diff --git a/mercurial/commands.py b/mercurial/commands.py index 06bc1ef248a6e92eeaf1fe246d980a6b6e47379d_bWVyY3VyaWFsL2NvbW1hbmRzLnB5..8ff4532376a41375b54ffade603d524c706606b4_bWVyY3VyaWFsL2NvbW1hbmRzLnB5 100644 --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -68,5 +68,5 @@ # this should eventually support remote repos os.system("cp -al %s/.hg .hg" % path) -def checkout(u, repo, changeset=None): +def checkout(ui, repo, changeset=None): '''checkout a given changeset or the current tip''' @@ -72,4 +72,9 @@ '''checkout a given changeset or the current tip''' + (c, a, d) = repo.diffdir(repo.root, repo.current) + if c: + ui.warn("aborting (outstanding changes in working directory)\n") + sys.exit(1) + node = repo.changelog.tip() if changeset: node = repo.lookup(changeset)