我假设这个:
tf.exe get $/project /recursive
Run Code Online (Sandbox Code Playgroud)
...需要这个奇怪的工作空间映射,已知的TFS服务器等.
有什么方法可以做这个最简单的事情:使用这组凭据连接到这个 TFS服务器,获取该项目的最新源代码并将其放在这里?全部来自命令行.
Ray*_*yes 21
首先,您是否想要不再受源代码控制(例如SVN导出)的受控文件的副本,或者您是否仍希望使用这些文件和TFS?
如果您只是想要一份最新文件的副本并且没有"绑定"到TFS,那么您将不得不自己做一些工作.抛开凭证([/login:username,[password]]参数到许多命令行方法).
TF命令获取文件列表:tf dir "$/YourSolution" /Recursive > files.txtfiles.txt一些聪明的批处理文件(或使用脚本语言):$/,这是目录,在目标中创建目录(删除前三个字符和最后一个字符,一个冒号).%file%和目录中%dir%,然后发出以下命令(对于该目录中的每个文件) ): tf view "$/%DIR%/%FILE%" "/output:Your-Target-Path/%DIR%/%FILE%"
或者如果您对目前的目录感到满意:
tf view "$/%DIR%/%FILE%" "/output:%DIR%/%FILE%"
注意,您需要%DIR%/%FILE%在输出部分或所有文件中将其转储到同一目录中.
注意:这可能是非常高的带宽和慢速操作!
tf workspace /new /collection:<URL_TO_SERVER> /permission:Private注意,这将提示,有一个无提示选项,但确定工作区的名称留作练习)LOCALDIRtf workfold /map "$/SERVER_DIR" "LOCALDIR"LOCALDIRtf get . /Recursive此时,您现在应该拥有所有文件,如果您需要,还可以使用TFS绑定,以便提交更改.或者,您现在可以将内容复制到其他位置并中断映射/工作区.使用正确的命令行变种tf workfold /unmap,并tf workspace /delete会取消映射你的workfolder和删除工作区.
从TFS干净地导出任何文件夹?终于找到了一个很棒的解决方案.
我现在不打算为你完全研究这个,但是当我得到时间时,打算用这个替换我非常凌乱的构建服务器工作区同步脚本.
解:
使用Microsoft的Git-TF将源代码转换为磁盘,而无需设置工作区或任何东西.我尝试了这个命令,它工作得非常好.认为它适用于TFS 2010和2012.根据我的理解,将不会有任何绑定或工作空间或任何遗留下来会导致问题.我想你需要安装的只是GIT和GIT-TF.
http://www.microsoft.com/en-us/download/details.aspx?id=30474
您实际上将文件放入GIT存储库,这根本不是问题.您将在导出的文件夹中获得一个名为.git的(隐藏?)文件夹,我想您可以简单地将其删除以消除任何GIT痕迹.
如果有人实现了这个,这应该很容易,请确认它按预期工作.
| 归档时间: |
|
| 查看次数: |
21952 次 |
| 最近记录: |