svn - 如何使Subversion(或任何程序)执行定期提交?

标签 svn autocommit

我想配置我的计算机,以便说每半小时自动提交我正在处理的程序。我正在使用svn信息库,因此即使只是每30分钟运行一次“svn ci”的脚本也可以。问题是我不知道该怎么做。

有人可以告诉我,或引导我去做些什么,让我可以使这个定期提交工作正常吗?

提前致谢。

编辑:对不起,看来我对我为什么要这样做感到困惑。我要这样做的唯一原因是因为我的一位讲师希望我们了解代码随着时间的推移如何发展,并且我认为为此目的使用svn是一个好主意。最近的提交是否起作用并不重要。它只需要显示随着时间的推移我对代码所做的更改。

最佳答案

我不会因为这样的一系列自动提交而弄脏您的控件版本系统。但是我同意使用控制版本系统来提供该信息的想法。

然后,我的建议是:为您的软件使用一个存储库,并为您的自动提交使用另一个存储库。工作完成后,仅将一个逻辑提交合并到主存储库中的所有自动提交。

使用git,我可以这样做:

  • Repo'foo':主存储库
  • refs/heads/...:开发分支的位置
  • refs/sessions/...:带有肮脏提交的工作位置。
  • 您的工作副本:
  • “git init”
  • “git remote add foo git://foo/...; git fetch foo”
  • 创建分支:“git checkout -b bar foo/master”
  • 标记分支的开头:“git标记barbegin”
  • 激活脚本:“while true;执行git add -A。; git commit -m'autocommit';完成”
  • 我不会使用cron作业,因此您可以轻松激活/停用自动提交。
  • 做你的工作
  • 工作完成后,停用脚本
  • 提交未决更改
  • 现在,您在分支栏中有很多自动提交,并且已经用barbegin
  • 标记了分支的初始提交。
  • 发布您的自动提交:
  • “git标签栏”
  • “git push foo barbegin:引用/ session /您的用户ID/ session ID/开始”
  • “git push foo barend:引用/ session /您的用户ID/ session ID/结束”“
  • ,您已经发布了您的作品,您的讲师可以访问它
  • 用于更新您的foo存储库:
  • “git rebase -i --onto barbegin barbegin”并按照here
  • 所述进行操作
  • 我要压缩所有提交:“最后只能有一个”。
  • “git push foo bar:master”#仅一​​次提交将被推送
  • 清洁:
  • “git标签-d烧烤”
  • “git标签-d barend”
  • “git branch -d bar”

  • 毕竟,我认为此类数据无法收集到有用的信息。因此,我将尽量避免这种工作流程。但是,如果真的需要,我会这样做。

    关于svn - 如何使Subversion(或任何程序)执行定期提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/758916/

    相关文章:

    svn - 如何将GIT存储库与SVN同步?

    svn - 找到主干和分支之间的区别吗?

    java - Spring + hibernate : manually commit the transaction at end

    java - 为什么不建议在 Hibernate 中使用 "hibernate.connection.autocommit = true"?

    java - 防止 JBoss 7 (Jeeves DBMS) 上 JNDI 数据源的 Oracle 连接自动提交

    使用 BEGIN 和 START TRANSACTION 时 MySQL AUTOCOMMIT 状态

    android - 我如何从 SVN 存储库中 check out 一个 android 项目

    SVN更新冲突时添加^M?

    git svn - 无法识别的 URL 方案错误