ZKX's LAB

svn提交提示已经过时 svn无法提交新文件 之 账号过期的影响

2021-04-05知识17

SVN提交代码时提示conflict了,还是强硬提交上去。是否有方法能够监控这些提交? 提供个思路吧,现在目的是想发现冲突时未进行实质解决,而直接标记解决冲突强行提交的行为。要做到这个,可以分两步来考虑,首先要能发现commit时发生了冲突,然后要能发现冲突后的再次提交内容是否和上次冲突时的提交完全一样。那么要监控冲突的发生,可以考虑使用pre-commit这个钩子,在这个钩子里用svnlook diff命令,检查这次提交的文件是从原来的哪个版本改过来的(比如赋值变量ver1),然后再用svnlook history获得该文件在库中的最新版本号(比如赋值变量ver2),比较两个版本号是否一致,如果ver1,那么就是发生了冲突,那将此次冲突提交的信息(冲突的文件名)存到专门的日志文件中,以供将来分析。然后就是检查后续提交是否是强制提交了,先是通过pre-commit发现了冲突后,就用svn diff获取冲突文件此次修改的内容,并存储到一个文件中,再通过pre-commit钩子监测发生过冲突的文件再次被commit时,就把新commit的文件所修改内容和上次存储的修改内容进行比较,如果内容完全一样,就可以判断为是强行提交。基本思路可以这么做,但具体实现起来,钩子的逻辑会很复杂,普通的脚本文件估计难以胜任,可能需要把这个钩子写成一个可执行程序。

svn提交的时候,如何处理才能同时提交到两太服务器上 首先要确定的一点,这两台SVN服务器中只能有一台可以进行读写操作,另一台只能做备份用(你可以从上面读取数据,但不能修改上面的数据)。这样的话,可以使用SVN自带的同步机制,也就是svnsync命令,将源SVN服务器上的内容同步到备份SVN服务器上。一般是把svnsync指令放到源SVN服务器的post-commit钩子中,这样每次commit成功后,源SVN服务器就会自动调用这个钩子,执行一次与备份服务器之间的同步。svnsync的具体用法稍微有点复杂,你搜索一下吧,很多这方面介绍。因为不了解你为什么要同时上传到两台SVN服务器,所以只能暂时给出这样一个方案,如果你能详细描述你要达成的目的,那可能还会有其它的方案。

怎么查看svn上自己提交的记录 1、首先我们选择一个svn导出的项目。2、对文件夹点右键,点击TortoiseSVN-Show log。3、这zhidao样就展示出该文件夹内所有文件的提交记录。4、选中一次记录,下面是这次提交的所版有文件。5、下面还有Show All和Next 100,分别是显示所有记录和显示最近的下一百条记录。如果记录比较多,建权议不要直接show all,会很卡顿。

#svn提交提示已经过时

随机阅读

qrcode
访问手机版