SVN日志原理!.我自己遇到的问题。
大家都知道,SVN的LOG记录了配置库的变更,并且可以根据LOG找回修改前的版本,但是有没有人想过其原理?
我认为,要找回被覆盖掉的东西有两种途径:
1、找备份,这里又可以分为两种,一是不管你改什么东西,改之前SVN就将配置库中所有文件全部备份并打上记号,需要的时候取出,不过这种行为很笨,不是SVN所为;那么看第二种,修改完提交的时候,SVN会判断那些文件发生了变化,备份这些将要发生变化的文件并打上记号,需要的时候再取出,看起来这个要符合些。
2、找变更:听起来好像跟找备份的第二种一样,不过这种方法记录的是你在某个文件上的改动信息,需要的时候根据这些记录下来的变更信息对文件做与你之前改动动作完全相反的动作,来得到改动之前的文件。
那SVN的LOG找回原理究竟是哪一种呢?
这里我再提出一个问题,望达人解答:我有100个文件,大小共2G,打包后放在配置库中,然后签出到本地,解压,在某个TXT文件中添加了一行,之后再压缩,还是同名的压缩包,提交,那么这个时候SVN是把修改前的压缩包备份了一份?还是只备份了那个被修改钱的TXT文件?亦或是只记录了那“在XX文件添加一行”的信息?
假象:SVN是不是只能解读服务器可以解读的文件,对于这些文件记录变更记录,对于无软件工具识别的文件,备份整个文件?
搜索更多相关主题的帖子:
SVN 日志 原理