diff -r 4308f4cdc07b -r d5dd0a2a44bc mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Nov 20 19:36:28 2006 +0100 +++ b/mercurial/localrepo.py Mon Nov 20 19:41:49 2006 +0100 @@ -1825,8 +1825,12 @@ except ValueError: raise util.UnexpectedOutput( _('Unexpected response from remote server:'), l) - if resp != 0: + if resp == 1: raise util.Abort(_('operation forbidden by server')) + elif resp == 2: + raise util.Abort(_('locking the remote repository failed')) + elif resp != 0: + raise util.Abort(_('the server sent an unknown error code')) self.ui.status(_('streaming all changes\n')) l = fp.readline() try: