subversioning ipad app project - iphone

I am currently looking at setting up an Ipad app project into subversion.
Ive had a lot of experience with windows based development and .net. With this we have just created a repository in a network folder (by just right clicking -> TortiseSVN -> create repository) , than all we have done is our developers have checked out from this directory.
How do we go about doing this in xcode. I know subversion is integrated with xcode and I am pretty confident of doing everything (from tutorials) except for the creation of the repository.
Just wondering how we go about creating a repository in a folder based up on network folder?
Thanks in advance

Google for the svn book.
It should have everything you need to know with the exception of Xcode specifics.
Honestly, you probably don't want to create a repository on someone's development machine, especially if you are giving people network access.
You should setup an actual SVN server or use an online service.
Here is a question posted in 2009: SVN server for the Mac that's easy to set up?
Here is the "official" Ubuntu guide if you chose to run the SVN server on top of Ubuntu (which is my recommendation). Google for "install svn ubuntu".
Sorry I can't post multiple links yet.

Not 100% sure since I mainly use the terminal for svn operations on mac but
if you go in XCode to the scm you can configure the repositories for your project
once that is set up (I guess you know how to do this form your question), you simply you can go scm->repositories
select the one you want and you can then modify it

Related

Two Eclipse running on two different system will share same workbench

I have two system, one in my office and one in my home. I am working on one Java application. I am facing one problem which is, after completing work in office I need to do it at home. For this before closing the eclipse, I copy the complete project in pendrive then I copy it into my home system, and then able to work from home and able to start from the place where I left the program in office. Same task I need to do, now from home to office.
Is there any eclipse plug-in or any other way available by which I will able to synchronize both the workbench.
There are some plug-in avilable like SVN, CVS but these plugin require one server, static IP address etc which is costly.
Example:- Google Drive
if you install google drive on two different system with same google account and if you do any change in one system then this change will reflect on other system also.
Edited:If you are using a personal computer at work or if the office computer allows it, you can use Dropbox.Create the project in Dropbox and then when at work,all you need to do is import the project (do not copy into workspace).What ever changes you make is persisted in Dropbox.
It sounds like what you need is a version control system, and one that is available as a free service. This allows you to store the code on an external server and have it reachable both from work and home.
Git is very popular these days for good reasons. It has a good Eclipse plugin, Egit, that comes preinstalled in later Eclipse releases. There are several external repositories that you can use, see this question, or just Google. Many offer free hosting for small projects.
This will require a bit of a learning curve, but it will help you greatly.
I use a small (pocket size) external drive. I have eclipse and my workspace on it (and other tools I need) - I can easily plug it into my work or home PC (or client PC if traveling). It works great - just assign it the same drive letter on both home and work PC.
I would also recommend you use a code repository in addition to an external drive to store the source code - CVS, SVN, Git, etc.

PHP-app deployment tool from GitHub or Eclipse / EGit (FTP?)

Historically I was using Dreamweaver to edit my PHP-app, at which time I was using the built in FTP-function to upload to the webhost. It was super easy. With the push of a button (Ctrl + U) I could easily upload the file I had been editing to the correct folder at the webhost (after making some initial easy settings in Dreamweaver).
But now I am trying to get into the version control system mentality instead and I have started using EGit in Eclipse and I have successfully synced my project to GitHub and pushed my commits. I guess I use GitHub mostly for backup since I am the only one editing my app.
Now, as I mentioned before, deployment of my files was so easy in Dreamweaver, and easy to manage, I had total control of which files I was updating and total visibility. But now, deploying my project from Eclipse or GitHub doesn't look as easy. I have been trying DeployHQ.com to deploy my latest commits to GitHub, but found that to be a little unmanageable and not so easy (maybe I didn't try hard enough), then I tried Remote System Explorer in Eclipse, also not so easy and manageable.
I am looking for a tool or method to deploy my PHP app to my webhost file system from either Eclipse or GitHub that has been purposely built to be easy easy and easy and intuitive. Does such a tool exist? I am almost thinking about reverting back to my old Dreamweaver FTP-client just because I can't be bothered getting something like DeployHQ to work.
I guess it goes without saying that I am only coding part-time, so please be nice.
FTPloy offers a similar service that I used to use back when I coded PHP. It was easy to setup and integrates directly with GitHub or BitBucket.

Eclipse FTP "Team Plugin"

