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

TFS-放置文件夹中的版本控制文件,tfs,version-control,directory,Tfs,Version Control,Directory,我们目前使用TFS2010来控制一些.NET项目 例如,我想知道是否可以在TFS中为网络共享上的特定文件夹提供某种版本控制 我们的想法是控制每次发布的发布包(ZIP)。由于这一部分是由其他人完成的(不是技术人员,他不使用VisualStudio或任何技术工具),因此最好简化每个版本的zip文件版本控制过程 从技术上讲: 我们已经设置了这个文件夹\servername\releasezips,每次我删除一个名为release.zip的文件时,它都会自动将该文件提交(推送)到TFS服务器(无需注释)

我们目前使用TFS2010来控制一些.NET项目

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

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

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

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


提前谢谢

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

建议不要在构建管道期间签入生成的构建文件并修改源代码。如果确实要执行此操作,可以编辑构建工作区文件,并在自定义活动中使用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)
另一种方法是安装并使用Windows PowerShell cmdlet签入文件。有关更多详细信息,请参阅此链接:

对于删除的文件版本,您可以查看以下类似问题:
基本上,您必须使用自定义活动自定义生成定义,并基于
build.buildnumber
变量生成/create.zip文件。

感谢您的提示,Daniel和PatrickLu MSFT

正如我所说的,我确实想要一种严格的控制,类似于box.com提供的控制,即将机器上的本地文件夹与云关联。因此,一旦您将文件放入本地文件夹,small box客户端就会将其与云同步。如果访问box.com,我可以看到该特定文件的不同版本

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

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

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


干杯

是时候升级TFS了。您正在使用的版本很古老,不再受支持,并且缺少几十个使此场景易于实现的功能。简而言之,您应该为您的软件建立一个构建和发布管道,并使这个过程自动化。这在TFS 2010中是可能的,特别是如果您使用第三方工具,但设置起来会困难得多。谢谢您的回复,Daniel。我们肯定会很快升级到一个新版本,但现在我需要坚持使用这个老东西,哈哈。你能不能给我提供一些快速的步骤,让我如何设置这个?我很感激,我刚刚投了丹尼尔·曼一票,我认为我们应该随着时间改变技术。此人正在使用TFS 2010。没有“自定义任务”或“powershell任务”。他们必须修改他们的构建过程模板。