SVN是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN是啥?相关的知识,希望对你有一定的参考价值。

听说svn不知道干嘛用的,我学php,和这个什么关系?怎么用?

管理用的 项目组开发才用的到 一个人就不用了 参考技术A SVN 是Subversion的简称,是一种集中式文件版本管理系统,对于开发人员来讲,应该是有必要掌握的工具,当然还有其他比如CVS,VSS等其他工具。
版本控制工具在团队协作方面的作用是毋庸置疑的。对于个人开发,使用版本库也是很有必要的,一个是养成好的协作开发习惯,另外对于个人代码的纵向管理还是很有帮助的。比如对于自己代码的形成时间过程会有所记录,在修改代码失误的情况下,可以回滚到任何自己提交的历史节点等,出现错误时,可以追溯代码历史,为分析BUG提供帮助等,如果有时间应该学习一下,当然开发过程中应该注意及时提交,写明提交注释,养成好的提交习惯。
纯个人开发好像还有个单机版的版本控制工具,具体叫什么名字不记得了,但使用方法和目的基本差不多追问

这个管理系统是要下载下来,怎么用呢?

追答

如果没有使用的经验,最好还是找熟悉的人一起带一下,或者加入一个团队。另外查一下使用帮助文档学习学习。
以下文章可以参考:
http://wenku.baidu.com/view/5f5c758002d276a200292e75.html?from=rec&pos=0&weight=1707&lastweight=500&count=5

http://wenku.baidu.com/view/aa148e66783e0912a2162a3a.html

本回答被提问者采纳
参考技术B SVN使用说明
1.
SVN(Subversion)简介
SVN是类似于VSS

CVS
的版本管理软件,是CVS的作者另起炉灶开发的,继承了CVS的优点,避免了CVS的一些缺点.
客户端软件TortoiseSVN与资源管理器结合,使用非常方便.
2.安装文件及说明文档所在目录:
客户端安装文件:
http://203.187.176.183/TortoiseSVN-1.1.7-UNICODE_svn-1.1.4.msi
中文语言包:
http://203.187.176.183/LanguagePack_1.1.7_zh_CN.exe
3.简要说明
由于客户端软件TortoiseSVN与资源管理器结合使用,所以安装后要reboot
中文语言包使用方法:
桌面或资源管理器的任何地方右键,
4
基本操作
Svn服务器地址203.187.176.183
每人自己一个私有目录,URL分别是
svn//203.187.176.183/yhb
svn//203.187.176.183/zwb
svn//203.187.176.183/ldh
svn//203.187.176.183/pb
svn//203.187.176.183/pub
你的账号密码通过手机短信发给你.
输入你自己的URL
,比如:svn//203.187.176.183/zwb
常用操作:将一个已有的工程加入SVN
例如:有目录
e:\project1
,导入
SVN
导入到你的URL下面的某个子目录下:
比如:svn//203.187.176.183/zwb/project1
然后用"SVN
取出"功能从刚导入的或别人导入的工程获得一个working
copy
.
Important
You
can
only
check
out
into
an
empty
directory.
If
you
want
to
check
out
a
previously
imported
sourcetree,
Subversion
will
throw
an
error
messge.
You
will
have
to
check
out
into
a
different
directory
or
delete
the
existing
sourcetree
first
要想check
out
(取出)到刚才进行导入的目录,必须先删除原目录中的文件,或新建个目录
取出
操作成功后,目录会有个绿色的勾,
并增加了一个目录
.svn
-------修改过的文件会有红色标识,新增加的文件没有任何标识------
―――使用SVN提交
将改动上传到SVN服务器
――――――――――――――
改动过的文件和新增加文件会在列表中,要都选中.

“svn:E195019:检测到 URL 的重定向周期”的原因是啥?

【中文标题】“svn:E195019:检测到 URL 的重定向周期”的原因是啥?【英文标题】:What is the cause of "svn: E195019: Redirect cycle detected for URL"?“svn:E195019:检测到 URL 的重定向周期”的原因是什么? 【发布时间】:2013-08-30 18:06:55 【问题描述】:

尝试从我的 SVN 存储库中结帐给了我

svn:E195019:检测到 URL 的重定向周期 ...

但是,似乎此错误仅在我位于某些(特定)代理服务器后面时才会发生。

正如在其他帖子中所讨论的(请参阅 tortoise svn giving me "Redirect cycle detected for URL 'domain/svn'" ),如果 SVN DAV 配置错误,例如,使用 SVNParentPath 而应该使用 SVNPath,则会发生此错误。但是,我的配置似乎是正确的,并且 - 据我所知 - 只有在代理后面时才会出现问题。

存储库的设置或多或少是标准的,例如,

服务器别名 svn.mydomain.com DAV svn SVNPath /var/www/vhosts/mydomain.com/svn/myrepo AuthType 基本 AuthName "mydomain svn" AuthUserFile /var/www/vhosts/svn.mydomain.com/conf/htpasswd-myproject # 允许任何人只读访问,否则需要 # 需要认证 需要有效用户 位置>

【问题讨论】:

【参考方案1】:

我在学习本教程后遇到了类似的错误: How to Install SVN Server on Ubuntu 18.04 & 16.04 LTS。后来意识到,我必须在Step 5中删除以下行

