On Thu, 7 Mar 2013 05:21:49 -0800 (PST)
Mirko Massignani <mirko.massign...@gmail.com> wrote:

> I have used Git  Bash
> git --version: git version 1.8.1.msysgit.1
> I have run: git svn clone URL_OF_YOUR_SVN_REPO
> without error because clone only trunk
> if run: git svn clone URL_OF_YOUR_SVN_REPO --trunk=trunk 
> --branches=branches --tags=tags --authors-file=MY_AUTHORS_FILE
> I obtain the same error (view attached file):
> r464 = c04aa2fb3bdeb95a31674072c0ceb9a4c5817821 (refs/remotes/v2.1)
> mkdir .git/svn/refs/remotes/v2.2 (:Net: Not a directory at 
> /usr/lib/perl5/site_p
> erl/Git/SVN.pm line 2317
> was an svn branch added (empty) at revision r464 and removed from the 
> repository at next revision r482(still empty)

Okay, the error comes from the mkdir() Perl function which apparently
tries to create a directory named "(:Net:", which is obviously not a
vaild path on Windows (on Windows, only a full pathname might contain a
colon, and only as its second character).  The directory is possibly
supposed to hold some per-branch configuration data.

I think there are two possible ways to fix this:
1) Run `gin svn clone` in a POSIX environment then rename (or delete)
   that bogus branch.  Then clone the resulting Git repository
   to your Windows machine.
   A POSIX environment might be any Linux- or *BSD-based OS.
   I'm not sure, but I think Git on Cygwin won't cut it either
   as in the end its attempt to create a pathname with colons
   will hit the Windows API and fail.
2) Perform appropriate surgery on the Subversion repository before
   cloning it to remove any traces of this bogus branch from it,
   and then `git svn clone` the resulting repo.
   This kind of surgery can be done using the `svndumpfilter` tool [1].

   Note that to do this, it's not necessary to be a repo admin --
   with a recently enough Subversion client (1.7 or something),
   you will have the `svnrdump` (remote dumping) utility
   which could be used to obtain a dump file of the remote repository.
   This dump could then be filtered and then loaded to a local
   repository accessed using the file:// protocol.  That repository
   could then be cloned using `git svn clone file://...`.

Next time please don't take an advice to provide as much context as
possible too verbatim: there's no need to post a 1+ megabyte file to a
list which is read by some few hundreds of subscribers -- printout of
fetching of just the preceding revision plus the error message would be
just enough.  Or at least `gzip -9` the log file first ;-)


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 git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to