亲爱的Stackoverflow社区!最近我的svn服务器坏了,我几乎尝试了所有东西,但我无法让它重新工作.
操作系统:Raspbian
我做了什么:安装包:
apt-get install subversion libapache2-svn apache2 mysql-server
Run Code Online (Sandbox Code Playgroud)
Enabeling dav_svn: a2enmod dav_svn
创建存储库:
$ mkdir -p /opt/svn/project1
$ mkdir -p /opt/svn/project2
Run Code Online (Sandbox Code Playgroud)
添加它们:
$ svnadmin create --fs-type fsfs /opt/svn/project1
$ svnadmin create --fs-type fsfs /opt/svn/project2`
Run Code Online (Sandbox Code Playgroud)
设置所有者:
$ chown -R www-data:www-data /opt/svn
Run Code Online (Sandbox Code Playgroud)
创建用户:
$ sudo htpasswd /etc/apache2/dav_svn.passwd weini
Run Code Online (Sandbox Code Playgroud)
创建的存储库文件:
mkdir -p /tmp/projet1/trunk
mkdir -p /tmp/projet1/branches
mkdir -p /tmp/projet1/tags
mkdir -p /tmp/projet2/trunk
mkdir -p /tmp/projet2/branches
mkdir -p /tmp/projet2/tags
Run Code Online (Sandbox Code Playgroud)
创建/etc/apache2/mods-enabled/dav_svn.conf文件:
<Location /svn/>
DAV svn
SVNParentPath /opt/svn/
SVNListParentPath On
AuthType Basic
AuthName …Run Code Online (Sandbox Code Playgroud) 每当我执行svn命令时,命令提示符都会询问身份验证领域.如何克服这个问题?
注意!您的身份验证领域的密码:
https://server.domain.name.in:8443 VisualSVN服务器
只能以未加密的方式存储到磁盘!建议您配置系统,以便Subversion可以存储加密的密码(如果可能).有关详细信息,请参阅文档
您可以通过将'store-plaintext-passwords'选项的值设置为'yes'或'no'来避免将来出现此警告
存储密码未加密(是/否)?
我有一个从主干开始的分支A和从A开始的分支B.定期地,从主干到A的合并,然后也执行从A到B的合并.当我想将A和B合并到主干时,我想按照这种方式:
这是对的吗?或者它可能导致mergeinfo或其他问题的问题?在这种情况下,最佳做法是什么?
在使用Android Studio时,我必须在SVN中忽略哪些文件?
目前我忽略了这些文件:
*.idea
gradle
*.iml
build
local.properties
.DS_Store
我已升级到1.8版本并进行了一些更改并签入了代码.后来我意识到其他团队成员正在使用1.7.7.如何将1.8更改恢复为1.7.7(格式更改),然后重新安装1.7.7版本?
我正在使用TeamCity进行CI构建.为了简单起见,假设只有两个构建步骤:
在这些运行之前,我希望恢复整个工作目录以匹配SVN repo; 删除bin/obj /其他可能已经进入的东西.只应下载SVN中的新变化,而不是整个仓库.
但是,不应该清理packages文件夹,因为下载这些文件需要太长时间.
我怎么能这样做?
我试过的一些事情:
这真令人沮丧.每当我尝试删除Android Studio中的文件并将更改提交给SVN时,删除操作都不会继续.当其他开发人员更新到最新版本时,我删除的文件不会在其工作副本上删除.为什么是这样?
我只需在项目树中右键单击该文件即可删除该文件.当我提交时,我从树中的项目根提交整个项目.我在这里做错了吗?
我使用'svn add'命令将一些新文件添加到我的Rails项目中.提交后,一些文件的状态为"(bin)".这表明了什么?
我的终端窗口如下所示:
rahulv@PS386:~/sprint/S27$ svn commit -m "design fixes"
Adding (bin) app/assets/javascripts/ckeditor/skins/moono/icons.png
Adding (bin) app/assets/javascripts/ckeditor/skins/moono/icons_hidpi.png
Adding app/assets/javascripts/ckeditor/skins/moono/images
Adding (bin) app/assets/javascripts/ckeditor/skins/moono/images/arrow.png
Adding (bin) app/assets/javascripts/ckeditor/skins/moono/images/close.png
Adding app/assets/javascripts/ckeditor/skins/moono/images/hidpi
Transmitting file data ..........................
Committed revision 7.
rahulv@PS386:~/sprint/S27$
Run Code Online (Sandbox Code Playgroud) 我们有一个定制的CMS和许多想要用它构建的网站的客户.解决方案结构如下:
Libs
- Lib1
- Lib2
- etc
Plugins
- Plugin1
- Plugin2
- etc
MVC Web Project
Run Code Online (Sandbox Code Playgroud)
MVC Web项目包含管理主题,网站的布局和资产等等......对于每个客户来说,大部分内容都是相同的 - 只有少数文件会改变(主要是与主题相关的东西,配置文件等等) ).如果我们不得不每次都要将项目的副本放入不同的SVN存储库中,那将是一种浪费和维护的噩梦.
我以前从未使用过SVN分支和合并,但我理解这个概念.我想做的事虽然有点奇怪......让我解释一下:
我注意到SVN创建了"廉价拷贝"分支 - 所以它不会复制每个文件.我在考虑做这样的事情:
trunk
- code for main project
branches
- Customer1's Project
- Customer2's Project
- then some real dev branches of course
tags
- Version 1 (Generic Demo Project)
- Version 2 (Generic Demo Project)
- etc
Run Code Online (Sandbox Code Playgroud)
我的想法是为每个客户建立一个分支,只有少数文件被更改,我希望,当有变化时,很容易将主干中的最新代码合并到每个客户分支.
我猜这不正常,但它可行吗?有没有人看到任何潜在的问题?
评论一段可能在将来有用的代码块是一个好习惯吗?
那么什么是好的做法 - 使用SubVersion或只是注释代码块并在需要时使用它?