XBigTK13X
XBigTK13X

Reputation: 2755

Converting a subversion repository to git, why am I seeing "fatal: not a valid object name"?

I am seeing the following output while converting a subversion repo to git.

> Found possible branch point: <repo-url>/trunk => <repo-url>/branches/CMT_PHASE3, 18441
> fatal: Not a valid object name refs/remotes/BlueSimViewer 5.0 20110316 Branch
> cat-file commit refs/remotes/BlueSimViewer 5.0 20110316 Branch: command returned error: 128

The command I am running to convert the repo is

> git svn clone <repo-url> -A authors-transform.txt --stdlayout converted-git > svnlog

This process has already converted 117 branches, some with spaces in their names. I first found this SO question, which helped me move forward from a previous issue solved by git 1.8.x.x.

Any insight as to the cause of this problem and possible ways of fixing it are greatly appreciated.

I am running git version 1.8.1.1 on an Ubuntu 12.10 server. I am happy to provide any other information that would be helpful.

Upvotes: 5

Views: 3102

Answers (2)

Marcelo Idemax
Marcelo Idemax

Reputation: 2810

Might be too late now but I guess I found a, at least, odd solution.

Open the file git-repo-name/.git/packged-refs that you mentioned and replace the %20 for spaces, save the document and try again. Worked for me.

Edited in Notepad++ with UTF-8.

Git version: git version 2.6.2.windows.1 (win 7 64x via git bash).

Upvotes: 8

XBigTK13X
XBigTK13X

Reputation: 2755

I found a solution, but I am not satisfied with the result. If someone can provide a way to do this without ignoring the problematic branches, then I am happy to accept his or her answer.

For each branch/tag that throws this error, open the following file

git-repo-name/.git/packged-refs

and place a pound symbol (#) at the start of the line containing the offending branch/tag.

For example, with respect to my question

b88c4df0d47a9ca43c2d0ffd4a1f6e471f98aebc refs/remotes/BlueSimViewer%205.0%2020110316%20Branch

becomes

#b88c4df0d47a9ca43c2d0ffd4a1f6e471f98aebc refs/remotes/BlueSimViewer%205.0%2020110316%20Branch

This marks the line as a comment, and git will continue the conversion process while ignoring the problematic branch.

I am still converting at the time of writing this answer. Although this solution means some branches are missed, at least I will know what branches aren't there.

Upvotes: 6

Related Questions