Add support for Team Foundation Server repositories.
Review Request #6646 — Created Nov. 25, 2014 and submitted
This change adds a new client for TFS (TFVC). It relies on the presence of the
'tf' command-line tool, which is available either as part of Visual Studio (on
Windows) or via the "Team Explorer Everywhere" package (which is a java
application that can run on just about any platform).This is intended for use with the TFS SCMTool which is being developed as part
of the Power Pack.Diffing is done basically by hand, because the 'tf diff[erence]' command is
kind of crummy, even when calling out to GNU Diff via the TF_DIFF_COMMAND
environment variable. In particular, when there are added/deleted files, rather
than including the diff for that file, it just says something like "X is only
present in revision Y". The diffing logic matches that which is used for the
post-commit implementation in the TFS SCMTool.At the moment, this only supports posting pending changes from the working
directory. There's the beginning of an implementation for committed change
ranges, but when there are moved files, there's no way to match up the orig
file (delete) from the new file (add). I do intend to have it try its best to
post and only give up if a changeset includes more than one moved file, but
that will come later. For now, committed changes can be posted via the web UI.
- Posted review requests that had edited files, added files, deleted files,
renamed files, and moved+edited files. - Verified that binary files were shown correctly.
- Ran unit tests.
Description | From | Last Updated |
---|---|---|
Col: 80 E501 line too long (86 > 79 characters) |
reviewbot | |
I imagine we'd be impacted by the version number, right? Can we scan for directories with those prefixes? Also, the … |
chipx86 | |
Col: 80 E501 line too long (84 > 79 characters) |
reviewbot | |
Do we want to break after we find one? |
chipx86 | |
No blank line. |
chipx86 | |
No blank line. |
chipx86 | |
Same. |
chipx86 | |
Same. |
chipx86 | |
Summary on the first line. |
chipx86 | |
Col: 80 E501 line too long (81 > 79 characters) |
reviewbot | |
These are unrelated. Blank line here. |
chipx86 | |
Same here. |
chipx86 | |
We should build as a list and then join, for performance reasons. |
chipx86 | |
Col: 80 E501 line too long (80 > 79 characters) |
reviewbot | |
Blank line here. |
chipx86 | |
Missing period. |
chipx86 | |
We can do as e now, right? |
chipx86 | |
Two blank lines. |
chipx86 | |
Col: 1 E302 expected 2 blank lines, found 1 |
reviewbot | |
Should be one line. |
chipx86 | |
I think we've had to do this in a few other places as well. How about we add a get_all() … |
chipx86 | |
Col: 80 E501 line too long (87 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (85 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (87 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (85 > 79 characters) |
reviewbot |
-
Tool: Pyflakes Processed Files: rbtools/commands/status.py rbtools/commands/setup_repo.py rbtools/clients/tfs.py rbtools/commands/__init__.py rbtools/commands/diff.py rbtools/commands/post.py setup.py Tool: PEP8 Style Checker Processed Files: rbtools/commands/status.py rbtools/commands/setup_repo.py rbtools/clients/tfs.py rbtools/commands/__init__.py rbtools/commands/diff.py rbtools/commands/post.py setup.py
-
-
- Change Summary:
-
Whitespace.
- Commit:
-
57ca3bfe12fda7a2b08a531c2221aebfcbbd4b22a34f92e78376f734011162c10060f74a8d7a401d
-
Tool: PEP8 Style Checker Processed Files: rbtools/commands/status.py rbtools/commands/setup_repo.py rbtools/clients/tfs.py rbtools/commands/__init__.py rbtools/commands/diff.py rbtools/commands/post.py setup.py Tool: Pyflakes Processed Files: rbtools/commands/status.py rbtools/commands/setup_repo.py rbtools/clients/tfs.py rbtools/commands/__init__.py rbtools/commands/diff.py rbtools/commands/post.py setup.py
-
-