Jump to content

Fast-Import exits with "Specified method is not supported." error


plucked

Recommended Posts

Hello,

I made an export of my git repository by cloning a mirror and resolving all git lfs files. Then I used git fast export to create the later import file.

git clone --mirror https://github.com/foo/bar.git migrated  
cd migrated
git lfs migrate export --include="*" --everything
git fast-export --all -M --signed-tags=strip --tag-of-filtered-object=drop > ..\git-fast-export.dat

 

Now I am trying to import it 

cm fast-import synctest@local git-fast-export.dat --export-marks=repo.marks

and it starts fine but at some point it stops with 

Error processing changeset mark 89859. Parent cset mark: 89849. Parent cset: 8282
Specified method is not supported.
M 100644 :89619 Path to some files (I removed them here, but it was a couple for c# files and a Dockerfile)
...
Error: Specified method is not supported.

The git export I am trying to import is about 50 GB.

I run a dry-test with stats and the output was like (I removed the branchnames)

git-seed.dat correctly parsed. 45845 commits. 26828 ms
	 [a list of branches here]
3401 branches
1 modified files found refering to an SHA instead of a mark
4481583 modified files
3,800.6 Mb in blobs. 564264 blobs
200/45845 csets. 0 ms
...
45600/45845 csets. 0 ms
3 parents out of order
1 csets without parent

Is there a way to debug this import error?

All that works fine and I tested a plastic scm import like this with a smaller repository. 

Link to comment
Share on other sites

Hi Carlos,

I tried out GitSync via the GUI and command line. It took a while to run (about 10 hours). When it was finished I could see the branches and history. But when I inspected further I saw that some branches where just off. For example our main branch is `develop` (set up as default in GitHub, we do not have a master branch) and it only has some few changes but its a branch we use since day one (4 years ago). There is a main branch, but this one has one random changeset from years ago. 

I am really confused how the import went. Pushing to cloud also did not worked because it was complaining every branch has multiple heads.

I tried the same with a smaller repo and it worked fine, but I want to figure out what needs to be done to migrate our main repo. Maybe you can help me when I give you more details about what I am trying to do:

Our project is obviously a game, so a lot of content and it looks like LFS is not the long term saviour as it was promised when we started using it. Therefore I am evaluating alternatives like Plastic or P4. The most important part is first to figure out that we can actually migrate without interrupting the production much, so the GitSync solution sounds amazing. 

The git repo currently has about 300 branches and is exported about 50GB in size (I mean the git fast-export with lfs pointers resolved). 

We adopted the git flow style with "develop" being our main, staging and release. All work is done in "feature/bugfix" branches and merged back into develop via pull requests. While a feature branch is in develop, there are normally multiple merges from develop to that branch. 

In the end I only need a one-time migration (I saw in other posts its possible to do with gitsync and then just disconnect it when done). remo

 

 

Link to comment
Share on other sites

Hi,

Quote

I tried out GitSync via the GUI and command line. It took a while to run (about 10 hours). When it was finished I could see the branches and history. But when I inspected further I saw that some branches where just off. For example our main branch is `develop` (set up as default in GitHub, we do not have a master branch) and it only has some few changes but its a branch we use since day one (4 years ago). There is a main branch, but this one has one random changeset from years ago. 

By default the git "master" branch is imported to the "main" Plastic branch. I'm guessing if the fact that you customized the main branch could make a difference when importing the branches but at the end of the day, all the commits should be imported to one branch or the other.

 

Quote

I am really confused how the import went. Pushing to cloud also did not worked because it was complaining every branch has multiple heads.

We can review the Plastic client logs to check if any error happened. Did the operation finish without any error?

On the other hand, Plastic doesn't support to push a branch with multiple heads. If after the sync with git, you want to push the Plastic branch to a different Plastic repo, you will need first to merge (unify) the heads.

Can we have some access to the git repo to repeat the sync and evaluate the results? We can sign an NDA if necessary. You can reach us via private message.

Regards,

Carlos.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...