Multiple Eclipse projects in one Mercurial repository
I have a number of eclipse projects that I'd like to have in two separate hg repositories.
I've managed to do this by first creating the two hg repository using TortouiseHg and adding, committing my projects to each of the repositories first. By doing that I now have two hg repositories with two projects in each.
Next I clone that repositories in Eclipse using MercurialEclipse. The projects appear as expected in Eclipse.
Example 1:
Eclipse workspace
|
|--Project 1
|--Project 2
|--Project 3
|--Project 4
But if I look in the directory structure it loo开发者_开发知识库ks like this:
Example 2:
c:--
|
|-workspace
|
hgRepository1
| |--.hg
| |--Project 1
| |--Project 2
|
|
hgRepository2
|--.hg
|--Project 3
|--Project 4
when I want it to look like this.
Example 3:
c:--
|
|-workspace
|--.hg
|--Project 1
|--Project 2
|--Project 3
|--Project 4
Is it possible to have a single Mercurial repository and somehow clone it and have the projects appear directly under workspace directory, and not in a subdirectory?
You shouldn't save project from an Eclipse workspace, or restore them in an Eclipse workspace.
Those projects (.project
, .classpath
, and other project specific resources) should be in their own directory, outside of the Eclipse workspace (and then imported into the workspace).
That way, any directory structure will be fine for importing the different project into a new Eclipse workspace.
I ran into this exact problem myself, and the solution isn't immediately obvious. This blog post has step-by-step instructions showing how to achieve what you're after: workflow: create and init multi-project repositories with HgEclipse (Mercurial).
In short, you want to:
- Open the Mercurial View and create a new repository at /path/to/workspace/projects-folder
- Create however many new projects you need, each one should be created at the (non-default) location of /path/to/workspace/projects-folder/project name.
You'll find you end up with the layout you want in Eclipse and the projects will all share the repository located in projects-folder.
I don't quite understand. You cannot clone the repo to inside of itself. Why can't you just make a hard copy of Project1 and Project2, creating 3 and 4?
I know some people wont like my solution (and I know that it's been some time since this question has been asked) but here it is:
- Create the workspace as usual
- Exit from Eclipse (not sure if it is necessary but it doesn't harm to do it)
- Clone your Mercurial repository directly in the created workspace directory with hg (it helps if the name of your repository is the same as the workspace)
- Go back to Eclipse and create a new project for each sub-directory (in your example it would be Project 1, Project 2, etc.). It will warn you that the directory already exists but it's ok.
- MercurialEclipse should recognize each project as being Mercurial version controlled
This has been tested successfully in CDT in Eclipse on linux. And I advise you to put in your .hgignore the files created by Eclipse to manage your projects.
I hope this helps.
精彩评论