I have installed SVN server on my Synology NAS and have successfully connected my Eclipse Java project to it.
However, I do not want to have the NAS online all the time.
I have not been able to see how I can get the SubVersive Eclipse plugin to connect to SVN "on demand" only.
Is this possible ?
Is it "safe" for me to work like this ?
Subversion already works in this way. It's designed to work in an "offline" mode, only communicating with the server when performing checkouts, commits, locks, updates, looking at logs, etc. If you're not performing an operation which requires data from the server, the client doesn't attempt to contact the server.
Related
Out of the blue yesterday afternoon, subversion connections from my Eclipse IDE to our Subversion repository have been failing (with both Subversive and Subclipse).
I can browse the subversion directory via the browser and it only connections via Eclipse that are failing (I am using a MacBook Prod Mountain Lion OSX 10.8.1; latest Java from Apple 1.6.0)
Message receive when attempting subversion connection:
"RA layer request failed
svn: OPTIONS of 'http://example.com/tags/project': Could not read status line: Connection reset by peer (http://example.com)"
Are you trying to browse the repository, or do you have an existing working copy you are trying to update? I think you are probably not entering a proper SVN repository URL. Just because the browser is working, does not mean that is the right URL for the client. It might be. It depends whether you are browsing the repository directly or using a web GUI.
The problem could also be related to a proxy server. If you need a proxy server, odds are that your web browser is already configured to use it. However, SVN clients have their own configuration for proxies that has to be configured separately.
I am in the need to set up eclipse in a way that I can connect to a SVN and checkout projects or files to a remote location. The remote location is Linux-based, the clients work with windows.
I read a few threads and it seems that it works on console with ssh+svn. But I am struggling badly to make this scenario run in eclipse.
Any hints? I appreciate your help.
Philipp
Your question sounds to me that you try to solve something, that we don't know yet. So I speculate here a little bit, and I will change my answer if the question gives indication that I was wrong.
(Part of your) development has to live on the server, so there are resources you have to use during development, which are necessary for development.
Possibly these resources are (only) necessary for testing (unit tests?), or for functional tests.
You have experience with Eclipse and want to use that.
So here are sketches of possible solutions that may work for you.
Using Eclipse on the server
You install an appropriate eclipse distro on the linux machine you have to develop on.
You install locally e.g. Cygwin with the XWin packages that allow you to start an X-windows server locally.
You open up an xterm locally (just to get the display variable correct).
You start from that xterm the eclipse installed on the Linux machine: ssh <user-id>#<ip-of-linux-server> <path to eclipse> -display $DISPLAY
Pros and cons
+ You work on the machine and have the display locally.
+ You are able to checkout directly on the machine, no need of a local copy.
- Your are not able to work without the connection to the Linux machine.
Using Eclipse locally
There are two variants, and both are valuable:
Have the sources on the server (only)
Have the sources locally
Sources on server, Eclipse locally
The easiest way is to mount the file system of the server, so you have access to them locally through a different drive letter. Ask your system administrator how that could be accomplished.
Pros and cons
+ Everything works as normal.
+ You don't have to install Subversion on the server.
- Latency for the remote file system may be annoying.
- You are only able to work with network connection to the server.
Sources locally, Eclipse locally
That is the normal way to do it. Install Eclipse with Subversion plugin as usual, checkout from the repository, work locally (even disconnected), commit your changes.
You are then able to test by doing a checkout on the server, build the system there, and do your unit and integration tests there.
Pros and cons
+ Easier to install and maintain.
- No tests during development without a build process in between.
- Tests can only be done with commited code, not with changes that are not commited.
My recommendation
I like the solution best with Eclipse on the server, so you use everything that is available on the server, and Eclipse under Linux is totally the same as under Windows. You don't have any steps in between for doing tests, everything is done locally (on the server).
See as well the following questions (and answers):
Is it possible to work on remote files in Eclipse?
PS: What I forgot: I think svn+ssh is just a different protocol of Subversion to do the checkout, update and commit. It is in no way different to using the protocols file://, svn://, http:// or even https://.
I am using eclipse with Microsoft Visual Studio Team Explorer Everywhere 2010. I was able to successfully import my Project, but every time I open eclipse, The progress window gets stuck at 60% while trying to "Refresh TFS Server Information for http://my.server".
Eventually I will get an error from eclipse:
An internal error occured during:"refreshing server item information for project MyProject".
com.ctc.wstc.exc.WstxIOException: Connection reset.
Also I get this messagewhen trying to refresh manually:
An internal error occured during:"Refreshing TFS Server information for http://my.server".
[com.ctc.wstx.exc.Wstx.LazyException] Connection reset.
Any help is greatly appreciated!
The "Connection reset" is coming from TEE's network communication layer and message points to a network problem. Can you use any TFS features from the plug-in (is "Refresh Server Item Information" the only thing that fails)? If you can't use any TFS features from the plug-in, check that Eclipse's HTTP proxy configuration is correct.
If you can use some TFS features, but the server item information refresh feature is failing, check that you don't have an HTTP proxy, firewall, or NAT device between your client and TFS that is dropping TCP sockets after a short time. Refreshing information for a large number of files, or from a heavily loaded server, may take a while (perhaps minutes). A network device that "drops" the active TCP socket without notifying the client would cause this behavior.
First, install TEE SP1 if you didn't already.
If the error persists, it might be a potential bug so post it on connect or on the TEE forum.
I ended up uninstalling and re-installing eclipse and TEE plug-in. After that everything connects and works as far as TFS is concerned.
I am using Tortoise1.6, SubversionEdge for SVN CMS and FileZilla3 (Test Server has CentOS as Server).
Let's assume the scenario:
- Test Server exists - here, developers have direct access; used for user testing
- There are 3 members in a team
- 2 of the members are developing on their local machine using TortoiseSVN
- But 1 wants to develop directly on the Test Server
--> The issue on developing directly on the Test Server are:
1.) No TortoiseSVN installed
2.) Even if SVN exist in TestServer, command scripts are tedious since it is running on CentOS (no GUI)
This issue can be resolved with team management, but the challenging part in here is how to address the technical issue (as this is maybe a future need).
QUESTION
So, my question is - is there a way to integrate TortoiseSVN on FileZilla?
Or a way that after committing changes on the working copy, files in the Test Server are also updated?
If you were on my situation, how would you address such issue aside from just team mgt/agreement?
Tortoisesvn is an explorer shell-extension. It doesn't know how to access Filezilla's functions to access the files on the ftp server.
What you can do is using a smb-share over a vpn-network. TortoiseSVN ist then able to directly see the files and display them correctly in explorer - although this solution may be quite slow depending on your network-connection.
However, what I usually do is developing locally, connect via ssh to the server and then use the svn cmd-line utility to do updates.
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.