Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] Fwd: [Bug 326926] New: API to configure and import SCM URLs

I think the cvs provider also permits a project name to be specified with ;project=

Speaking of cloning locations, I don't think they should be into the workspace by default for this operation. 
Firstly, it's pretty rare (outside of Hello World examples) for there to be a 1-1 mapping between project and git repo. Secondly, Eclipse tends to suffer badly with nested projects, particularly when a parent is also used. Lastly, as noted below, there are questions on whether they should be shared or not. 

I think at clone time, we should prompt for a (non workspace) location and let the user decide on whether they should use the same repo or not. I can think of supporting cases where you'd want to do one or the other; deciding on one isn't the right thing to do. 

Alex

Sent from my iPhone 4

On 5 Oct 2010, at 10:12, Gunnar Wagenknecht <gunnar@xxxxxxxxxxxxxxx> wrote:

> Am 05.10.2010 10:42, schrieb Swindells, Thomas:
>> I've looked hard and couldn't find any official scheme to do the above, hopefully someone will correct me and point to a page where it is defined...
> 
> As with all URLs it's up to the scheme implementor to make a decision.
> For example, the Eclipse CVS plug-in came up with the following URI syntax.
> 
> scm:cvs:pserver:dev.eclipse.org:/cvsroot/eclipse:org.eclipse.core.runtime.compatibility.registry;tag=v20100520
> 
> Similar syntax could be used for EGit urls.
> 
>  scm:git:<git-repo-url>:<path-within-repo>;tag=<tag>
> 
> Examples:
> 
> scm:git:git://git.eclipse.org/gitroot/gyrex/main.git:org.eclipse.core.runtime.compatibility.registry;tag=v20100520
> 
> scm:git:ssh://git.eclipse.org/gitroot/gyrex/main.git:org.eclipse.core.runtime.compatibility.registry;tag=v20100520
> 
> scm:git:http://git.eclipse.org/gitroot/gyrex/main.git:org.eclipse.core.runtime.compatibility.registry;tag=v20100520
> 
> 
> I think the tricky thing is that Git does not support a partial clone of
> repos (i.e. just a sub path) as CVS does. Thus, under the covers always
> a clone must be performed. Alternatively, a UI could pop up and ask the
> user for an existing local clone. However, then again switching to a
> particular tag is problematic because only the whole repo must be switch
> which could potentially cause conflicts in existing local repos.
> 
> The latter is indeed problematic. For example, imagine a user wants to
> import two bundles at once. Both bundles come from the same repo but use
> a different tag. IMHO EGit must create a second local clone in this case
> in order to have both projects in the workspace at different tags. It's
> not impossible to implement, though.
> 
> -Gunnar
> 
> -- 
> Gunnar Wagenknecht
> gunnar@xxxxxxxxxxxxxxx
> http://wagenknecht.org/
> _______________________________________________
> egit-dev mailing list
> egit-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/egit-dev


Back to the top