def InternalBackup(source_local, dest_local, src_dir, dest_dir, current_time=None, eas=None, acls=None, force=False): """Backup src to dest internally This is like rdiff_backup but instead of running a separate rdiff-backup script, use the separate *.py files. This way the script doesn't have to be rebuild constantly, and stacktraces have correct line/file references. """ args = [] if current_time is not None: args.append("--current-time") args.append(str(current_time)) if not (source_local and dest_local): args.append("--remote-schema") args.append("{h}") if force: args.append("--force") args.append("backup") if eas: args.append("--eas") else: args.append("--no-eas") if acls: args.append("--acls") else: args.append("--no-acls") args.extend(_get_locations(source_local, dest_local, src_dir, dest_dir)) Main._main_run(args, security_override=True)
def InternalRestore(mirror_local, dest_local, mirror_dir, dest_dir, time, eas=None, acls=None): """Restore mirror_dir to dest_dir at given time This will automatically find the increments.XXX.dir representing the time specified. The mirror_dir and dest_dir are relative to the testing directory and will be modified for remote trials. """ Main._restore_root_set = 0 # FIXME required? args = [] args.append("--force") if not (mirror_local and dest_local): args.append("--remote-schema") args.append("{h}") args.append("restore") if eas: args.append("--eas") else: args.append("--no-eas") if acls: args.append("--acls") else: args.append("--no-acls") if time: args.append("--at") args.append(str(time)) args.extend(_get_locations(mirror_local, dest_local, mirror_dir, dest_dir)) Main._main_run(args, security_override=True)