I have a Visual Studio project that I want to work on in two computers.
I'm looking for how to sync the project between the computers.
I have a few options, and I'm open to other suggestions:
Dropbox
OneDrive, which is integrated nicely in Windows 10.
Github, although I'm not sure if it is used for this purpose, and don't want my code to be public.
What has worked for you?
Thanks!
If you use Visual Studio, then Visual Studio Team Services is good for you.
For source control you can use TFVC or Git and it's free (for team up to 5 people) and repositories are private.
GitHub is a nice choice, not only to share between machines, but mainly as version control.
Also, if your version of Visual Studio supports it, you could use TFS - the versioning integrated to it.
OneDrive or Dropbox doesn't have version control - once your project grows, you will notice it is really needed.
For source control I would prefer tortoise svn (over git and bitbucket) - because it's easier to use.
For data replication / sync - google drive. Its similar to microsoft one drive, but bit faster.
Oh common - downvoters ! :-) I know you're absolutely love git, but unfortunately it's too over abstract, lacks of proper error handling, to difficult to use.
We can skype if you think otherwise, and I can prove it to you.
Related
I have a team of 3 developers and I want that we should be able to work on the project from our own homes, at any time (or at the same time) and make changes to the project. Till now, we have to mail each other all the updates versions to keep in sync. We are developing the project in Visual Studio 2010 currently and use SQL Express 2008. I searched internet and got some idea about Team Foundation Server but it requires Windows Server. I don't want to get into this mess and I have a Win7 Pc. Please suggest me some easy solutions.
There are any number of low-cost (often free to open source projects) hosted source control providers out there.
Personally I use Subversion along with the AnkhSVN plugin for Visual Studio.
Mercurial and Git are also quite popular and supported within Visual Studio via plugins.
Any of those options can be setup in a few minutes (if you use a hosted solution) and will all work for a small team.
Version Control is what your looking for,and your right there are some complicated solutions out there. TortoiseSVN isn't too complicated but works well.
my team is working on a project but we figured out if we continue, committing the changes we're making will be different. The option we're considering is to share the project on an adhoc wireless connection and work on it together but I'm wondering if there's a better way of doing this, like one that will allow you see that a different user is working on a class when you open it (like Google Documents) etc.. Thanks.
ps: I'm looking into the Team Foundation Server, but it sounds a bit complex, though I'm downloading the trial now, I don't know if it's what I'm looking for...
If you have a MSDN account install Team Foundation Server in Basic configuration or do what KMoraz told you: use TFS Express (it's still a beta, but it's "go live" so don't be afraid to use it). You can install both version on any kind of computer (yours for instance but it will have to be started all the time your teammates are working).
I strongly encourage you to give a try to tfspreview.com (Team Foundation Services) which is the cloud version of TFS, it's free for now (as long as it's beta) but Microsoft always said that it won't cost a lot when going retail.
Team Foundation Services is really great, you know have continuous integration in the cloud, it's pretty nice. I can give you more info about it if you're interested.
GIT, GIT, GIT.
GIT is a simple free solution to this problem. It merges files modified by multiple users very well.
GIT with VS.NET
GIT
Our dev team is small (3 developers) and windows based.
I'm looking for a source control that can do the following:
Check out files for editing and warn others that file is used
Check in files and merge if they have changed
Split baselines for release versions and merge baselines if needed
Visual Studio integration
Can work over WAN
Thanks.
SW
Team Foundation Server fits all of those.
SVN would be great, as long as you use locking (normally the server has no idea what clients are doing by default)
Perforce might be a nice one to look at which does this more by default.
Both have VS integration, SVN especially.
SVN, provided that you explicitly lock the files. This is not by default, but you can easily lock the file via SVN commands or via TortoiseSVN.
VisualSVN provides the Visual Studio integration.
If you want good Visual Studio Integration, then check out Microsoft Team System. You didn't specify if you wanted free or commercial or how critical Visual Studio intergration was.
git will do almost all of it. Not sure about integrating it with Visual Studio though. there might be a plugin for that.
Reasons:
No central server needed. If you want one, you can have one, but it's not necessary
You can push/pull changes to the others at will.
Each of you can have your own local branches, and push only the ones you need to
each other. Branching/merging is easy enough to do branch-per-task. Then push just that task to a co-worker if needed.
Unlike SVN, only one directory is needed for git, in the top level of the directory structure.
git stash rocks for when you have changes in your current branch, and need to switch to another for a while. This is one of those things you don't miss until you don't have.
Merges are awesome.
In my company, we use SourceSafe and Visual studio. Starting up a minor project, I am eager to try a more modern source control, I am aiming at Subversion. But I need to work with the previous projects in SourceSafe, at least for now.
Q: Will it work well to use both SourceSafe and Subversion in the visual studio IDE? Using what? And are there things in Subversion I may feel painful if I am used to SourceSafe?
Regarding your first question, I don't know of anything that would stop the two working side by side. You can try Ankh for a free SVN VS add-in, or VisualSVN is a commercial option.
Regarding your second question, SVN has a different model than SourceSafe. SourceSafe requires checkout (pessimistic) whereas SVN you just change your files and commit when ready (optimistic). Any conflicts will need to be merged. Other things differ as well, and you should definitely read basic SVN documentation before you start using it. TortoiseSVN provides both excellent Windows shell integration and good doco too.
PS. Once you try SVN in earnest, you will never look back to SourceSafe.
There shouldn't be a problem using Visual Source Safe and Subversion side by side. Visual Source Safe keys off .scc files within the folders. I also believe the source control is stored in the project files. In any event, Visual Studio automagically handles Visual Source Safe integration.
Subversion (TortiseSVN really) stores all it's metadata in .svn folders. When you install Ankh or VisualSVN, these programs target the .svn folders. If you load a project that has .svn folder anywhere in it's folder structure, Ankh or VisualSVN will kick in.
I agree with other posts, once you turn to Subversion you won't want to go back. It takes a little getting use to. Spend sometime, if don't know already, learning merging and branching. It will serve you will moving forward.
After you get subversion up and going, you might want to look into continuous integration. Cruise Control.Net would be a good tool to start.
Best of luck!
Using SVN technically, won't be an issue - especially with Tortoise +VisualSVN (latter not free but cheap).
The headspace change in going from the usual VSS way of working - pessimistic locking - to the SVN/rest of the world style - optimistic locking will be the harder hurdle.
To explain a little less concisely - if you are used to locking a file when you 'check it out' so noone else can change it, or at least everybody else knowing you are working on it before they try to make any modifications it is quite a leap to go over to not knowing until you try to commit - at which point you have to do merges.
Merging is the tricky bit sometimes, purely conceptually, but especially merges for Winforms with the designer auto-code and the resx files...
Think very carefully about your branching strategy. Best to start just working directly off of trunk to get used to the software before deciding to go for merging. You will find a lot of things quite repetitive and manual compared to VSS - we have a coupla guys here who admin the SVN servers and thay have been invaluable in writing scripts and add-ons for Tortoise to take some of the pain away...
In Visual Studio Tools | Options you can select the source control provider from in there. We used to swap between VSS and another provider some years back and all we had to do was change this when we loaded to project.
If you're using SVN, I would highly recommend looking at VisualSVN for integration in Visual Studio. (Although read comments below...)
I've used TortoiseSVN and SourceSafe in parallel with VC6/VB6 projects in order to keep a parallel log of changes with Subversion (for various reasons, but mainly for keeping proper track of revisions) until we were able/prepared to switch fully to Subversion. I had no problems, I only had to keep an eye for new files coming from the SourceSafe repository.
Working with Visual Studio .NET is a different ballgame if you install AkhSVN, which I did. I worked with it for a few months and ran into problems when AnkhSVN automatically kicked-in when opening SourceSafe-controlled projects. Just avoid mixed SVN/SourceSafe projects with VS.NET, or don't install AnkhSVN.
I'm looking to move to distributed source control since I use multiple computers and often work offline. What if any distributed source control systems integrate with visual studio and how good is the integration?
Have you considered using Git? You can host open source projects on github for free.
For integration please refer to Using Git with Visual Studio which indicates it is possible.
I'm not sure about integration with VS but I have used the excellent Tortoise Windows Explorer plugins. We use Tortoise-CVS and SVN all the time and they are fast and reliable.
They do a Tortoise-Hg plugin for Mercurial as well.
It may sound funny, but I rarely use my VS integration even though I have one.
Tortoises and command line work great, and Bzr and Hg have workable tortoises.
AnkhSVN does the job nicely for me and my team.
Jared,
If you need distributed and VStudio integration, then you're talking about Plastic SCM
The whole GUI is integrated with VStudio 2005 and higher, and SCC integration is available starting with VStudio 6.
It directly supports renaming and moving files from VStudio too.
Plastic SCM is free for students, for open source projects and most likely you can get some free licenses for personal projects too.
There is VisualHG too, with TortoiseHG it is a Visual Studio Plaugin.
I use subversion and tortoisesvn. For integration with VS, I use VisualSVN which does cost money but it pretty cheap and works flawlessly. There are free subversion source control provider packages for Visual Studio and I tried a few but VisualSVN worked so much better so I went with it.
I like using KilnHG (which is an online wrapper around Mercurial) - it's free for small numbers of developers from what I can recall.