这是由于Gitlab Wiki不支持页面(标题+路径)的重复导致的。要解决此问题,需要更改页面的标题或路径。
例如,如果页面标题已存在,可以更改页面标题,例如:
# 原始标题为
# This is a duplicate page
# 更改为
# This is a duplicate page-2
如果页面路径已经存在,可以添加更多路径,例如:
# 原始路径为
# wiki/page
# 更改为
# wiki/page/duplicate
另外,可以使用Gitlab API查询是否存在重复页面,如下所示:
import requests
from urllib.parse import quote
path = quote('wiki/page')
response = requests.get(
f'https://gitlab.example.com/api/v4/projects/1/wikis?title={title}'
)
if len(response.json()) > 0:
print(f'Page with path "{path}" already exists.')
else:
print(f'No duplicates found for path "{path}".')
这样可以避免手动检查每个页面是否存在。