我正在尝试导入phabricator一个subversion存储库,我发现有很多提交错误的日期。这个日期是在未来设定的,如3905-05-22。如果有一些,我可以手动改变它,但我发现它太多了。
有一种方法可以对svn提交的时间戳进行大规模更改,还是可以通过颠覆方式自行更正这些无效日期?
注意:我通常在git上工作,所以我不是专业用户。
答案 0 :(得分:0)
您必须转储到文件,替换并重新加载它:
答案 1 :(得分:0)
我结束了编写脚本来修复它:
#!/bin/bash
LAST_COMMIT=$(svn info svn://XXX/ | grep -i rev | tail -n1 | grep -o -E '[0-9]+')
echo "Ultimo commit ${LAST_COMMIT}"
for COMMIT in $(seq 12190 $LAST_COMMIT)
do
FECHA_COM=$(svn propget svn:date --revprop -r $COMMIT svn://desarrollo01/)
if [ $? -ne 0 ]; then
echo "Error!"
exit $?;
fi
if [ ${FECHA_COM:0:2} -gt "20" ]; then
NFECHA_COM="20${FECHA_COM:2:${#FECHA_COM}}"
echo "${COMMIT} : ${FECHA_COM} -> ${NFECHA_COM}"
svn propset --revprop -r $COMMIT svn:date ${NFECHA_COM} svn://XXX/
if [ $? -ne 0 ]; then
echo "Error!"
exit $?;
fi
fi
done;
是12190是开始糟糕的提交。此时,它已经修复了大约2000次提交。它花了一些时间来检查我们的回购中的整个50000次提交,但至少我们知道这已经修复了。