It sounds like you're trying to avoid having to explicitly checkout files when you change them. Team Foundation Version Control has this functionality already.
Team Foundation Version Control operates in two modes:
Checkout / edit / checkin, where you need to explicitly checkout a file for edit before changing the contents. The file is even marked read-only (
0444
) until you runtf checkout <filename>
.Edit / merge / commit, where you can edit a file at any time, and running
tf status
will examine your local filesystem for changes and mark each change as anedit
.
The latter is called "local workspaces", and can be enabled by passing the -location:local
flag to tf
when creating the workspace. For example:
tf workspace -new Workspace01 -location:local -collection:https://tfs.visualstudio.com/DefaultCollection
After that, you can edit files without needing to pend the changes explicitly.