ROOTPLACEHOLDER is just a kind of place holder object that I had in the tree view to show all the branches below it. In TFS, It's possible to have many root branches and I thought having ROOTPLACEHOLDER on top of all the branches will show nice tree hierarchy
Get Changeset works against Branches only. It does not work against folders as there could be a large collection of folders in your project hierarchy and for large TFS projects this will be a big overhead to show everything in a huge tree view. This was
the main reason why we decided to keep branch objects as a base for generating changelog / release notes.
Now, it's possible for users to turn individual folder to a branch. For example if you have following heirarchy in your project....
then you can right mouse click on $PROJECTNAME/Main folder >>>> Select Branch and Merge >>> Select Convert to Branch option. This way you are differentiating standard folder to a branch object.
After converting to a Branch object, you can run TFSChangeLog application which will allow you to select Main within Branch Hierarchy tree view and you will be able to see all the changelog within that branch.
I hope this answers your question.