Because of an unfortunate Windows limitation (no more than 16 icon overlays in Windows Explorer) TortoiseSVN is not a viable client for me on computers with the TFS shell extension installed. I've spent some time browsing wikipedia page, but there is a lot of crap on that list. QSvn was close but doesn't let you browse before doing a checkout. SmartSVN is pretty good but expensive ($79 single user). Anyone know of a standalone (not ide/shell integrated) GUI SVN client for Windows?
Just disable the TortoiseSVN icon overlays in the settings (Status Cache = None). You can use the "check modifications" or commit dialog instead to examine the status of your working copy.
In my experience (on windows XP) the icon overlays are not desirable anyway because they are either unreliable (because updated with low priority) or they slow down explorer.
IIRC, with TortoiseSVN, browsing a repository does not use the overlays, they are only used for your working copy to indicate status.
Is the problem really with browsing?
I like RapidSVN for browsing and managing repositories. It has the advantage of also being cross platform.
It meets your requirements of not being ide/shell integrated.
You could also use Ankhsvn (http://ankhsvn.open.collab.net/) if you are using Visual Studio. Works like a charm!
If you only need browsing, I'd recommend just going with a Web based tool for ease of maintenance. If you host your repository on Apache already, the default Web access that you get by just browsing to your repository URL is OK; for added features, ViewVC is pretty good.
WebSVN is the best way to just browse. Works on every platform and from any location. I highly recommend using that instead of some local client.
Related
First, I don't know if this is the right place to make this question but, I don't see any other place where to put it.
I would like to know how could I develop a mobile HTML5 App (using PhoneGap) with another friend, without need to have a copy of the project in more than one PC.
Could I somehow host the Code on a FTP Server and then we both could work on it for example, on Eclipse?
You need to look into using a source control system of some kind. Source control comes in many flavors, but in general it allows software developers to sync code between many servers, and allows developers to work concurrently without breaking each other's environments (imagine I have to take a component offline for many hours to code on it, but other people rely on it to do their work).
The two most common source control solutions are SVN and Git. Both of these work on Mac/Linux/PC and are documented thoroughly online.
without need to have a copy of the project in more than one PC.
How should that be possible? When want to view view something on your local computer, you must have it available on your local computer. But I think I know what you are looking for, three suggestions:
Use a cloud-based IDE. Cloud9 for example is one of the best. However, all of them tend to be slow and buggy.
Just synch the files between your computers. One of the best hosted services is Dropbox, or you can install ownCloud on your own Server.
Use a version control system. This is pretty common for software development as you can easily reproduce who made which change when and why. The best option is git and Github for hosting.
I know this is months late, but check out Adobe's Phonegap Build. Build and deploy in the cloud. They also allow you to assign a development team.
www.adobe.com/PhoneGap
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.
I was reading this article on Coding Horror:
http://www.codinghorror.com/blog/2008/04/setting-up-subversion-on-windows.html
I went to the downloads and am confused. I would have just downloaded the first entry but I am afraid it would break my server or something if I don't have apache. We use IIS only and I wouldn't want to break it somehow. I don't even need a web or webdav front end.
Which one should I install on this page, please:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
thank you for any help.
edit: thanks for information, but I am hoping to stay free with the "regular" subversion. I plan on using TortoiseSVN for the client.
Edit: Please use http://subversion.apache.org/packages.html#windows if you need recent Windows binaries.
I'd recommend VisualSVN, it's very easy to set up and the server software is free. Then for your client machine(s) I'd say you want to install TortoiseSVN
Your download link is a bit dated, the Subversion project has recently moved homepages. Try the download links at subversion.apache.org. In particular, click on "CollabNet" under the "Windows" heading and try the topmost download option. If you need more information about setting up a server, take a look at the e-book "Version Control with Subversion"; this is the "official" Subversion book and covers every aspect of using Subversion, from setting up and administering a server to using it as a normal developer.
As for client software, I agree with several other posters here that TortoiseSVN is a great graphical utility for Windows.
From that list, you want the Setup-Subversion-1.5.6.msi. Don't worry about the apache bindings, if you don't use them, they won't interfere. After you install the subversion executables, install TortoiseSVN on top, tortoise doesn't include the svn executables.
edit: Strike that, you'll want to get subversion 1.6.x. Check out the CollabNet distributions (http://www.collab.net/downloads/subversion/) and get the 1.6.9 build. That's what the latest Tortoise is built against.
I agree with most that TortoiseSVN is the best svn client, but if you want integration with Visual Studio AnhkSvn is good. If you want to get really crazy I believe they work side by side.
I'm running win7 and need a good git client with a GUI. I like bash but it feels clunky in windows. the GUI that comes with the windows package at git's website is missing a lot of stuff too. I'm considering switching to Ubuntu and using Gedit + git instead. What should I do? stay in windows and use Aptana or Komodo with another git client, or switch to Debian/Ubuntu and use the tools there?
You can find all the exisiting Git FrontEnd GUI in this page.
MSysGit just released a "Cheetah" edition, which should be on par with a TorToiseSVN.
Waiting for Cheetah full integration, TortoiseGit is already available
The Eclipse Egit plugin also makes progress. (see its wiki)
For all those tools, I manage just fine with Git on Windows.
You can use gitextensions with Visual Studio. Otherwise I believe you're going to need to get acquianted with the command line.
http://code.google.com/p/gitextensions/
You should also take a look at
QGit (there is also a windows downoad)
TortoiseGit (This is a port of TortoiseSvn
GitHub for Windows came out recently. It manages local repos as well as supports pushing to github.com. I have been playing with it and must say it is fantastic.
SmartGit is quite good although not fully featured yet. The only thing puting me off it is the lack of "blame". But it looks like they're aiming for full functionality so they'll certainly implement it in the future.
A client that I use regularly is msysgit.
SourceTree (from Atlassian, which runs BitBucket) was recently released for Windows. I find it suits our needs well. Here's a short review.
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.