I and my team are located in different places, we hope to share our timely written procedures, so we decided to use eclipse + cvs, but we don't know that it can not be on a different LAN updating and submitting our program.Who can give you some suggestions to us
I haven't used CVS in Eclipse for some time, but it should be quite simple. Use the context menu->Team->Share project, select CVS and enter the details of your cvs server. Or use the cvs repository view to check out from your cvs repository.
You have to make sure first, that everyone on the team can access the central cvs repository, of course, e.g. via SSH.
For more details I would suggest looking for a tutorial on google.
Related
I'd like to use "Share Project..." in Eclipse without actually commiting to SVN. Unfortunately, I am not able to find an option for doing this.
Instead, I want the relevant files only be added to SVN.
My goal is, that SVN should track all the files I move into the project using the package explorer.
Share Project needs to accomplish two things:
It sets up some internal linkage in Eclipse that connects your project with the SVN Team Provider so that SVN menu actions are exposed and so that activities you perform are routed to the SVN provider to "handle".
It has to establish your project as SVN "working copy" so that the SVN API that needs to be called on behalf of your actions can do what it needs to do.
So the key here is that if you already have a SVN working copy then Share Project will recognize this and be able to do option 1 without needing to do anything else. But otherwise, it has to establish a working copy which requires it to do svn checkout from your repository. If it has to create the working copy then it makes the assumption it needs to create the project in the repos and then check that out on top of your local project. So the one commit it will do is a svn mkdir for a folder in the repos.
If you do not want to do that, then do something to establish a working copy locally before you get started, such as checking out some existing location in your repository. As others have noted, you may want to be using branches and switch if you are refactoring something that already exists.
When you commit data to the SVN repository, you publish this new data or make changes to existing data (i.e. you make your changes available to others). Therefore, you need to commit your changes if you want others to see it in your SVN repository and collaborate.
As far as I recall, "Share Project" command in Eclipse is designed to import your non-versioned project to the SVN repository (i.e. make a first-time import) -- it converts your local data into a working copy and commits it.
I do not understand what exactly you mean by "share but not commit" (you may want to elaborate). However, you can always select which files to add and commit or import into the repository, but I guess that you will need to use standalone SVN client outside of Eclipse.
A friend and I want to work on the same project. Is there a way that we can work on the same project at the same time and have the files stored on Google Drive or Dropbox?
You really want to use a version control system, like mercurial or git. There are lots of hosting options for both of these, like github, bitbucket and others.
Edit: As was observed in a comment, you may also take a look at Subversion or CVS. Whichever works best in your case.
As for Eclipse integration, there are solutions for most systems :
http://javaforge.com/project/HGE for Mercurial
http://www.eclipse.org/egit/ for Git
http://www.eclipse.org/subversive/ for SVN
You can Setup a remote git Server or use bitbucket
In Addition with egit for eclipse :)
I Have done this yesterday and it works pretty well
//again too slow :P
Is it possible to use (Win)CVS as a local repository? I don't need a multi-user configuration with sharing a repository on a server (I've been using WinCVS for years in a team, and it worked fine for us), but just want to keep track of different versions of my project code locally. Anywhere some good documentation or tutorials? Or are there other options?
Yes, you can create a local CVS repository in any empty directory
on your computer by setting the CVSROOT environment variable
to that directory and running the cvs init command.
The CVS manual describes all the CVS concepts and commands.
I'd suggest not using CVS, which is extremely old, and lacks important features, and instead use a more modern DVCS such as Mercurial or git. That way you don't need to setup any server, and you get atomic commits and better branch handling/merging (among lots of other benefits).
I have been working on an embedded project with a friend and I like to send him the project every once in a while so he can go over the code.
What is the best way to send him the project so that he can build it fairly easily on his side.
Zipping up the workspace and sending it over does not seem to work very well and exporting the project and having him import it into a workspace doesn't seem to do what I want either.
Update
Thanks everyone for your input, I figured out how to install Subclipse and how to use it with my SVN repo. In order to allow my friend to do the same I went through and documented the installation of Subclipse as well as how to add-to and import-from the repository.
You can find it on my blog.
I would say go with a Source Code Repository (e.g. SVN). There are many free options: gitHub, GoogleCode, Assembla etc.
I would discourage zipping & sending: you'll have trouble synchronizing the project and you will probably loose time.
Many people use Source Control systems such as SVN, Git, etc. Zipping workspaces is a very difficult way to keep in sync, especially if you continue to work on the project after you have sent it off.
If it is an Open Source project then there are several sites that host SVN or Git. Otherwise it will still be worth the effort of setting up a server.
I have an online CVS repository that I need to check code into. However, the server is outside my control and is often down.
So, is there a way to set up some sort of local CVS server/proxy such that I can check my code into the local CVS server regularly and have the local CVS server batch commit the changes to the online CVS repo periodically?
The local repository could possibly run some other SCM system, if that was necessary to prevent conflict with CVS. Online commits could possibly be done manually, or via cron. I'm open to suggestions.
I guess that my main concern would be the problems faced in trying to set up some sort of repository 'hierarchy'.
PS: I'm running Linux all along the 'hierarchy'.
Edit: Found a similar item here.
Use git locally, and then git-cvsexportcommit would be my suggestion. There's a blog post that talks about this at http://issaris.blogspot.com/2005/11/cvs-to-git-and-back.html although I'll be the first to admit that the export process isn't as easy to use as perhaps it could be.
I'd recommend running git locally while continuing to use your CVS server when you have a connection to it. Here's a nicely-written article that explains how:
http://www.kernel.org/pub/software/scm/git/docs/v1.4.4.4/cvs-migration.html
You can use git as a "frontend" to CVS which will allow to you check-in your changes locally (offline) and then sync them up to the CVS server when your connection is available. There is a bit of a task to setup the environment, but once you get it going the workflow is pretty nice.
See How to export revision history from mercurial or git to cvs? for the setup & workflow.
This doesn't really answer the question, but it sounds like you need a distributed VCS system.
I think you should consider using a distributed source management system such as git or mercurial which support this kind of decentralized source control.
I have never used it, but CVSup may do what you need. As others have mentioned, though, a distributed VCS system like git or mercurial would probably be better.