Version control for Rails in a Windows environment - ruby-on-rails

I'm coding a Rails project in a Windows environment and using Eclipse (with the Aptana plug-in) as my development environment.
I'm far enough along in my project now that I don't want to lose any of my work, and would like to start version controlling it.
What would you suggest I use? I've Googled and seen some responses for Git and TortoiseSVN, but I like the responses I usually get from the StackOverflow crowd. Anything that integrates well with Eclipse? Or are they all command line?

There's plugin named Subclipse that provides SVN support for Eclipse.
There're several git plugins but I am not sure they are stable enough.

Mercurial!
With Mercurial, you get distributed version control, Eclipse plugin support, and TortoiseHg. Subversion was great back when everyone was just getting over CVS, but these days, the benefits of DVCS are too numerous to ignore. I personally prefer git to Mercurial, but git just isn't ready on the Windows environment. Hopefully Git# will fix that, but you have to wait for that.
Hopefully you're only developing in Windows and not deploying there? Rails and a Windows environment for production is a painful combination.

Related

Is it necessary to use both Jenkins and GitHub?

My former web developer setup my site so that it uses Jenkins and GitHub. I understand the very basics of GitHub and even less of Jenkins. But in theory, when I make minor text changes to my website, can't GitHub manage the process of pushing those changes to the server? Or is there some good reason that Jenkins is also involved?
Thank you.
Yes. It's not a must but using both Jenkins and Github will make your life easy. Github and Jenkins are two tools that help you to do different functions.
Github will mainly help you to manage your codebase, resolve conflicts, etc. So it will basically behave as a repository. You can commit your changes and get other's updates and always be up to date. There are tons of other advantages but I'll keep it simple for understanding purpose.
Jenkins is an open-source automation server. In your case, you can automate the product building. For example if you have a test environment or even when you deploy the changes t live, you can do all that with just a click. And you can separately build tests and live environments and With concepts like pipeline, you can even integrate the building with tests, etc.
But if you are talking about your local environment, yes git is enough because you can build the project manually. but in production have git and jenkins both will be a handy option.
Read more on Jenkins

Is it possible to do the Rails project (not tracked in any source control system) deployment with Capistrano?

I have a Rails project developed locally and don't want to put into any source control system like github or bitbucket etc. I can use SSH or FTP etc to copy the Rails project into my VPS. Is it possible to use Capistrano to do the deployment in my case? I check the Capistrano documentation and it says Capistrano supports git, mercurial and svn. I'm not sure if it can be used without any source control system.
I think Capistrano 2.x could do it, although it didn't always work very well. I don't think Capistrano 3.x can.
In an issue on the Capistrano github project, where someone else asked this question, the Capistrano author says:
[Capistrano is] a tool to launch code out of SCM into a deployment environment.
Even if you could get Capistrano (or another similar tool) to deploy without source control, deploying something to production that isn't in source control is a bad idea.

Feasibility of using Eclipse IDE with TFS plugin and Aptana Studio plugin

I'm looking at various options(IDE's - Rails specific) that can be used for Ruby on Rails development with TFS for SCM. I'm currently working on a Rails 2.1 app which uses Ruby 1.8.7 and I consider it important to mention this explicitly because I need an IDE that could support the Ruby and Rails versions mentioned above(In the meanwhile I'll be checking this from my end as well).
With some amount of research I've found that one can have an Eclipse IDE along with the below two plugins for RoR development
TFS Plugin that's provided by Teamprise as suggested in this question .
Aptana Studio plugin for Eclipse .
I just wanted to confirm if a setup as mentioned above can coexist ?.It'll also be great if one can relate their experience(the pros and cons) of using both these plugins within the Eclipse IDE for day to day Rails development?
Thank you.

Is it possible to work on a rails project by two developers working on different OS but on same rails version

I have this confusion and perhaps it may be basic question. I am planning to work on a Rails project along with a friend who stays in a different location.
We have identified Heroku as our deployment platform and Bitbucket for SCM related activities.
Both me and my friend are new to rails but we are familiar with web development in general.
I m working on a Windows box while he is on a Mac. We both have the same rails version including the gems. However, I'm not sure really sure how do we manage the source code and code integration. The reason I say this is because, when we try to commit the entire code from our systems a few platform specific rails file gets uploaded on the server, thereby rendering the deployment useless.
So my question is if I am on Windows and my friend is on Mac, whats the recommended way of working together on a single RAILS project and deploy it on a common platform to get the same desired functionality.
Yes, by using the source control management (SCM) you selected when you set up your repository.
For instance, if you use git, you would copy your repository using git clone (the command is provided via the bitbucket interface by clicking on clone), make your changes, and then git push your changes back into the repository.
When you want to code next, execute a git pull command to get the latest repo changes and then work and git push your changes back to the repo.
For examples see Bitbuckets fantastic tutorial.
As a side note, bitbucket also supports mercurial, although I haven't used it.
As far as your actual issue, each person will need to make sure the platform dependent files are excluded from your repository. If you're using git, see the git book specifically the section on .gitignore and git rm

Connecting Aptana with Git

I am new to Git and Aptana. I have downloaded Git from the location:windows.github.com. It installed fine.
I see a default integration of Aptana with Git, but what I dont know where it is pointing to which server location?
I want to host my code on GitHub so that I can keep different machine in Synch.
Thanks
There is a difference between Git and Github's application. Once you install both Git and Github's Windows application you need to setup both Git and Github in your PC — detailed help available in their respective sites.
Both Github's app and Aptana use the settings from your Git profile in your PC while committing and these details are simply, your username and email (and other profile settings if any).
If you want to use Aptana to connect to Github, you can do so by using: Wrench icon in the project sidebar > More > Add remote Here you must add a remote repository which will be used by Aptana. More details on Git remotes here. To avoid unnecessary hassles, the Windows Github app makes this management easier. Aptana provides a GUI around Git which is exactly what the Github App does, with some additional features and ease.
Hope I haven't confused you a little more.

Resources