All - I have read several posts here about svn repositories layout best practices and unfortunately none of them have helped me decide what route is best for us, so I would like to ask for your opinion on how you would structure a repository based on this information:

  1. Moving forward most of our code will be developed in C# and be .NET applications.
  2. Our previous web development was done in Java.
  3. We have some REALLY old programs developed in Delphi that are not modified much and when we move to our new case management system all the Delphi applications will be obsolete.

Based on these bits of information would you have a single repository for all the different source code or have a repository for each type of source (ie one Delphi repository, one Java and one .NET)?

Remember, in a year or so all the Delphi code and a lot of the Java code will be obsolete. Which makes me think having them in separate repositories might be the best way to go since we won't be needing to keep any of that code after our migration.

So, my question is basically would you have a single repository or 3 separate ones for each type of code?

Thanks! Leslie

有帮助吗?

解决方案

Actually the decision on what goes into one repository should depend on how these projects/ applications are related, not what language they are in. Stuff thats not related should not be in one repo.

As it is a migration you could have separate repos for the new stuff (.net) and the old stuff (java+delphi), if you really want to throw it away afterwards.

And as you wrote "applications" - maybe you should consider several repos for the new software!? Putting too much into one repository makes it less flexible. Depending on what your projects really are that could also mean that you end up with several differently mixed repositories...

其他提示

Have you looked at Git? Is there a reason why you're choosing SVN over Git? The reason why I ask is because we made the transition about a year ago, and it's been night and dare. For us, you really could not compare where we were with Subversion and Git now. It's been a huge step in the right direction. Obviously that was for us, so your mileage may vary, especially with what your devs are used too.

We were in a slightly similar situation when we decided to switch to Git. We have multiple parts of our overall application and our online presence, that was all centralized in our SVN repo. Which worked fine, but we ended up going to a different direction for a few different reasons, namely the fact that each can independently support itself, and live on a different server setup. There was a huge push to make that happen prior to moving over to Git for us, but we have really benefited from it. We now have separated our business processes from our main app, which has allowed us additional stability and security in our infrastructure.

Is all of the Java and Delphi code required to maintain and run your application currently? If the answer to that is yes, and will remain yes for the short-term, I would definitely put it all in one repo. If you go the Git route, if you absolutely want to maintain them separately, you could use branches to help you out with that. But I don't really see much benefit to storing them in separate repos. Once you've refactored your code to no longer use them, then you can easily remove them from the repo, and still have all of the revision history associated with it.

This is of course not knowing all the intricate details of your business and application(s). You're going to know what's best in that regard.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top