We are currently using SVN. But yep, familiar with how to get the size on the development machine or local machine.
The 2,000 artifacts was just an example and very close to the disk size but here are the numbers:
- Size: 2 GB
- Artifacts: 17,890
- Folders: 1,400
Now, that is for 1 project. For instance, I am currently involved in 3 and each on it's own branch off the main/trunk. So that's about 6 GB in disk space. 53,670 artifacts, 4,200 folders.
It took a good 15 minutes to download locally for each one of those branches. As may know, SVN downlaods the file and meta for the .svn to track each artifact. Much like TFS would with it's local workspaces. (TFS 2012 with the predominant local workspace.)
The really sad thing, is on 1 project I had a total of 10 artifact changed, the 2nd - about 22, the 3rd - 2.
I want to come up with a plan to not require a download of all that yet keep the identification of each project and artifacts comprising the project for isolation merges. So, that if let's say the release upcoming was initially scheduled for the 3 projects
turned out in the midst of system testing that only 2 of those 3 were going to go in; I need to be able to remove the 1 of those identified to NOT go in and remove all the elements. Yielding the system and only those 2, rebuilding and having those in just
I thought about the use of version labels. That would avoid the need of branches and all BUT labels in TFS and in VSS are risky as the reason: they are free-form text on the name which means one developer could label something "Test" and the other
developer labeling it "test" (really meaning "Test"). I have used things like PVCS which had the promotion group that was staticly named which enforced consistency and they had the version label as well that was not static. However it was
somewhat slow, a little outdated and did not integrate well with VS as TFS does, and work with a fully integrated bug tracking and build aspect as well and the other features of TFS.
I have figured a way to remove about 2,000 of the 17,900 which comprise common elements like the DAL and Placeholder logic as well as other "common" items. I would put them in a separate tree structure on the same TKC and using the builds for a reference.
As well, the projects downloaded would use a reference to the static locations as well. That would require the "common" to be downloaded onces into the workspace and each project having a reference to that workspace. However, that still leaves about
15,900. By the way, not of those artifacts in the 3 projects are touching the common anyway.
I'm sorry about all the detail. Just wanted to do my best to explain what I'm dealing with and what I'm trying to avoid in the use with TFS. Again, I haven't really found any good information on any of the materials and documents that outlines a good way of
dealing with something like this.
Any information, ideas, suggestions you have would be greatly appreciated.