请教各位同学项目中的补丁文件通过什么样的方式实现较合理?

补丁文件是指小文件增量更新。

我能想到的是以下两种方式:
1.在热更新前用svn打出tag,然后通过读取svn文件版本号信息,然后打出补丁包【目前我们在使用这种方式】。
2.保留一份最新版本的资源,然后和上个版本的被补丁包修正过的包进行整个文件夹比对,然后找出所有的diff文件,然后出补丁包。

不知道还有没有其他更好的方式。

我们公司的版控一直很混乱(没有版控部门,纯粹靠项目解决),所以我想咨询一下有没有更好,更不容易出错的方式处理补丁包的打包。

因为人操作的时候经常出错,比如xxx经常会在要打补丁包的时候说他svn上传了不要上传的代码,造成同一个svn版本号上面会有需要入补丁包和不需要入补丁包的文件,这个时候就会人工介入,手工排除,我觉得非常危险。

不知道各位大神同学可有想法???

可以写一个sh文件

第一步:调用svn update
第二步:使用下面命令 find . -type f -mtime +1 -exec rm -rf {} ;
这个命令的功能是查找文件修在1(可以使用命令参数传进来)天前修改的文件,并且删除这些文件。
第三步: 打补丁包逻辑

补充 find 相关指令连接 http://www.92csz.com/11/921.html

大神 我咨询的是思路 不是命令怎么敲 比较文件夹查询diff文件或者导出svn的跨版本变更的文件都可以做到 关键是版控的一整套流程怎么样才是合理 这个才是问题

  1. 目前我们的做法: 服务器的filelist包含版本号、所有文件的MD5和路径 , 客户端通过版本号和MD5来做比对。

  2. 上传代码的问题可以在svn上将开发和发布环境区分开。

你的意思就是对外发布的最新的资源存放在单独环境?
那怎么样能够确保这份资源是最新的呢? 人工保证还是什么?

这个只能自己来控制了 需要更新哪些东西这个自己应该知道吧?

新增内容 修复bug之类…

更新方面 按照我们的方式服务器始终有一份完整的客户端

了解 谢谢回复 可以借鉴