How to use git-svnimport without trunk, tags and branches?

5 messages, 2 authors, 2016-06-15 · open the first message on its own page

How to use git-svnimport without trunk, tags and branches?

From: Georg Lohrer <hidden>
Date: 2016-06-15 22:42:59

Hi,

I have searched the archive but did not found any hint for my problem.
Perhaps I did not have the right search pattern, but see yourself:

The most important thing prior of using git was to import my subversion
repositories. It seems to be quite easy if the SVN-repositories are of
common structure using the trunk, tags and branches structure.

But times ago I have had the idea of not using the traditional structure
of subversion for some of my repositories but using the repository
directly as single directory - no trunk, no tags, no branches. That was
because I thought only a geek would have the "complicated" way for only
a few files without any need for tags and branches.
And now the git-svnimport does not seem to be able to handle a SVN-repos
structure like mine:

~/svnrepos/
      |------- projectA
                  |---- foo.cpp
                  |---- foo.h

I want to import projectA into git _with_ the commit-history (there are
of course no tags and no branches).
Is there a way to do that with git-svnimport? Or do I have to throw away
all the details, checkout projectA and reimport it as initial version
with git?

Any hints are warmly appreciated.

Ciao, Georg

Re: How to use git-svnimport without trunk, tags and branches?

From: Karl Hasselström <hidden>
Date: 2016-06-15 22:42:59

On 2007-03-11 12:38:31 +0100, Georg Lohrer wrote:
But times ago I have had the idea of not using the traditional
structure of subversion for some of my repositories but using the
repository directly as single directory - no trunk, no tags, no
branches. That was because I thought only a geek would have the
"complicated" way for only a few files without any need for tags and
branches. And now the git-svnimport does not seem to be able to
handle a SVN-repos structure like mine:

~/svnrepos/
     |------- projectA
                 |---- foo.cpp
                 |---- foo.h

I want to import projectA into git _with_ the commit-history (there
are of course no tags and no branches). Is there a way to do that
with git-svnimport? Or do I have to throw away all the details,
checkout projectA and reimport it as initial version with git?
You could try something like this:

  trunk: svnrepos/projectA
  tags: svnrepos/dummytags
  branches: svnrepos/dummybranches

I haven't tested, but I think that kind of maneouver should work.

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

Re: How to use git-svnimport without trunk, tags and branches?

From: Georg Lohrer <hidden>
Date: 2016-06-15 22:42:59

Hi Karl,

Karl Hasselström schrieb:
  > You could try something like this:
  trunk: svnrepos/projectA
  tags: svnrepos/dummytags
  branches: svnrepos/dummybranches

I haven't tested, but I think that kind of maneouver should work.
yes, that does the trick. I use:

$ cd ~/tmp/git-test
$ tar xvfj fooRepos.tar.bz2
$ mv fooRepos foorRepos.svnrepos
$ svn mkdir file:///home/georg/tmp/git-test/fooRepos.svnrepos/dummytags
$ svn mkdir file:///home/georg/tmp/git-test/foorRepos.svnrepos/dummybranches
$ mkdir fooRepos.git; cd fooRepos.git
$ git-svnimport -b dummybranches -t dummytags -T projectA 
file:///home/georg/tmp/git-test/fooRepos.svnrepos

Unfortunately there was a bunch of directories  instead of a single 
projectA-directory. Do I have to repeat the above mentioned sequence for 
every directory (projectA, projectB, ...) or is there a simple way of 
git-svnimport'ing into an existing git-repository?

Nevertheless, if that is not possible, I could extract with your way 
the desired directories separately and keep the histories intact.

Regards, Georg

Re: How to use git-svnimport without trunk, tags and branches?

From: Karl Hasselström <hidden>
Date: 2016-06-15 22:42:59

On 2007-03-11 17:57:13 +0100, Georg Lohrer wrote:
Karl Hasselström schrieb:
quoted
You could try something like this:

 trunk: svnrepos/projectA
 tags: svnrepos/dummytags
 branches: svnrepos/dummybranches
yes, that does the trick. I use:

$ cd ~/tmp/git-test
$ tar xvfj fooRepos.tar.bz2
$ mv fooRepos foorRepos.svnrepos
$ svn mkdir file:///home/georg/tmp/git-test/fooRepos.svnrepos/dummytags
$ svn mkdir file:///home/georg/tmp/git-test/foorRepos.svnrepos/dummybranches
$ mkdir fooRepos.git; cd fooRepos.git
$ git-svnimport -b dummybranches -t dummytags -T projectA file:///home/georg/tmp/git-test/fooRepos.svnrepos
Did you try importing without creating the dummy* directories? I think
it may work even if they don't exist.
Unfortunately there was a bunch of directories instead of a single
projectA-directory. Do I have to repeat the above mentioned sequence
for every directory (projectA, projectB, ...) or is there a simple
way of git-svnimport'ing into an existing git-repository?
You could try this:

  trunk: dummy
  tags: dummy
  branches: svnrepos

That should turn svnrepos/projectA into the branch projectA,
svnrepos/projectB into the branch projectB, and so on.

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

Re: How to use git-svnimport without trunk, tags and branches?

From: <hidden>
Date: 2016-06-15 22:42:59

Zitat von Karl Hasselström [off-list ref]:
You could try this:

  trunk: dummy
  tags: dummy
  branches: svnrepos
No, it does not do that. Instead I got a huge amount of errors as with giving no
details at all (passing only the non-standard svn-repository).

But, I fixed the way around now, by scrutinizing through the history and looking
for essential parts. I checkedout the specific versions seperately and rebuild
the history by cg-add'ing the file-versions one after the other. The hard way,
but there were not many really important files.

So, thank you a lot for passing me your help.

Ciao, Georg
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help