从TFS 2015开始,微软在TFS系统中增加了一个非常吸引开发人员的功能,“快速代码编辑器” (Quick Code Editor)。使用这个功能,你可以在任何安装了浏览器的设备上编辑TFS服务器中的源代码;你可以脱离庞大的IDE开发工具实现快速代码更新。如果在TFS系统配置了持续集成和持续发布(CI/CD),那么开发人员使用浏览器,就可以快速更新测试环境/生产环境中的功能。这个功能一经推出,马上收到了广大TFS用户的喜爱。

但是在使用过程中,许多客户跟我抱怨,如果对用户的默认权限进行了设置以后,发现无法通过浏览器更新源代码,也不能上传文件,系统提示“TF14098: 拒绝访问: 用户 张洪君 需要 $/金融风险管理系统/微信图片_20170822215012.jpg 的 PendChange 权限。”(如下图)。而与此同时,用户却可以在Visual Studio中签入修改源代码。出现这样的现象,大家觉得难以理解。

通过对用户权限设置的检查,我们发现,使用浏览器的文件更新功能,用户必须具备“签出”(在TFS 2017中改名为“挂起服务器工作区中的更改”)权限。

这个“签出”权限在TFS 2010以后,我们就较少用到。这是因为TFS 2010开始引入了本地工作区和服务器工作区的功能,且默认设置中,用户的工作区为本地工作区。

  • 在服务器工作区模式下,如果用户没有签出权限,是不能对源代码做任何修改的。如果你尝试在Visual Studio 中修改代码,系统会提示“TF14098: 拒绝访问: 用户 张洪君 需要 $/金融风险管理系统/README.md 的 PendChange 权限。”(如下图)。
  • 在本地工作区模式下,即使没有这个权限,用户也可以修改代码。当用户更改源代码时,TFS客户端会自动将文件标记文签出状态,但是这个状态是保留在本地,不会存储到TFS服务器通知其他用户。但是用户如果尝试签出并锁定文件时,则系统会提示上面相同的错误信息。

(微软ALM MVP 张洪君 http://www.cnblogs.com/danzhang

从上面的分析可以得出结论,TFS的快速代码修改功能(Quick Code Editor)使用了服务器工作区的配置信息。因此,只有配置了“签出”(或“挂起服务器工作区中的更改”)权限的用户,才能通过浏览器更新代码库中的文档、源代码等文件信息。

【注意】这项权限设置,仅影响TFVC代码库的权限设置,Git代码库的权限与TFVC完全不一样。

【TFS 2017】使用浏览器上传文件(TFVC)或者编辑代码,错误提示TF14098,需要对文件有PendChange 权限的更多相关文章

  1. 如何上传网站程序(文件浏览器上传网页、FileZilla上传网站程序)

    问题场景: 网页制作完成后,程序需上传至虚拟主机. 注意事项: Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . Linux系统的主机请将全部网页文件直接上传到 /htdoc ...

  2. 使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件

    使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件 原来的写法: <input type="file" accept="image/x-png ...

  3. SpringMVC+Ajax实现文件批量上传和下载功能实例代码

    需求: 文件批量上传,支持断点续传. 文件批量下载,支持断点续传. 使用JS能够实现批量下载,能够提供接口从指定url中下载文件并保存在本地指定路径中. 服务器不需要打包. 支持大文件断点下载.比如下 ...

  4. spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

    spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ ...

  5. java 附件上传、下载前后端代码

    前言:业务需要:附件上传,需要同时满足浏览器上传,和APP上传附件,并且浏览器端不可使用form表单提交,因为表单提交无法直接获取返回值,除非刷新页面才可显示上传的附件.所以此处使用ajaxfileu ...

  6. 百度编辑器上传大视频报http请求错误怎么办

    百度编辑器UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码,所以受到很多开放人员的青睐.但是有时 ...

  7. Android上传图片到PHP服务器并且支持浏览器上传文件(word、图片、音乐等)

    暑假已经过了一半了,这才完成计划当中的第二个任务.虽然进度是慢了点.但也算是暑假的收获吧.下面我就把我学习当中的收获记录在此. 还是跟以往一样,先上图片. 操作的步骤:打开程序---->选择上传 ...

  8. IE浏览器上传文件时本地路径变成”C:\fakepath\”的问题【转】

    转自:http://www.iefans.net/ie-shangchuan-bendi-lujing-fakepath/ 在使用<input id="file_upl" t ...

  9. uploadify上传文件Firefox浏览器上传失败解决方法

    近期做文件上传使用到了uploadify 可是出现了各种奇葩的问题.并且针对各个不同浏览器问题不同 在Firefox中.非常坑爹的是.每次上传就丢失session值,可是我的系统在登录.保存文件文件夹 ...

随机推荐

  1. 2021工厂增加2322仓位需求,参与FP分析

    在以下语句取消2322工厂即可 INSERT INTO STG.SAP_MARD(MATNR, WERKS, LGORT, LABST, UMLME, INSME, EINME, SPEME, LGO ...

  2. Linux删除文件名中包含“-”的文件

    背景: 练习用shell的一些特殊符号,输出了一个 cat test.txt > -n,结果创建了一个叫做“-n”的文件   问题: 使用rm -f -n删除不了“-n"文件   解决 ...

  3. js:二级联动示例

    联动原理 当用户点击省级的下拉选项,选择所在省,下一个下拉选项里的选项,则变成用户选择省下的所有市的信息,不会出现其它省市的信息. 省市数据 把省市数据,保存在js文件中,以json形式保存,以便读取 ...

  4. Spring声明式事务管理(基于XML方式实现)

    --------------------siwuxie095                             Spring 声明式事务管理(基于 XML 方式实现)         以转账为例 ...

  5. MySQL基本操作之命令行操作

    MySQL基础操作 MySQL基础操作--命令行操作

  6. ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型

    今天遇到varchar2类型数据不够大,需改为clob类型.Oracle中,如果一个列的类型为varchar2,那么它不能直接转换为clob类型.可以通过间接的方式来修改. 就是把原来的字段删掉,重新 ...

  7. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  8. Vue2.0 keep-alive 组件的最佳实践

    1.基本用法 vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗 <keep-alive> <component> <!-- ...

  9. 设计模式之Adapter设计模式

    这个设计模式是我这两天刚学的,这儿算是我的读书笔记发布出来是供大家一起学习,后面有我自己的感悟,下面是我网上整理的 以下情况使用适配器模式 • 你想使用一个已经存在的类,而它的接口不符合你的需求. • ...

  10. system v消息队列demo(未编译)

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <errno.h> ...