【问题标题】:TFS - Versioning file in a drop folderTFS - 放置文件夹中的版本控制文件
【发布时间】:2018-04-17 22:30:19
【问题描述】:

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

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

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

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

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

提前致谢!

【问题讨论】:

  • 是时候升级 TFS 了。您使用的版本过时,不再受支持,并且缺少使此方案易于实施的许多功能。简而言之,您应该为您的软件设置构建和发布管道,并自动执行此过程。在 TFS 2010 中是可能的,尤其是在涉及第三方工具的情况下,但设置起来会更加困难。
  • 感谢您的回复,丹尼尔。我们很快就会升级到更新的版本,但现在我需要坚持使用这些旧东西,哈哈。您能否提供一些关于如何设置的快速步骤?不胜感激,干杯
  • 我刚给 Daniel Mann 投了一票,IMO 我们应该随着时间的推移改变技术。

标签: tfs version-control directory


【解决方案1】:

感谢 Daniel 和 PatrickLu-MSFT 的提示。

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

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

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

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

干杯

【讨论】:

    【解决方案2】:

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

    不推荐在构建管道期间签入生成的构建文件和修改源代码。如果您真的想这样做,您可以编辑构建工作区文件并在自定义活动中使用 tf commands 并调用 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 文件。

    【讨论】:

    • 此人正在使用 TFS 2010。没有“自定义任务”或“powershell 任务”。他们将不得不修改他们的构建过程模板。
    猜你喜欢
    • 2011-02-28
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    相关资源
    最近更新 更多