Skip to content


使用svn—-和IDE配合

不知道你有没有过使用IDE来配合Subversion的经历,比如eclipse啊之流。这些IDE为了对自己的项目进行管理,都回生成一些放在项目下的配置文件,比如eclipse的`.classpath`文件。如果你使用svn,一个不小心就会把这些文件传回代码库,对你自己当然是无所谓了,但是别人就惨了。因为别人在checkout的时候,不得不使用你的配置,而如果别人也和你一样的使用eclipse这种和svn的配合方法,他就更惨了。因为up下来的配置文件和本地的冲突,然后最坏的情况就是你的项目死菜了。况且,这些文件并不是开发的项目的一部分,也不应该和代码放在一起。
这是一个很普遍的问题,那么如何来解决呢?使用我们前面说的外部定义
svn标准的目录结构为
svn://proj/
             +trunk
             +branches
             +tags
在这里我们添加一个管理个人私有文件的目录,privates,当然了,这些IDE的配置文件也是私有文件咯。
svn://proj/
             +trunk
             +branches
             +tags
             +privates

这个privates目录如何使用呢?我们首先在下面建立自己的目录,比如/privates/yinwm,此时我的所有的私有文件都应该放在这里。然后再根据自己所要开发的目录结构(trunk还是分支)建立对应的目录,比如/privates/yinwm/trunk,/privates/yinwm/dev_1.0。
使用IDE,checkout这个目录,此时这个目录下是任何文件都没有的,并且它只属于你自己。当成功的checkout之后,建立外部定义,让一个内部目录(我喜欢起名字叫proj)指向对应的开发目录(trunk或者某一个branch)。再update,你的代码就下来了。此时你再通过IDE上传东西,代码会放在对应的代码区域,而配置文件会放入你自己的私人文件夹。这样就不会相互影响了。

目录结构如下:
svn://proj/
            +trunk/
            +branches/
                      +dev_1.0
                      +dev_2.0
            +tags/
            +privates/
                       +yinwm/
                                 +trunk/
                                          +.classpath等 (IDE文件)
                                          +proj (外部定义,指向trunk)
                                 +dev_1.0/
                                          +.classpath等 (IDE文件)
                                          +proj (外部定义,指向branches/dev_1.0)
                       +xxx

这样大家就可以方便的工作了。当然,如果你是console+editor达人(我是70%的这类达人,:D,hoho),你就可以直接checkout trunk或者branch开发,反正这里也没有什么私人配置文件的问题。

Posted in subversion.

Tagged with .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.