修复错误的提交日期
Fix bad commit dates
我正在尝试向 phabricator 导入一个颠覆存储库,我发现有很多提交日期错误。该日期设置在未来,例如 3905-05-22 。如果有几个,我可以手动更改,但我发现太多了。
有一种方法可以对 svn 提交的时间戳进行大量更改,或者有一种方法可以让 subversion 自行更正这些无效日期?
注意:我通常工作超过 git,所以我不是 pro svn 用户。
您必须转储到一个文件,替换并再次加载它:
- svn 转储
- sed ....
- svn 加载
我结束了编写修复它的脚本:
#!/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 次提交需要一些时间,但至少我们会知道这已得到修复。
我正在尝试向 phabricator 导入一个颠覆存储库,我发现有很多提交日期错误。该日期设置在未来,例如 3905-05-22 。如果有几个,我可以手动更改,但我发现太多了。
有一种方法可以对 svn 提交的时间戳进行大量更改,或者有一种方法可以让 subversion 自行更正这些无效日期?
注意:我通常工作超过 git,所以我不是 pro svn 用户。
您必须转储到一个文件,替换并再次加载它:
- svn 转储
- sed ....
- svn 加载
我结束了编写修复它的脚本:
#!/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 次提交需要一些时间,但至少我们会知道这已得到修复。