We're a C# development shop, and I've gone through the trouble of making a
script that will safely migrate stand-alone SVN projects into a Git
repository without problems. There's a lot of support for Git to promote
subdirectories up the directory structure, but not much support to push
them down the directory structure.
My problem is this:
- For legacy reasons we have a set of projects that were always included
as externs in a larger project.
- Those "extern" projects also have a separate repository for unit
tests, etc.
- I want to create a new C# solution to merge everything about these
extern projects so I can turn them into nuget packages and all
related source code in one place
We have a mess that we did to ourselves. I can pre-stage what I want to do
in Subversion, but it will break all the externs--which just compounds the
work. While I did see some fancy git index filtering commands to push the
contents of a git repository down a directory I haven't been able to get
them to run correctly in Git for Windows.
Let's say we have the following SVN structure:
- Common
- trunk
- branches
- tags
- Common.WPF
- trunk
- branches
- tags
- Common.WinForms
- trunk
- branches
- tags
- Unit Tests
- trunk
- branches
- tags
I want to create one Git repository that looks like this:
- Common
- Core
- WPF
- WinForms
- Test
All while preserving the history for each of these. Converting the
individual projects to a Git repository isn't a problem. It's merging them
together so I can finish the job of turning these into libraries we
reference rather than embed. Even if you convince me that Core, WPF, and
WinForms should be in separate repositories, the Unit Tests that go against
Core code need to be merged in to that project.
Is there anything that would allow me to create a parent Git repository and
do separate Git SVN mounts for the subfolders? That would be ideal.
--
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.