Svn how many projects per repository
Your first decision is whether to use a single repository for multiple projects, or to give each project its own repository, or some compromise of these two. There are benefits to using a single repository for multiple projects, most obviously the lack of duplicated maintenance. A single repository means that there is one set of hook programs, one thing to routinely back up, one thing to dump and load if Subversion releases an incompatible new version, and so on.
Also, you can move data between projects easily, without losing any historical versioning information. The downside of using a single repository is that different projects may have different requirements in terms of the repository event triggers, such as needing to send commit notification emails to different mailing lists, or having different definitions about what does and does not constitute a legitimate commit.
These aren't insurmountable problems, of course—it just means that all of your hook scripts have to be sensitive to the layout of your repository rather than assuming that the whole repository is associated with a single group of people. Also, remember that Subversion uses repository-global revision numbers. While those numbers don't have any particular magical powers, some folks still don't like the fact that even though no changes have been made to their project lately, the youngest revision number for the repository keeps climbing because other projects are actively adding new revisions.
A middle-ground approach can be taken, too. For example, projects can be grouped by how well they relate to each other. You might have a few repositories with a handful of projects in each repository. That way, projects that are likely to want to share data can do so easily, and as new revisions are added to the repository, at least the developers know that those new revisions are at least remotely related to everyone who uses that repository.
After deciding how to organize your projects with respect to repositories, you'll probably want to think about directory hierarchies within the repositories themselves. Note that it doesn't matter where in your repository each project root is. If you have only one project per repository, the logical place to put each project root is at the root of that project's respective repository.
If you have multiple projects, you might want to arrange them in groups inside the repository, perhaps putting projects with similar goals or shared code in the same subdirectory, or maybe just grouping them alphabetically. Such an arrangement might look like this:. Lay out your repository in whatever way you see fit. Subversion does not expect or enforce a particular layout—in its eyes, a directory is a directory is a directory. Ultimately, you should choose the repository arrangement that meets the needs of the people who work on the projects that live there.
In the name of full disclosure, though, we'll mention another very common layout. In this layout, the trunk , tags , and branches directories live in the root directory of your repository, and your projects are in subdirectories beneath those, like so:.
There's nothing particularly incorrect about such a layout, but it may or may not seem as intuitive for your users. Especially in large, multiproject situations with many users, those users may tend to be familiar with only one or two of the projects in the repository. But the projects-as-branch-siblings approach tends to deemphasize project individuality and focus on the entire set of projects as a single entity. That's a social issue, though. We like our originally suggested arrangement for purely practical reasons—it's easier to ask about or modify, or migrate elsewhere the entire history of a single project when there's a single repository path that holds the entire history—past, present, tagged, and branched—for that project and that project alone.
Before creating your Subversion repository, an obvious question you'll need to answer is where the thing is going to live. This is strongly connected to myriad other questions involving how the repository will be accessed via a Subversion server or directly , by whom users behind your corporate firewall or the whole world out on the open Internet , what other services you'll be providing around Subversion repository browsing interfaces, email-based commit notification, etc.
Trigger webhooks Integrate easily with systems you already use in your day-to-day using Bitbucket webhooks. See all integrations. More than 1 million teams and 10 million developers love Bitbucket. Simple plans hosted in the cloud. Priced to scale. USD X. Get started. Try it free. Want to learn more about our self-managed option? Watch the demo. Interested in our self-managed option?
A better way to build software. Let's assume that as repository administrator, you will be responsible for supporting the version control system for several projects. Your first decision is whether to use a single repository for multiple projects, or to give each project its own repository, or some compromise of these two. There are benefits to using a single repository for multiple projects, most obviously the lack of duplicated maintenance.
A single repository means that there is one set of hook programs, one thing to routinely back up, one thing to dump and load if Subversion releases an incompatible new version, and so on. Also, you can move data between projects easily, without losing any historical versioning information. The downside of using a single repository is that different projects may have different requirements in terms of the repository event triggers, such as needing to send commit notification emails to different mailing lists, or having different definitions about what does and does not constitute a legitimate commit.
These aren't insurmountable problems, of course—it just means that all of your hook scripts have to be sensitive to the layout of your repository rather than assuming that the whole repository is associated with a single group of people.
Also, remember that Subversion uses repository-global revision numbers. While those numbers don't have any particular magical powers, some folks still don't like the fact that even though no changes have been made to their project lately, the youngest revision number for the repository keeps climbing because other projects are actively adding new revisions.
A middle-ground approach can be taken, too. For example, projects can be grouped by how well they relate to each other.
You might have a few repositories with a handful of projects in each repository. This problem really stems from the fact that in Subversion branches are not a first-class concept, whereas in git they are. Multiple projects in one git repo? Asked 2 Months ago Answers: 5 Viewed 38 times. I'm an SVN user at the moment and looking at moving my projects to git.
I use one SVN repository to hold all the projects I create. I chose this sort structure because: Similar repo structure was used in the company where I learned to use SVN.
I was wondering: How this sort of workflow would work if I were to move to git? Specifically: Would it be simple to migrate the repo tree to git? David Arno. To add them, use this command with adjustments for prefix : git config --add svn-remote.
0コメント