tea icon indicating copy to clipboard operation
tea copied to clipboard

Migrate repositories from a HTTP URL, local disk or SSH URL

Open lunny opened this issue 6 years ago • 6 comments

If we can implement a sub command migrate, that will be helpful.

# migrate from a http URL
tea --login=try migrate https://github.com/go-gitea/tea.git --name=gitea/tea

# migrate from local disk
tea --login=try migrate ./tea.git --name=gitea/tea

# migrate from a SSH URL, clone from ssh and then upload from local disk
tea --login=try migrate [email protected]:go-gitea/tea.git --name=gitea/tea

lunny avatar Apr 26 '19 04:04 lunny

I'm not well informed about the architecture, but afaik the gitea server implements migration logic for all these cases.. If so, the CLI shouldn't need to push from local disk, but trigger the migration on server side for the HTTP/SSH URL case. This way the local clone can be made optional (with a --clone BooleanFlag?), which might be of interest for large automated migrations.

noerw avatar Apr 26 '19 12:04 noerw

@noerw gitea does not implement migration from local path

lafriks avatar Apr 26 '19 14:04 lafriks

@lafriks I think it does, but is disabled by default.

techknowlogick avatar Apr 26 '19 14:04 techknowlogick

but from server disk but this would be way to migrate from users local disk

lafriks avatar Apr 26 '19 14:04 lafriks

Yes, just like @lafriks said. This in fact will do three steps when migrate from local disk:

  1. create a repo on gitea server
  2. git add remote to that gitea server repo
  3. push to remote server.

The original migration from disk will migrate from gitea server's disk but not guest's.

lunny avatar Apr 26 '19 14:04 lunny

This command also could be some part of scripts to batch migrate local git repositories to gitea server.

lunny avatar Apr 26 '19 14:04 lunny