别名 /svn /var/lib/svn

【讨论】:

terima kasih !! 不,没有更新,我也是按照这个教程后的问题 现在可能在第 5 步中 sudo vi /etc/apache2/mods-enabled/dav_svn.conf 这家伙值得喝杯咖啡!【参考方案2】:

在我的情况下,问题是 ubuntu 上的配置文件之间存在不兼容的设置。

我有 ubuntu 18.04 和 Apache2 以及来自 ubuntu 的最新 svnserver,为了解决重定向问题,我必须从两个不同的配置文件中删除别名:/etc/apache2/mods-enabled/dav_svn/etc/apache2/site-enabled/default-ssl.conf

/etc/apache2/mods-enabled/dav_svn

 #Alias /svn /svn_repo/svn
 <Location /myrepo>
    DAV svn
    SVNPath /svn_repo/svn
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /mypath/dav_svn.passwd
    Require valid-user
    AuthzSVNAccessFile /etc/apache2/dav_svn.authz
</Location>

/etc/apache2/site-enabled/default-ssl.conf

 #Alias /svn /svn_repo/svn
 <Location /myrepo>
    DAV svn
    SVNPath /svn_repo/svn
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /mypath/dav_svn.passwd
    Require valid-user
    AuthzSVNAccessFile /etc/apache2/dav_svn.authz
</Location>

显然修改后我需要重启apache:

sudo service apache2 restart

【讨论】:

【参考方案3】:

确保您使用的链接是 'svn' 而不是 'view' 链接。

即www.myrepo.com/svn/myproject/trunk ||正确www.myrepo.com/view/myproject/trunk ||错误

应该可以的。

【讨论】:

我认为这被不公正地降级了。我在尝试签出 viewvc 网络视图 url 时收到了完全相同的错误消息。示例svn.apache.org/viewvc/ant/sandbox 或svn.apache.org/viewvc/axis/axis1/java/trunk【参考方案4】:

问题在于您在结帐时提供的 SVN URL。我检查了各种帖子来解决这个问题,但没有一个对我有用。以下是对我有用的非常简单的解决方案,

您需要使用链接 'http://localhost:3343/csvn/repo/list 来创建 csvn 存储库 ' 并复制您要访问的存储库的“签出命令”的 URL。

这个URL需要在tortoise SVN客户端使用才能结账。

【讨论】:

【参考方案5】:

(我自己的问题给出了答案,用了半个周末的时间寻找解决方案):

似乎此错误消息与 subversion 存储库位于目录 svn/myrepo 中的事实有关,其中目录 svn 也被列为子域 svn.mydomain.com 的 DocumentRoot。 DocumentRoot 指令对我来说并不明显,因为子域的文档根目录是在不同的 conf 文件中配置的(我使用 Plesk 来维护服务器)。 这造成了某种歧义。将子域的文档根目录移动到其他位置后,错误消息就消失了。

问题很难追查,因为 - 据我所知 -

如果repo位于子域的顶层,即上述配置中的&lt;Location /&gt;SVNPath /var/www/vhosts/mydomain.com/svn,则不会出现错误。

只有通过代理访问 repo 时才会显示该错误。

与 DocumentRoot 的冲突并不那么明显,因为它是一个子域。

总结一下:解决方案(使用 Plesk 时):将 Plesk 设置 (GUI) 中子域的“DocumentRoot”更改为不同于 SVN 目录的内容。 www.mydomain.com 的“DocumentRoot”是httpdocs。 svn.mydomain.com 的“DocumentRoot”是(默认)svn。我将其更改为httpdocs-svn,问题就消失了。我的设置中没有使用文件夹 httpdocs-svn,因为 svn.mydomain.com 下的所有内容都由 DavSVN 处理。

【讨论】:

我收到此错误消息,但这不是解决方案。我有带有 vanilla subversion 和 libapache2-svn 的 vanilla Apache2,所有这些都已安装并运行,我使用了 SVNParentPath 并在 /var/lib/svn 中创建了两个存储库,我可以在浏览器中浏览它们(到目前为止为空,但它有效) .但是,如果我尝试从命令行导入或签出到相同的 URI localhost/svn/foo,我会收到有关重定向周期的此错误。 /etc/apache2 下的任何文件中的任何地方都肯定没有重定向指令,那么它来自哪里?请记住,这是默认安装,因此无需手动编辑。 很久以前我遇到过这个问题,但据我记得你不需要显式重定向,如果 SVN 根目录和网页( apache) 根目录是一样的。 - 但是:我不知道是否有其他配置会导致相同的错误消息。 原来它不是重定向而是别名。由于某些深不可测的原因,libapache2-svn(我认为)安装的默认 dav_svn.conf 已损坏,因为它包含虚假别名 /svn /var/lib/svn 并且您需要将其注释掉。然后一切正常。为什么这个发货坏了我不能说。

以上是关于SVN是啥?的主要内容,如果未能解决你的问题,请参考以下文章

svn是啥工具,如何使用

svn 显示红色是啥意思

svn是啥工具,如何使用

SVN 中的结果代码是啥意思?

eclipse juno svn可以check,但是不能提交,提交时老是要输入账号密码,请问是啥原因?

“svn:E195019:检测到 URL 的重定向周期”的原因是啥?