It seems to me from the following page
http://www.eclipse.org/eclipse/platform-team/target.php
and other pages like it. that there has been a robust, mature, properly integrated (and seemingly very smart) way to upload and synchronize files from an eclipse workspace with an FTP site for four to six years already.
It seams from that page and similar pages around the web that "The WebDAV and FTP plugins are built as part of the platform build" which to me in plain english would mean that if you have the core eclipse files you should already have it.
This is obviously not the case. you dont even have the plugins required to make basic ftp access unless you install it from a repository.
Not only is it not installed. it is not available from the default plugin repositries set up when you download eclipse.
Not only that but I could not even find the link to the repository anywhere.
RSE - which seams like a library out of the nineties with such limited functionality that shell clients writen for windows 3.1 could do more in less steps - has its plugin repository url posted in many places. but the team plugin has only links to CVS repositories of the source at best. even most of those are broken.
In conclusion.
Does anyone know how to install the "team" ftp client so that I can synchronize my content with FTP?
Well, here is an sftp plugin on sourceforge.
It is only about internal plugin defining a basic container for any ftp or webdav-based application.
You can see, when looking at:
the source of eclipse.ftp, that this is mainly an exception, some interfaces and a basic FTP container.
the sources of the target.ftp plugin, that that feature is here from more than 4 years, untouched, with basic functions only.
Only a more advance client like eclipse.team.ftp defines a client, but not on eclipse.team.ftp no more, since this is now the DSDP Target Management component which actually has developed a more advanced FTP/Webdav layer. It took over since 2006.
Ok, time for me to answer my own question.
No RSE does not do what org.eclipse.team.ftp was able to accomplish five years ago. Somehow that functionality never made it in. I have no idea why they dropped a perfectly logical solution in favor of the new backwards methodology.
However, visiting the site that #bmargulies recommended I realized that Jcraft still hosts the original FTP and WebDav Service for Team Services (upon which their sftp service is built)
So you can just point your eclipse install dialog at http://eclipse.jcraft.com/ and install the original plugin.
Good luck
I am also looking for this. Any solution for you yet?
This one also has been left dead and then excluded. :((
Team Synchronization on top of RSE
I guess there are still not enough Eclipse developers interested in it. Especially if one continue to see not only dead projects but even succesfull ftp-sync projects being shut out.
Really sad.

Version control integration with eclipse

I'm looking for a version control system just for me on my windows computer to integrate into eclipse. I was thinking to use Mercurial instead of Subversion, but I'm having doubts about the mercurial eclipse plugin. Any input on this that you can help me with?
Is it worth it to have a version control system when you're working alone, how much is it going to complicate matters? I don't think I need a remote repository since it's just for me. And what is known to work well in eclipse?
Is it worth having a version control system for just yourself ? Absolutely. Why ?
You can retrieve old versions of code - for reference, to revert changes.
you can branch and tag to create different versions and checkpoint for releases.
Your continuous integration system (you do have one, don't you?) can tag successful builds, allowing you to identify particular intermediate builds.
You can record in the logs why you've changed stuff (as opposed to what you've changed), and meta-information surrounding those changes.
So version control isn't used to manage multiple developers, but rather to manage the codebase itself.
What works well in Eclipse ? I can vouch for Subversion. I've used that successfully for a couple of years. I'm not sure I'd use a distributed system like Mercurial, unless I was in the habit of (say) developing on a laptop on the move, and on a desktop at home.
I have used the Subclipse plugin for SVN and it worked like a charm. In regards to whether or not you need a version control system while working alone, it's still a good idea. It will save your version history and allow for easy rollbacks. Also, if you ever bring on another person to the project it will be easy to get them up and going.
Is it worth it to have a version control system when you're working alone
Yes of course, you will always run in cases like, the application was running yesterday but i dont know what i did!
how much is it going to complicate matters?
It will not complicate anything, you will just need to spend half an hour at the beginning to set it, then committing,branching, uploading, sharing will all be one click away in Eclipse.
I don't think I need a remote repository since it's just for me.
I work alone as well, but you never know, if you might work on different sites it would be good to have all your work in the cloud, sometimes you run in cases like you want to share a project with a friend and whats better than SVN in that case.
And what is known to work well in eclipse?
I use Subversion, inside Eclipse and TortoiseSVN in the explorer.
If you want to setup your own SVN Server, (with the benefit of not needing to upload/download from internet each time) check here:
Create SVN Server on Windows
Create SVN Server on Mac
It IS important to have a SCM system even when working alone.
I'd suggest creating a project in code.google.com or sf.net, (unless of course you don't want an open source license).
Eclipse has built-in "Local history", you can check if it is sufficient for your needs. Otherwise you can simply install an SVN server from Collab.net, and use it on localhost with Subclipse
There is also a git plugin for eclipse. only problem is merge not being integrated yet. but is planned for the near future.
egit
The Mercurial plugin for Eclipse seems to work fine. I don't think it has all of the features that Subclipse has for Subversion though.
If you are working alone on a project though, you need to ask yourself why you are using a distributed version control system. For a project by yourself, Subversion works great. I use subversion and the eclipse project for projects I work on by myself. It gives you the history and rollback capabilities even with a single person. It is nice sometimes to be able to see what you did before that you might have deleted.
In a team environment though, the Mercurial plugin for Eclipse works fine.

Remote developing with Xcode?

My project files is in a remote(ftp/svn) server
How to develop the project direct in the remote server? just like a local dir ?
can do that with Xcode ?
There is a huge difference between an ftp server and a subversion server. Assuming subversion, since no one in their right mind would use ftp for hosting development work these days (seriously -- it is a gigantic pile of insecurity and cannot offer anything akin to a real filesystem experience).
So, with subversion, check out your code from the svn server to your local filesystem, do you development work, and periodically check your changes back in. In this, doing development with Xcode works just like any other subversion based development workflow.
Or you can use the rather-good-and-always-improving subversion client interface in Xcode itself. See the SCM menu.