- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
(这个问题让我在 SuperUser 上获得了风滚草徽章,但我被建议改为在这里尝试)
我正在我的 LAMP 开发服务器上的一个主要分支上工作,但我经常需要对主干进行次要但紧急的更新。
我正在尝试通过符号链接(symbolic link) (foo) 为我的本地站点提供服务,然后我可以重写它以指向分支或主干。这允许我来回切换而不用担心未提交的更改,这意味着我可以使用相同的书签、路径别名等
# svn working copies for trunk and branch
/sites/footrunk/
/sites/foobranch/
/sites/foo -> foobranch #symbolic link
# eg to switch to trunk
cd /sites;
ln -s footrunk foo_tmp && mv -fT foo_tmp foo
cd -;
sudo service apache2 restart
我的问题是,apache 偶尔会在切换后立即变得困惑,并且似乎持有空的、旧的或重复的(无法在 php 中重新声明类错误?)版本的文件。重新启动 Apache 似乎可以解决所有问题,但我的脑海中响起了警钟。
这是对符号链接(symbolic link)的合理使用,还是我只是在为将来避免问题?
最佳答案
我广泛使用符号链接(symbolic link)来获取公共(public)库的源代码。共享库发生变化,酷每个项目都获得最新代码。我用这种方式管理了很多项目,这似乎非常合理。
直到我意识到符号链接(symbolic link)库中存在严重问题。好吧,改源码大家受益。 20 hudson 之后构建,你开始思考,啊,这不是一个好主意,如果 4 年前的一个项目使用符号链接(symbolic link)失败了怎么办......
我们删除了代码中的依赖项,为什么不删除我们的部署环境...
全心全意地,不,从长远来看,使用符号链接(symbolic link)并不是一个好主意,是的,应该敲响警钟。
有哪些选择?
仍然使用符号链接(symbolic link),我会为每个独特的项目分支链接库并引用它们。这仍然意味着链接库,并且当您在分支和主干之间切换时也很头疼。到了我刚刚完全删除符号链接(symbolic link)的地步。
我现在有两种方法,第一种是为库创建一个 eclipse 库项目,并从我的其他项目中引用它。另一个是我创建一个 Jar 或 Swc(flash lib)并将它们作为依赖项直接导入我的项目中。如果项目的源代码发生更改,那么我可以更新项目或重新导入基于 hudson 构建的库。
我的场景不使用 Appache,所以我在那里没有帮助,但通常使用符号链接(symbolic link),尤其是在 SVN 中应该远离项目工作。
此外,我认为对符号链接(symbolic link)的更改不是版本化的。它们是静态的,您无法跟踪它们的变化。 (如果我在这一点上错了,请纠正我)。如果我是对的,他们也不会在不同的存储库之间旅行或工作。
编辑2
根据评论,当我想从 apache 为项目的主干和分支提供服务时,这可能会有所帮助,我将使用 apache 别名。当然你可能有 uri 问题,所以它可能不起作用,但它是一个替代尝试。这又完全取决于您的设置(我猜我遗漏了一些关于符号链接(symbolic link)如何为您工作的信息)。
>touch /etc/apache2/other/emiles.conf
>pico /etc/apache2/other/emiles.conf
.. 添加以下内容。
Alias /fooBranch "/Users/emile/fooBranch"
Alias /fooTrunk "/Users/emile/fooTrunk"
<Directory "/Users/emile/fooBranch">
Options +Indexes +MultiViews +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
#copy above with "/Users/emile/fooTrunk"
重启appache,然后访问两者
http://localhost/fooBranch
or
http://localhost/fooTrunk
您甚至可以将本地主机设置为仅引用 fooTrunk,或者可能使用不同的端口、虚拟主机(我不太熟悉)。
关于svn - 使用符号链接(symbolic link)在主干和分支之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11879897/
我通常从以下位置获取代码:https://www.w3schools.com .这个代码还有一个 Accordion ; 但是,当我使用链接 -> 到 Accordion 时, Accordion 不
我见过的所有 JNI 指南(例如 JNI runtime linking )都建议我将 JNI 库链接到 libjvm.so: $ gcc -I${JAVA_HOME}/include -c -o t
实现以下目标的正确 URL 格式是什么: 使用 Universal Link 在 iOS 上的另一个应用程序中打开 Google map 应用程序。 根据两个坐标设置目的地:纬度和经度,并让用户选择交
我已经查看了 Microsoft 的 MSDN 和整个网络,但我仍然无法很好地了解它是什么。 这是否意味着已完成的程序在执行期间的不同时间加载 DLL,而不是在启动时一次性加载所有 DLL? 我完全偏
我有一个看起来像这样的 css: .browse-link A:link { color: #F6CA4C; text-decoration: none; } .browse-link
当我点击“产品”链接时,它突然指向#link。我怎样才能使它的外观看起来像滚动然后转到产品?请帮帮我。 vStudy function big(x){
我想在保存之前更改从输入字段中获取的值。 params[:link]['url'] = "www.facebook.com/redbull" 现在我只想将“redbull”放入数据库。以下代码失败,因
我正在使用链表编写程序(真是一场噩梦)。 无论如何,该程序的目的是输入 8 个字符,然后让程序将字符打印回给您,并以相反的顺序打印回字符,当然是使用链表。 到目前为止我已经明白了。它有很多错误(我认为
基本上,我删除了 anchor 按钮,因此链接窗口中不应该有指向 anchor 选项的链接。 有什么方法可以删除该下拉选项 ? 最佳答案 想通了 if ( dialogName == 'link' )
我的本地(和远程)SQL SERVER 2005 管理员都声称“允许链接服务器是一个安全问题”并禁止在此处使用它们。 (哈?) 无论如何,有没有办法在没有链接服务器的情况下做类似的事情? SELE
如果我有: linkedlist1= 1,2,3,4; 和 linkedlist2= 5,6,7; 如果我调用: linkedlist2.set(0,9999) 它会更改为 linkedlist2 =
首先,如果这个问题看起来很愚蠢,我很抱歉,但我仍在学习 React 和 html。所以问题是我的 react 代码中有一个按钮标签,它为我提供了一些关于进入我提供的特定链接的逻辑。我的 Button.
我将制作一个文本 block ,这样如果您单击一个单词,它就会被词汇替代品所替换。 例如“fearful-of-cats”是“ailurophobic”的词汇替代品,因为如果您在任何文本中将后者替换为
我有以下代码 Can you click me? 目标是我可以点击“你能点击我吗”框并转到 google 并在包含 div 的任何其他地方
这是一个案例: 默认情况下,如果我点击#2、#3、#4、#5,我将被重定向到#1。 如果我想在没有 #1 激活的情况下点击输入,我该如何修复 CSS? 提前
有没有什么快速的方法可以使 :visited 链接的颜色与链接本身的颜色相同? 例如: * {color:black} a:link {color:blue} a:visited {color:inh
我读到从 iOS 9 开始,引入了通用链接。请解释深层链接和通用链接之间的区别。我的目标是,一个链接将通过邮件发送给客户。让邮件说有一个项目 A 的报价和一个链接。单击链接时 如果安装了该应用程序,则
因此我们需要对 CSS anchor 伪类使用以下顺序 a:link { color: red } a:visited { color: blue } a:hover { color
我组件的当前路径是http://localhost:3000/dashboard/questionnaire/5bf79ff4c45a150015cef7a9在这个组件里面有 Financials 如
我 rsync 目录“Promotion”包含两台具有不同目录结构的机器之间的绝对符号链接(symbolic link)。因此绝对符号链接(symbolic link)在两台机器上都不起作用。为了使它
我是一名优秀的程序员,十分优秀!