【TFS 2017】使用浏览器上传文件(TFVC)或者编辑代码,错误提示TF14098,需要对文件有PendChange 权限
从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 权限的更多相关文章
- 如何上传网站程序(文件浏览器上传网页、FileZilla上传网站程序)
问题场景: 网页制作完成后,程序需上传至虚拟主机. 注意事项: Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . Linux系统的主机请将全部网页文件直接上传到 /htdoc ...
- 使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件
使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件 原来的写法: <input type="file" accept="image/x-png ...
- SpringMVC+Ajax实现文件批量上传和下载功能实例代码
需求: 文件批量上传,支持断点续传. 文件批量下载,支持断点续传. 使用JS能够实现批量下载,能够提供接口从指定url中下载文件并保存在本地指定路径中. 服务器不需要打包. 支持大文件断点下载.比如下 ...
- spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置
spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ ...
- java 附件上传、下载前后端代码
前言:业务需要:附件上传,需要同时满足浏览器上传,和APP上传附件,并且浏览器端不可使用form表单提交,因为表单提交无法直接获取返回值,除非刷新页面才可显示上传的附件.所以此处使用ajaxfileu ...
- 百度编辑器上传大视频报http请求错误怎么办
百度编辑器UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码,所以受到很多开放人员的青睐.但是有时 ...
- Android上传图片到PHP服务器并且支持浏览器上传文件(word、图片、音乐等)
暑假已经过了一半了,这才完成计划当中的第二个任务.虽然进度是慢了点.但也算是暑假的收获吧.下面我就把我学习当中的收获记录在此. 还是跟以往一样,先上图片. 操作的步骤:打开程序---->选择上传 ...
- IE浏览器上传文件时本地路径变成”C:\fakepath\”的问题【转】
转自:http://www.iefans.net/ie-shangchuan-bendi-lujing-fakepath/ 在使用<input id="file_upl" t ...
- uploadify上传文件Firefox浏览器上传失败解决方法
近期做文件上传使用到了uploadify 可是出现了各种奇葩的问题.并且针对各个不同浏览器问题不同 在Firefox中.非常坑爹的是.每次上传就丢失session值,可是我的系统在登录.保存文件文件夹 ...
随机推荐
- HTML5 historyState pushState、replaceState
DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,让你可以在用户的访问记录中前进和后退. 从HTML5开始,我们可以开始操作这个历史记录堆栈. 1.Histo ...
- TensorFlow—张量运算仿真神经网络的运行
import tensorflow as tf import numpy as np ts_norm=tf.random_normal([]) with tf.Session() as sess: n ...
- CentOS 安装 Docker CE
准备工作 系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10. CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overla ...
- jquery获取当前屏幕宽度
参考文章 <script type="text/javascript"> $(document).ready(function() { alert($(window). ...
- catkin-tools
http://catkin-tools.readthedocs.io/en/latest/cheat_sheet.html 一.Initializing Workspaces初始化工作空间 初始化具有 ...
- Django模型之Meta详解
Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...
- [freeCodeCamp] solution to HTTP JSON API SERVER passed!
var http = require('http') var url = require('url') function parsetime (time) { return { hour: time. ...
- 测试用例excel模板
Index Precondition Action Test Data Expect Result Excute Date Pass/Fail
- com.opensymphony.xwork2.config.ConfigurationManager.addConfigurationProvider
一月 31, 2016 5:06:31 下午 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting f ...
- linux 静态链接库demo
目录结构 ./main.c #include<stdio.h> #include "./lib/jtlib1.h" int main() { pr ...