Which Windows SVN server should I use? [closed] - windows

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
On the SVN Windows binaries download page, there are a few to choose from:
http://subversion.tigris.org/getting.html#windows
Are there pros and cons to the different versions provided by the different organizations?
Is there anything I should look out for?
Mainly, I just want something free that I will be running off my Vista laptop. Then I will probably do backups of the SVN files from time to time to an external hard drive.

We chose VisualSVN bec it makes it easy to use windows authentication instead of having a separate SVN user.
Other benefits is an easy to use GUI for permission management and for managing SVN hooks.
The one thing I'm not a real fan of is the web GUI. As far as I know you cannot view web based diffs, so if that makes a difference....

My friends who run a Windows shop speak highly of VisualSVN

I've just configured win32svn server according to this article by Jeff Atwood.
In contrast to VisualSVN win32svn is not so tightly integrated to Windows, orientated on terminal usage and open sourced under Apache License.

All of these solutions setup the standard Apache HTTPD server with Subversion integration. They do no real magic.
UberSVN and VisualSVN provide a pretty front end interface, but behind the scenes, it's just standard Apache setup. If you are not a CM, and don't want that to be your job, that's not a bad alternative. However, do not ever try to tweak the configuration behind their backs. They will either revert the changes, or really mess things up.
However, I use Apache httpd in order to access my Windows Active Directory. I setup my users, so their Windows account and password are their Subversion account and password. I setup a Active Directory Security Group or a Active Directory Exchange Group as my authorization database. If a user is a member of this group, they have access to the repository via their Windows login. If not, they don't have access. Clean and simple. I am no longer in the user authorization business which gives me more time to play Candy Crush ..I mean.. other CM work.
Otherwise, I might as well just use svnserve: It's faster than Apache httpd, much easier to setup, and more stable too.
If you're not going to use Active Directory as your authorization backend, you are technical, and don't mind getting your hands a bit dirty, I would use either play svnserve (and set it up as a Windows Service. No need for any of these packages.
If you are going to use Active Directory as your authorization backend (and why not?), I would use CollabNet Subversion Edge to help setup Apache httpd and Subversion and do all of my configuration manually. Setting up Active Directory via LDAP via Apache httpd isn't really that difficult, and once done, you probably never have to touch again. The documentation on integrating Apache httpd/Subversion/LDAP/ActiveDirectory can easily be found.
I suggest you look at the on line Subversion Documentation and go through it. If thinking about using the svn command line client makes you woozy, then get VisualSVN or UberSVN and let them take care of things for you. If you don't mind going all 1990 with your computer, then forget about the pretty front ends, and use CollabNet Edge.
One more thing, I am not a fan of ViewVC that comes with CollabNet Edge. It has to use file:// protocol and must run on the same server as your Subversion server software. Instead, I prefer Sventon. It can run on a separate server, and you can use the same credentials as your standard Subversion credentials. Plus, I like the interface a bit better.

Putting in a vote for CollabNet Subversion Edge, it's dead simple to set up and administer via a web frontend. I'm comfortable editing config files if I must, especially coming from a Linux environment, but it's nice not to be required to do so - CollabNet makes that easy.

We use an Apache SSPI module with the Collab.Net subversion server.
Has worked perfectly for us.

Try UberSVN http://www.wandisco.com/ubersvn/download#windows
The only downside is that is requires lot of server memory. Best free SVN server I ever tried. VisualSVN free version is OK as well.

Related

Integrate a Mac Computer on an Existing TortoiseSVN Repository

We're currently using TortoiseSVN for versioning our many websites. It's been only Windows users so far but we're adding another developer that uses a Mac. Is there a Mac program that will integrate with the TortoiseSVN repositories we already have?
Please do not reply with suggestions of SVN clients to use on a Mac. I am looking for a solution that works with an existing repository.
It could work but accessing a repository via file share is not recommended, highly discouraged, and unsupported. From the TortoiseSVN manuall:
Although in theory it is possible to put a FSFS repository on a
network share and have multiple users access it using file://
protocol, this is most definitely not recommended. In fact we would
strongly discourage it, and do not support such use.
Firstly you are giving every user direct write access to the
repository, so any user could accidentally delete the entire
repository or make it unusable in some other way.
Secondly not all network file sharing protocols support the locking
that Subversion requires, so you may find your repository gets
corrupted. It may not happen straight away, but one day two users will
try to access the repository at the same time.
Thirdly the file permissions have to be set just so. You may just
about get away with it on a native Windows share, but SAMBA is
particularly difficult.
file:// access is intended for local, single-user access only,
particularly testing and debugging. When you want to share the
repository you really need to set up a proper server, and it is not
nearly as difficult as you might think. Read the section called
“Accessing the Repository” for guidelines on choosing and setting up a
server.
In other words: don't. Set up a proper repository with access via SSH or HTTP and then any client will work.

VisualSVN over distributed machines?

I'm new to SVN. I've downloaded VisualSVN SErver and VisualSVN client with TortoiseSVN.
The problem is: we are group of 4 ppl and are developing a website on ASP.Net. I want the solution file to be in a repository on a machine which can be a server (desktop). The rest are all laptops trying to gather the updated data. We are working from different locations too. I want to know if Apache Subversion can work through the Internet? How can it be configured?
We are all running Windows and Visual Studio 2008.
I'm a little confused by your question (see my comment), but if you are wondering the best way to use SVN to manage the development of your ASP.NET website, I don't see why you can't include the solution file directly in the SVN repository. When your developers want to work on SVN, they sync with the repository and bring down the entire solution (including source, SLN file, properties, etc). Then, they can work locally on their machine developing the website.
Again, your question is a bit confusing, so I am not sure how else to answer.
Update
Thank you for clarifying your question. If the laptops do not have access to a local server you can do one of two things.
If you want to use Subversion, you can setup a server that is internet-facing - AKA, it's accessible from the net. However, this does require a little bit more work as you will need to have an address for them to point to, etc. But, in essence, this is no different than accessing on a local network, it's just a different address.
Another possibility is to use a different type of source control. Git or Mercurial comes to mind. Both of these products are distributed version control systems. Basically, if you aren't connected to a network, you still "submit" your product to the control system and, then, when you can connect back to the network, you merge your changes in with the main system on the network. It works very well (though is a bit more complicated to understand than Subversion).
Hopefully that helps you. (And, if it does, you can accept this as an answer to your question, which I would appreciate.)
Subversion is designed to work effectively through Internet. Updates/commits uses delta algorithm to transmit only changed parts of tree.
Just do not forget to enable SSL encryption to prevent data sniffed.

Recommendation for code hosting of personal projects [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I tired my hands on bazaar(launchpad), for the reason that i can host my project at launchpad, and bazaar (my local machine) would be tightly integrated with launchpad. I have posted my question at launchpad forum, and have not got any answer. Anyways...
So i was thinking about shifting it from there to some other site. I dont know why, but couple of friends said sourceforge has not remain that good, but i still see too many project linking to sourceforge.
PS recommendation. Is there a place where you guys upload your personal projects, and also SVN I think is the most popular, but with git/bazaar, I dont know if it just a hype or distributed version controlling is really the way to go.
I'm very happy with Assembla for my personal stuff. They offer all kinds of version control and project management tools (SVN, Git, Trac, etc). It's free for public projects (though there is a storage limit for these) and they offer rather affordable private plans (which I like a lot for managing my personal stuff with tickets, wiki etc).
I have many personal projects at Google Code. It's easy to use, and lets other people find and use my code.
For minor personal projects (mostly projects I show off on my web site), I actually use Dropbox. It's got what I need for my own needs:
I can work on my code on several machines (it syncs files across machines.)
I can access my files through the web (it has a web interface.)
If I need to go back to an old version of a file, or restore a deleted file, I can do that through the web interface (it stores a revision every time the file is modified, and it's easy to see a list of versions and download them or choose to replace the current version.)
It's also got support for making part of the structure public, so that others can download the latest version of the code. You can even share the folder so that others with Dropbox can modify the files.
Check it out!
Well, there's 2 problems here. 1) What to use for SCM, and 2) Where to host your project. I'd settle on a SCM system first, then choose a host that you like which supports your provided system. As for personal preference, I like SVN, and have been hosting projects at google code lately. Google code is kind of new, and not super feature-rich, but isn't too bad as far as hosts go.
Mercurial (and Git I believe) has a built-in web interface that easily links to your repository and allows you to host the code yourself. It provides a customizable web interface for code browsing, and allows other to clone a repo from your site instead of from SFEE. Additionally, you can set up password protection to allow a certain set of users to check into each repository.
Check out this link to see how to host repositories using Apache, and this link for Mercurial info in general.
http://bzr.bz (my project) does private bzr + trac hosting
its not free but its cheap
perfect for personal projects etc.. that are not open source
I can't believe nobody as mentioned Github yet! Github offers free git hosting for open source projects, and paid hosting otherwise.
Beanstalk offers free SVN hosting, but with a Diskspace limit of 100MB and only 3 users. You can pay to have it upgraded.
Both of these are good choices (Depending on whether or not you like Git/SVN of course), and are obviously globally accessible via the internet.
It might be a late answer by now, but personally I recommend http://repositoryhosting.com/
They offer SVN/GIT/HG hosting with Trac support, WebDAV, unlimited projects/unlimited users for 6$ a month.
I've tried other providers (assembla, github and even tried to put it on my own server), but this deal beats all competitors. I was even able to put it on my own subdomain.
Their interface is a bit minimalistic, but it does the job very well.

How can one setup a version control system on a local network, without a server?

Edit: Ok so I learned that I guess I need an distributed source control, however are there any UI based ones, and do they allow you to merge with other users on the network?
This is kind of a two part question, so here it goes. I want to start developing a web application at home (with multiple developers). However, I don't have a dedicated server nor want to pay for on.
So first, I don't know which version control system to use for this case, as at work we mostly have TFS setup, so I am not to familiar with whats out there. What are the best free CVS/SVN tools out there?
Second, is it possible to somehow setup the CVS/SVN where there is no dedicated server and both clients store up to one week of the source code from the last check-in?
Also, it would be helpful if it could integrate with visual studio, again this isn't that important at all.
Problem:
There are Five users, one is a Server.
Server Connected: All Ok
Server Disconnected: No one can share.
What I am looking for:
No Server:
Users still have versioning based on version id of last check-in.
Users must check all version on network to make sure they aren't outdated based on their last version id.
If not check-in, otherwise merge/get latest.
If they are update checkin, and set current version id +1.
If your looking for a source control that DOESN'T have a central repo, you are looking for a distributed source control system such as Git or Mercurial.
The best free CVS/SVN tool is SVN.
Plus it's easy to setup an SVN server on any machine. Read the fine manual.
I assuming that at some point your developers will connect to each (perhaps on your LAN) to merge all your code. If this is the case I would highly recommend using a DVCS (Distributed Version Control System). The popular kid on the block is Git, but there are others like Mercurial. If you primarily develop on windows Mercurial seems to have better support. The main benefit of a DVCS is that they are designed for teams that are disconnected.
Hope that helps.
Rom
You should probably be interested in VisualSVN server. Its has free edition witch will be sufficient for all your needs. By the way, toroise SVN supports even repositories on any folder or a flash drive, so you have no need in a separate server. As for inrtegration with VS, Visual SVN can help you, but it is not free. Enjoy =)
For a low learning curve, it's easiest to make use of SVN since it's closes to the TFS model. But that also means a dedicated server. I would suggest VisualSVN server as it's dead simple to set up. Then you would need to expose the port it's running on externally to the other developer(s) outside of your home network. And for integrating with Visual Studio, look at AnkhSVN. Or stick with conventional clients like TortoiseSVN.
That would mean that any remote developers would be slowed down when interacting with the repository. That's where options like Git come in, but there is definitely a bit of a learning curve with it when you're used to a centralized repository. There are tools to bridge Git to SVN to get the best of both worlds. I have not tried to use them in a Windows environment, so I won't speak on how easy they are to use. I'm only just getting started in using Git for projects, mainly for situations where I cannot set up a repository elsewhere.
TeamCity for continuos integration by JetBrains is nice, easy to configure, and you don't need a "server", just a machine that's on. It integrates well with subversion as well. Which is a snap to setup with VisualSVN server. And the VisualSVN plugin for Visual Studio.
Have you considered using an online hosted solution? That way you don't have to worry about setting up a server, managing backups etc. There are services that offer this for free - one that I have tried myself is Beanstalk, which uses Subversion and has a free plan for up to three users with 100 MB of space. Useful for smaller projects.
As some of the replies indicated, distributed version control like Git or Mercurial is what you need. Maybe if you can explain how is your distributed team is working, another possible solution can be suggested.
For example, you mention about setting up work from home and have team at work which used to using TFS. Maybe if your work set up is consisting of most of your team at work and you alone working from home, then you can do something like:
Have SVN at work where all your team mates work with, addressing issue of complexity and learning curve
You can use git-svn at home, where you have local repository of the svn server at work and you still be able to work locally and make all kind of changes and branches..and merge only the changes you want to the work SVN repository.

Coding as a team [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
Lets say that me and my friend are trying to work on same software project. We are not located on same location but we wish to be as productive is possible.
We are using Visual Studio 2005, the code has to be written in C/C++ and at this moment we send the code using zip files.
My questions are:
1) what approach should be used sharing code in order to be more productive.
2) are there any free online platforms good for that?
3) do you have any advice for us?
ps: I own a webserver account with linux hosting. What can i install on that server in order to improve our working status.
A source control server, ala svn server, or whichever is your preference.
You can commit your code, and your friend can then update his based on your changes, without having to send or receive email.
Most source control suites also have built-in merge handling too, so you can see the changes he made and solve any collisions with any changes you've made.
Update
People have begun recommending some good online source control, so I'll also add links to other questions for online source control hosts. Have a look at those too.
On top of version control which has been mentioned a few times already, you should also look into a project management tool such as Redmine(http://www.redmine.org/) or Trac(http://trac.edgewall.org/).
I find it can really help the efficiency of a team, especially when meeting face to face isn't always an option.
Use versioning control software. Free subversion hosting lists:
http://www.straw-dogs.co.uk/09/20/6-free-svn-project-hosting-services/
http://cplus.about.com/b/2007/07/24/free-subversion-hosting-for-small-projects.htm
You can also find more googleling.
In addition to souce control, you might also sign-up for a free, hosted issue tracking tool like bughost.com.
For the immediate win, any sort of version control system.
Install and set up subversion on Linux, get AnkhSVN if you want to integrate it with Visual Studio or TortoiseSVN for Windows explorer integration.
I use subversion repositories hosted on dreamhost for collaborative projects. Dreamhost's hosting is not free, but it is relatively cheap - on the order of $100 a year. I think there is also a discount still in place for SO podcast listeners.
You can also set up your own subversion server in your home or office. It is easiest to do on a Linux box, but I have also done it on a Windows 2000 Server machine using cygwin. There is a good tutorial on this here: http://www.coderhaus.com/?p=8
I've had a very good experience with Git and GitHub.
The first thing I really recommend you is to use Source Control, Subversion can be a really good alternative.
In addition what was said earlier, you might want to check out a distributed VCS.
For example, GIT or Mercurial.
You can setup up 1 svn repository and up to 3 users for free on Beanstalk.
based on what you describe I think git will work well for you as a source code control tool.
My advice would be
Use a D-VCS such as git or Mercurial. It is designed for distrubted teams.
Use a project managment tool such as base camp to manage your project.
Talk to each other regularly. Get Skype set up and if possible try and communicate once or twice daily. Email is sometimes not an effective medium for communication.

Resources