安全对我们的小团队来说不是问题。 是否有任何令人信服的理由说明为什么我们可能需要使用某种类型的SVN服务器,而不仅仅是在某个网络共享上使用文件?
修改
抱歉 - 我认为我没有很好地沟通。
我想使用SVN进行版本控制。我认为我不需要一个“服务器”。团队成员都可以将他们的SVN客户端指向网络位置。
这够好吗?
或者我需要“服务器”?
答案 0 :(得分:3)
Agent SVN是Visual Studio的Subversion插件,可以配置为使用文件位置作为存储库,因此不需要服务器。
答案 1 :(得分:2)
是的,您可以在某个文件夹上创建存储库,并将您的客户端指向该位置,不需要svnserve
进程或apache2
+ mod_svn
。
但是有几个原因可以考虑服务器:
我不知道这些原因对你来说是否足够引人注目,但是你确实可以推迟决定去服务器,直到它开始变得不可避免 - 如果你的团队永远不会成长,甚至无限期。
答案 2 :(得分:1)
svn的主要用途是版本控制。 使用文件不容易保持版本控制。顺便说一句,您可以在自己的电脑上设置“svn服务器”本地
答案 3 :(得分:1)
Subversion使用三个主要协议:
svn:
http:
file:
还有其他几个(svn + ssh和https),但它们与上述内容有关。
如果使用file:
协议,则不需要Subversion服务器。您所要做的就是将文件协议指向Subversion存储库所在的目录:
C> svnadmin create C:\svnrepos\myrepos
C> cd C:\workspace
C> svn co file://C:/svnrepos/myrepos repos
在上面,我在C:\svnrepos\myrepos
创建了一个Subversion存储库,然后转到另一个目录(非常重要!)并进行了结帐。没有服务器正在运行。
这有几个问题:
file://
协议不会跟踪。你所看到的只是改变,而不是由谁。最后:
因此,尽管您可以将Subversion存储库放在网络共享上,并且每个人都可以使用file://
协议,但实际上并没有很好的理由这样做。事实上,我使用Subversion作为我自己的个人存储库,我是唯一使用它的人,我不使用file://
协议。
您可以轻松地将svnserve
作为Windows服务运行,因此只要您的计算机启动它就会自动启动。而且,设置非常简单。根本没有理由不使用它。
所以,不管怎么说,不妨继续以正确的方式行事。
顺便问一下,你是如何通过Visual-Studio使用Subversion的?我建议你看一下ankhsvn,它允许你直接在Visual-Studio中访问Subversion。
答案 4 :(得分:0)
SVN与安全无关;它是关于维护源代码的历史记录。
我想不出你不想设置SVN服务器的令人信服的理由。我在我的个人桌面上使用一个用于我自己的开发。这不是关于安全;它是关于保留我的源代码历史记录,以防我搞砸了并想要恢复。
这也与习惯有关:“首先我们养成习惯,然后养成习惯。”即使在简单的情况下也要学会一直做好。
答案 5 :(得分:0)
想象一下,与多人合作开展同一个项目。两者都在同一时刻修改同一个文件。如果你们都在同一个文件共享上工作,那将会很糟糕。 使用某种源控制的另一个原因是能够跟踪变化。 通过这种方式,您可以通知您的同事他搞砸了。 : - )
答案 6 :(得分:0)
答案 7 :(得分:0)
设置服务器几乎是微不足道的,所以我会问你为什么不想要一台服务器。但这里还有其他一些原因:
下载并安装Subversion Edge之类的内容。这在Windows上安装很简单,它为您提供了一个Web UI来管理服务器。您还可以获得用于浏览存储库的Web UI,这在研究错误时非常有用。
答案 8 :(得分:0)
在一个只有两个人的团队中,某种版本控制比没有版本控制更具优势。如果您需要多个版本用于演示目的,并且使用锁定/解锁+合并以防止开发人员谋杀彼此代码,则能够回溯更改,分支代码是您使用SVN的原因。在单独参与项目时也很方便。
您可以在Linux,Mac,Windows上轻松托管SVN - 您只需要该机器可以从开发机器进行网络连接。
答案 9 :(得分:0)
您需要在某处运行的SVN服务器进程。你无法避免它。它是SVN的基本组成部分,它提供对存储库的访问,是客户必须指向的内容。
我们使用VisualSVN。安装几乎不需要任何努力。