Tortoise SVN日志没有提交

时间:2010-12-14 01:45:08

标签: svn logging tortoisesvn

我通常会对源代码进行多次小编辑,但我还不想提交,因为这些更改非常简单。我现在使用的当前方法是在文本文件中记录更改,然后在提交时将内容复制到日志中。

使用Tortoise SVN(或任何其他SVN工具)将日志消息附加到我正在编辑的当前正在处理的副本时是否可能,然后在提交时,日志消息会自动附加到提交,所以我不记得到目前为止所做的所有改变了吗?

3 个答案:

答案 0 :(得分:1)

当您执行提交但失败时,tortoiseSVN会存储提交消息,供您在重试时启动它。找到该文件并附加到它将是我的建议。

vanilla svn是commit.tmp,这可能是一个很好的起点。

编辑:

编辑编辑:你使用暗示窗户的乌龟。所以,你可能需要一些适用于Windows的东西。我很快就在python中重写了它,因为我糟透了cmd脚本

或者,创建一个名为logs的目录,将所有笔记存储在那里,然后为提交脚本执行类似的操作

for i in `ls logs`; do
    echo -n "$i: "
    cat logs/$i >> commitFile
done
svn commit -F commitFile

或者在python中

#!/usr/bin/python
import os
dirlisting = os.listdir('logs')
commitFile = open("commitfile.tmp", "w")
for i in dirlisting:
    log = open(i, 'r')
    commitFile.write(log.read())
    log.close()
os.execlp("svn", "svn", "commit", "-F", "commitfile.tmp")

你需要修改最后一行来做一些调用乌龟的东西。我没有测试过这些脚本。

显然你想要把它清理一下并让它变得更聪明,但是你可以看到我正在开车的东西。

答案 1 :(得分:1)

在提交之前使用diff工具并查看更改有什么问题?

如果您不记得更改的原因,或者从代码中解决它们,那么您是否需要更频繁地提交?提交既便宜又快捷,如果修改中的更改在逻辑上相关,则可以更容易地恢复和合并(在将来)。

答案 2 :(得分:0)

有趣的问题。

这个答案可能不在上下文中,但如果您可以灵活地转向另一个版本控制系统,我建议您转到Git(允许您进行本地提交)。我并没有说任何有关SVN的东西,它很棒,只是根据用例,Git可能会让你更好。