I have in the TFVC version control some files that are executable and others that are symlinks.
When you look at the changesets in the UI, we could see that the file has a property:

When using the TFVC API callVersionControl.QueryHistory() with the nuget package Microsoft.TeamFoundationServer.Client, I could also see that the change corresponding to the addition of the file has a property:
My problem is that using the TFVC Api, I don't know how to get the properties of this change.
I want to find a way to know what is the type of this "property" change type that is included in a changeset. Especially how to know if this "property" is the "executable" property or the "symlink" one.
TFVC seems to know that a file is a symlink because it display a little different icon (notice the arrow):
Type of object retrieved:
- changeset:
Microsoft.TeamFoundation.VersionControl.Client.Changeset - change:
Microsoft.TeamFoundation.VersionControl.Client.Change - file/item:
Microsoft.TeamFoundation.VersionControl.Client.Item(containing collections namedAttributes,PropertiesorPropertyValuesthat perhaps could contains the data but that are empty)
Internet or MSDN documentation is of no help here :(
Note: The goal is to add the support to git-tfs


You can check out the TfvcItem Class in Libray Microsoft.VisualStudio.Services.Client. TfvcItem object has
IsSymbolicLinkproperty to determine if the item is symlink or not.You can get the ChangeSets using TfvcHttpClient object method, and then get TfvcItem object. See below example:
See below TfvcItem object :