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
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位于子域的顶层,即上述配置中的<Location />
和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是啥?的主要内容,如果未能解决你的问题,请参考以下文章