On 5/19/2010 11:34 AM, Hutchinson, Steve (UK) wrote:
Hi, We are currently branching into Subversion usage operating with VisualSVN Server (will upgrade to Enterprise when trials are complete) and a client side using TortoiseSVN. In general all very happy and things are all pretty seamless and obvious, but... I would like to introduce the concept of a "product" directory template that would be resident in each of our repositories. I guess at this point I should say that we are probably going to operate with multiple repositories where a repository is set up for each of our main "Projects". Then inside each of our repositories we would have many "products", each hopefully having a structure generated from our template. The reason I think we will operate in this fashion is because we will need to apply specific user security access rights to the "projects" and I am told by our IT administrators that this would be the simplest way of achieving this. Open to pointers on this too. I have managed to create the template structure (applying desired properties to the structure such as ignore patterns and logminsize etc) and then create new "products" in a repository based on the template.... simple copy function in a Tortoise repo-browser, not really rocket science.. But I am struggling to find a way of say importing this template into another repository and identify a mechanism, however manual, of keeping them in sync. I am trying to achieve as much as possible from a client interface as in general we do not have simple access to personnel with server access rights. I apologise if this is the wrong place to post this query but my web searching has not really managed to help so far I would appreciate any guidance, even if it is a pointer to another place to ask the question.
If you are planning to merge parts of files from template changes into other places as an ongoing process you might them all in the same repository, treating your "products" as branches so you can simply copy to get a new one, and merge changes into later revisions if you want. However, if you can arrange to put the common parts in separate files in a subdirectory, you can treat it like a component library that you pull into each of the product folders with an external reference. This reference can be pegged to a specific revision or tag, which can then be changed only want you want to a specific product to pick up a different revison of the component files. In the latter case it won't matter if the components are maintained in the same or a different repository. Note that you need admin access to create new repositories but client access is all you need to make branches or different subdirectories within one.
-- Les Mikesell lesmikes...@gmail.com