[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[git] repo-layout question: cross-repo cherry-picking?
|
Hi,
I'm working on migrating the Object Teams SVN to git and given that git is
meant to ease branching and merging I'm trying to solve the following:
Our repo contains a fork of org.eclipse.jdt.core, from which I periodically
fetch all changes and apply them to our fork. So far I'm doing this by manually
creating and applying patches, but in git times I figure I should just setup
the original jdt.core repo as a remote and use commands like cherry pick
for updating.
(Side issue: can I cherry pick (in EGit) many commits in one operation?)
Unfortunately, both repos don't match in structure, the jdt.core plugin
resides in these locations:
repo: eclipse.jdt.core
path: /org.eclipse.jdt.core
vs.
repo: org.eclipse.objectteams
path: /plugins/org.eclipse.jdt.core
At least from EGit I could not find a way how changes could be merged
across these two.
Is there a way to tell (E)Git that the two paths above match?
Alternatively, I've been playing with moving our fork to this location
(I did the move in git after the migration):
org.eclipse.objectteams
/org.eclipse.jdt.core
Now cherry-picking works, but EGit's history shows the moved version
as having no history. Is there a way to tell EGit to follow moves? If that's
possible, is it advisable to move a whole project so every history lookup
will require matching all those files across different paths?
To me this sounds more fragile than a move was in svn - am I missing
anything?
Next I'm thinking of deep-diving into some variant of svn2git to see if
it can do the move during migration so we won't lose history.
Does anybody have experience with re-shuffling the directory structure
during svn2git? If so, which "svn2git" should I use, given there are several
different tools of the same name.
many thanks,
Stephan