TFS - 放置文件夹中的版本控制文件

时间:2018-04-06 15:12:33

标签: tfs version-control directory

我们目前使用TFS 2010来控制我们的一些.NET项目。

我想知道是否可以在TFS中为网络共享上的特定文件夹提供某种版本控制。例如。

我们的想法是为每个版本控制发布包(拉链)。由于这个位是由其他人完成的(不是技术人员,他不使用Visual Studio或任何技术工具),因此简化每个版本的zip文件版本控制过程会很棒。

从技术上讲: 我们设置了这个文件夹\ servername \ releasezips,每当我删除一个名为release.zip的文件时,它会自动将此文件提交(推送)到TFS服务器(无需注释),此外,一旦文件内容发生变化(意思是如果有人在那里删除了另一个版本的文件,系统会再次将文件推送到TFS,但版本如下。

这有可能吗?我已经在某个地方看到过,我可以使用REST API以编程方式对TFS进行一些额外的控制。

提前致谢!

2 个答案:

答案 0 :(得分:0)

感谢您的提示,Daniel和PatrickLu-MSFT。

正如我所说,我确实想要一些直截了当的东西,某种类似于box.com提供的控制,你将机器上的本地文件夹与云相关联。因此,一旦您将文件放在本地文件夹中,小盒子客户端就会将其与云同步。如果访问box.com,我可以看到该特定文件的不同版本。

所以我做的是,我已经创建了一个小的.NET应用程序来监控文件夹,任何放在那里的新文件都会通过使用tf命令行检入我们的TFS服务器(当然忽略工作项目或评论)。

因此,在.NET应用程序中,它会为最近删除的文件处理和版本化所需的命令,从而执行它们。

顺便说一下,我本可以使用Team Foundation API来完成同样的工作,但是需要付出更多的努力。

干杯

答案 1 :(得分:-1)

根据您的描述,您希望在构建/发布管道中提交/签入文件。

在构建管道中,不建议检入生成的构建文件和修改源代码。如果您真的想这样做,您可以编辑构建工作区文件并在自定义活动中使用 tf命令并调用powershell eq:

cd $env:BUILD_SOURCESDIRECTORY

$TFFile = Get-Item "C:\Program Files (x86)\Microsoft Visual Studio 1x.0\Common7\IDE\TF.exe"

$tfOutput = [string]( & $TFFile.FullName checkin /noprompt /override:"***NO_CI*** New version is $newVersion." /comment:"***NO_CI*** New version is $newVersion." 2>&1)

另一种方法是安装TFS Power Tool并使用Windows PowerShell Cmdlet签入文件。有关详细信息,请参阅此链接:PowerShell and TFS: The Basics and Beyond

对于已删除文件的版本,您可以查看类似的问题:TFS Build Copy to Versioned Folder  基本上,您必须使用自定义活动自定义构建定义,并基于build.buildnumber变量生成/创建.zip文件。

相关问题