Jean-Noel,
I don't know of a plugin for this, but why don't you use rsync with
Cygwin? It's fast and it covers everything you mentioned below. Then
you can avoid the whole SFTP thing. We used Cygwin with Ant tasks in
both my current job and the last one I was at.
Basically, you get Cygwin (at http://www.cygwin.com) with rsync and
ssh. You put in an Ant task that runs rsync, which synchronizes to the
web server via SSH. SFTP is just a shell around SSH anyway. Now the
programmer can just double-click the Ant task any time he deploys and
the output from that goes to the console view so he can verify that the
copy worked correctly. Something like this maybe:
<target name="deploy">
<exec executable="c:/cygwin/bin/rsync">
<arg value="-e"/>
<arg value="c:/cygwin/bin/ssh"/>
<arg value="-a"/>
<arg value="--exclude=.svn"/>
<arg value="${srcdir}"/>
<arg value="testuser@${hostname}:${destpath}"/>
</exec>
</target>
For this you'd put ${destpath} as your destination on the server,
${hostname} as the server host, and ${srcdir} as the top-level
directory of your code distro. You'd also need to set testuser as not
requiring a password on your server, or supply the password with an
rsync environment variable.
Believe me, Cygwin is your best friend when working with Eclipse on
Windows, because it can automate a lot of very tedious work. I know
it's complicated, especially if you're not used to Unix, but all the
work is in the setup; after that, you start saving massive amounts of
time. Most specialized things I do with Eclipse are done via Ant tasks
that call Cygwin.
Of course, if you're on Unix, you can do the same thing without even
needing Cygwin. :)
Andy Schmitt
Parthenon Software Group
Jean-Noël Rivasseau wrote:
Hello,
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).
Jean-Noel
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
_______________________________________________
pdt-dev mailing list
pdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pdt-dev
|