我们在subversion中使用TeamCity的分支概念取得了一些成功,指向tags
就像这里提到的那样https://stackoverflow.com/a/6875151/2416394虽然我们知道这对DVCS
来说是主要的,比如git。
我们通过提供项目参数%Tag%
来扩展链接的答案,该参数成为结帐规则的一部分。
所以我们的SVN Root是http://myserver/svn/tags/
,结帐规则是
+:%Tag%=>.
每次我们签出时,都会添加一个新标签作为" branch"并建立源,这很好
现在我们开始尝试链式构建。 让我们说我有这些配置:
两个安装程序都需要源代码,它们都将其作为快照和工件依赖项。主要问题是:Tag
是Source Build的强制参数,但不是另一个参数,我不想将所有属性复制到每个配置。
因此,每当我触发任何安装程序时,源都会在%Tag%
设置为空的情况下进行构建。
然后导致建筑
http://myserver/svn/tags/%Tag%
标记为空。这将检查"默认"中的所有标签。在一个工作空间中分支,后来无法构建,因为结构不同,无论如何都是大的。
答案 0 :(得分:0)
由于Installer-Lite和Installer-Full对源构建具有快照依赖性,因此可以使用%dep.SourceBuild.Tag%
引用其SourceBuild
变量(其中+:%dep.SourceBuild.Tag%=>.
是源构建配置的ID )。
因此,您可以执行以下操作之一:
%Tag%
%dep.SourceBuild.Tag%
变量,其值设置为+:%Tag%=>.
,然后采用与Source Build相同的结帐规则,即import time
import numpy as np
webColours = np.array([
[0,0,0],
[0,0,128],
[0,128,0],
[0,128,128],
[128,0,0],
[128,0,128],
[128,128,0],
[192,192,192],
[128,128,128],
[0,0,255],
[0,255,0],
[0,255,255],
[255,0,0],
[255,0,255],
[255,255,0],
[255,255,255]
])
def getBaseColours(colours):
# colours is 1000000x3
# set up a distances array (16x1000000)
distances = np.zeros((16, np.size(colours, 0)))
for colour in xrange(16):
# calculate distance of each input colour to this webColour
distances[colour] = np.sum(abs(colours - webColours[colour]), 1)
# which of 16 distances is the least for each of 1000000 colours
return np.argmin(distances, 0)
startTime = time.time()
colour = np.array([134,234,43])
colours = np.tile(colour, (1000000, 1))
getBaseColours(colours)
print "Time: " + str(time.time()-startTime)