mercurial/commands.py
changeset 29086 fe50341de1ff
parent 29070 29a7d591ff42
child 29119 a032ebea4e97
equal deleted inserted replaced
29085:df838803c1d4 29086:fe50341de1ff
  6381 
  6381 
  6382       To avoid permanent data loss, rollback will refuse to rollback a
  6382       To avoid permanent data loss, rollback will refuse to rollback a
  6383       commit transaction if it isn't checked out. Use --force to
  6383       commit transaction if it isn't checked out. Use --force to
  6384       override this protection.
  6384       override this protection.
  6385 
  6385 
       
  6386       The rollback command can be entirely disabled by setting the
       
  6387       ``ui.rollback`` configuration setting to false. If you're here
       
  6388       because you want to use rollback and it's disabled, you can
       
  6389       re-enable the command by setting ``ui.rollback`` to true.
       
  6390 
  6386     This command is not intended for use on public repositories. Once
  6391     This command is not intended for use on public repositories. Once
  6387     changes are visible for pull by other users, rolling a transaction
  6392     changes are visible for pull by other users, rolling a transaction
  6388     back locally is ineffective (someone else may already have pulled
  6393     back locally is ineffective (someone else may already have pulled
  6389     the changes). Furthermore, a race is possible with readers of the
  6394     the changes). Furthermore, a race is possible with readers of the
  6390     repository; for example an in-progress pull from the repository
  6395     repository; for example an in-progress pull from the repository
  6391     may fail if a rollback is performed.
  6396     may fail if a rollback is performed.
  6392 
  6397 
  6393     Returns 0 on success, 1 if no rollback data is available.
  6398     Returns 0 on success, 1 if no rollback data is available.
  6394     """
  6399     """
       
  6400     if not ui.configbool('ui', 'rollback', True):
       
  6401         raise error.Abort(_('rollback is disabled because it is unsafe'),
       
  6402                           hint=('see `hg help -v rollback` for information'))
  6395     return repo.rollback(dryrun=opts.get('dry_run'),
  6403     return repo.rollback(dryrun=opts.get('dry_run'),
  6396                          force=opts.get('force'))
  6404                          force=opts.get('force'))
  6397 
  6405 
  6398 @command('root', [])
  6406 @command('root', [])
  6399 def root(ui, repo):
  6407 def root(ui, repo):