[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[pdt-dev] Advice for SFTP deployment / synchronization


Some time ago there was a discussion about SFTP support in Eclipse. So maybe someone in this list knows the answer to my problem.

I am looking for a plugin or feature that would help me achieve the following (simple) problems in Eclipse.

We are a small teams of programmers using Eclipse to code a web application in PHP. Our basic workflow is the following:

* Programmer A works on a feature / fixes bugs, editing files on his own local environment;

* When he has finished, he needs to upload his changes to our (common) Apache web server to test;

* He then goes back to the editing cycle, and he loops through editing/uploading to server/testing until the implementation is complete;

* Then he commits its changes to our source control system, Subversion.

* Other programmers in the team do the same and occasionally update their code through SVN.

Currently, the problem happens in phase 2, when uploading changes to the web server. Subversion support in Eclipse is perfect through Subclipse. However, I have not found a satisfactory solution that would allow me to synchronize files with the web server via SFTP. Currently I am manually uploading the files with an SFTP client, which is a very unsatisfactory solution!

I've currently tried the following solutions (plugins):

* Aptana plugin. This allows you to edit files directly on the test server via SFTP. This is not what is needed, because the test server contents can be modified by any programmer at any time and is not considered a safe place, your changes can be overriden at any time. Besides, the updated files on the server would have to be downloaded back into the local environment to be commited to SVN.
Aptana also has a synchronization feature which is useful and works well, but is not possible in our case since it works by brute force: it scans the entire contents of the server and is thus very slow (only usable daily or so). We need something smarter, eg, once the initial syncrhonization is done it remembers the files locally modified and will only synchronize these ones.

* Target Management/ Remote System Explorer: As far as I understood this plugin does not allow synchronization at all. It only allows you to edit files directly on the server like Aptana.

* FTP / WebDAV support plugin (with Jcraft additional SFTP support): this plugin seems old / unmaintained but this is currently the one that seems the best. It allows you to synchronize (via the general team sync framework) and remember local changes thereafter. However it lacks two critical things to be really usable:
- possibility to exclude certain files from the synchronization (it works with file patterns though, like *.svn, but not individual files which is important)
- possibility to synchronize one project with different servers (strangely, one project can be only associated with one deployment !!...)

If anybody can help me or point me to relevant plugins, I'd be really grateful. This problem is hindering our development process in a really bad way. For the information I am running Eclipse 3.2.2 under Linux. I intend to upgrade to 3.3 as soon as I can, and will install/try any plugin that will help me resolve my problem (only open source plugins though).


ps: I've looked a little bit onto the WTP features, but this really seems targeted at JEE development, and we are doing PHP dev. For example on the servers definition there are only servlet containers (Tomcat, Websphere etc), so I am not sure if this can help me at all