I’ve been working with VSTS Version Control for a couple of weeks now and my list of gripes and problems grows and grows. Before I categorise it a step above VSS, which would put it a step above the bottom, I need to list the things that really annoy me:
- It sets the read-only attribute on files.
- It does not know if a file has changed locally or not. File status is checked using the read-only attribute.
- It cannot handle writeable files that have not been explicitly checked-out.
- Explicit check-outs.
- It cannot handle synchonising on a shared drive (or through a VM – somehow setting read-only fails).
- It gives me no local view of my workspace, it only gives me the server view of my workspace.
This is heaps of trouble. No easy way to add files to version control since you can’t really see the files that are not under version control.
- Workspace settings are saved on the server.
- Generally bad performance, since all operations are made against the server.
- Once you remove the connection all hell breaks loose. You end up clicking N dialogs to confirm that VS should work offline and not bother with version control.
These are constant annoyances that delay, obstruct and generally sour the mood when working with the tool.
I find that the architecture chosen for the VSTS version control is at heart flawed, aside from feeling like an ancient relic when compared with systems like git, mercurial or monotone.
And I haven’t yet tried to do “fancy” stuff like find out the version of a file from the command line…