简介
本文档介绍处理错误“SVN错误:导入或发布存储库时,原始文本不存在”。
先决条件
要求
Cisco 建议您了解以下主题:
- Linux
- CPS
- 策略控制规则功能(PCRF)
- Diameter路由代理(vDRA)
- Docker容器
Cisco建议您必须具有特权访问权限:
- 对CPS vDRA CLI的根访问权限
- 对CPS GUI的“qns-svn”用户访问(策略生成器和CPS中心)
使用的组件
本文档中的信息基于以下软件和硬件版本:
- CPS cisco-policy-dra 21.1.0
- MongoDB v3.6.17
- Docker容器
- UCS-C
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
PCRF和vDRA在基于CPS的平台和软件上运行。导入或发布包含业务配置的存储库是基于CPS的解决方案的常见或常规操作和维护任务。
CPS中心或策略生成器GUI工具用于导入/发布相关任务。
问题
在竞争情况下,在策略生成器中执行导入/发布操作时会发生此错误。
[ERROR] Internal Server Error:
{"error":"org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.svnclientadapter.commandline.CmdLineException: svn: warning: W155010: Pristine text \u0027def170c04fe4c4710aa26d20513e94521502aee2\u0027 not present\n","status":"failure"}
解决方案
- 当您执行PB的发布操作时,Pristine文本错误由某些特殊情况(如网络故障/摆动)触发。
- SVN在运行副本中存储每个文件的基本修订版(即,未修改的签出修订版)的原始副本。
这些原始副本称为“文本库”,用于执行离线差分,并将增量传输回服务器。
“SVN错误:Pristine Text not Present(不存在原始文本)由某些特殊情况触发,例如执行“svn update”时出现网络故障。
- PB存储库因此错误损坏后,无法自动恢复,因此始终建议每次导入时使用新的svn url/repository。
此过程将使用PB备份创建一个新存储库,并在进行所需更改后发布该存储库。
步骤1: 使用<master-ip>/central/dra/登录到CPS Central,如图所示。
步骤2.选择Policy Builder下的Import/Export。
步骤3.选择导入选项卡。选择File to Import并浏览要导入的PB备份文件,如映像所示。
步骤4.输入导入URL。强烈建议导入到新URL并使用策略生成器验证/发布)。
步骤5.选择导入以导入文件。
第6步:从主页中,选择Policy Builder以打开Choose Policy Builder Data Repository,如图所示。
第7步:选择添加新存储库(Add New Repository)以打开添加存储库窗口。
输入存储库、URL和本地目录的名称。请使用正确的URL。此URL必须与步骤3中添加的相同。
步骤8.使用<master-ip>/central/dra/再次登录CPS Central。选择Policy Builder,然后选择新创建的存储库。
步骤9.使用对上次损坏的存储库所做的更改编辑策略生成器配置,以解决损坏的存储库问题。
步骤10.保存更改并发布更新的配置。