简体   繁体   中英

The best way to work with SVN

I'm trying to implement SVN in my organization. We have 2 servers: production and development. Some programmers have their own copy of the system.

How we work at this moment: Development server is under trunk. Some programmers work directly on it. If programmer has his own copy - he has private branche in svn.

The main problem is with production server. In our system we have no release versions, so - no tags in svn. I've created separate branche for production - master. If we need to transfer some commits from develop to production - we merge trunk and master branch.

Maybe there are other ways to transfer and control changes to production server? Or use a different version control system?

I'm not sure what you mean with "programmers have their own copy"...if you are using SVN, they all must have a local copy in order to work.

Anyway, I'll recommend having a read at the Version Control with Subversion (the SVNBook) , more specifically at the basic working cycle and check how tags are used. It is definitely easier to use than merging your branches against the trunk each time you want to make a 'release', although sometimes you'll have to do this anyway.

You can also consider using other SCM, such as Git , Mercurial or Bazaar . I really like Git, but Bazaar probably is one of the best SCM ever designed: easy to use and as good as Git. Git is really nice but can take some time to master, specially if you come from SVN.

Switching from one SCM to another is no easy task, specially if you have already quite a lot of repositories, so if you plan to do so, do it first with a small one, test it, try to keep version history from SVN (there are tools for these if destination is Git) and then go for the big one.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM