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



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

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

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

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

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

提前感谢!

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

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

所以我所做的是,我创建了一个小型 .NET 应用程序来监视文件夹,并且放入其中的任何新文件都将使用 tf 命令行签入到我们的 TFS 服务器(当然忽略工作项或注释)。

因此,在 .NET 应用中,它会以编程方式构建 tf 所需的命令,用于处理和版本控制最近删除的文件,从而执行它们。

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

干杯

根据您的描述,您希望在生成/发布管道期间提交/签入文件。

这不是在生成管道期间签入生成的生成文件和修改源代码的推荐方法。如果确实要执行此操作,可以编辑生成工作区文件并在自定义活动中使用tf 命令,并调用 powershell eq:

cd $env:BUILD_SOURCESDIRECTORY
$TFFile = Get-Item "C:Program Files (x86)Microsoft Visual Studio 1x.0Common7IDETF.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 和 TFS:基础知识及其他

对于删除的文件的版本,您可以查看以下类似问题:TFS 生成复制到版本化文件夹 基本上,您必须使用自定义活动并基于build.buildnumber变量来自定义构建定义以生成/创建.zip文件。

最新更新