|
|
@ -7,6 +7,7 @@ package cmd |
|
|
|
import ( |
|
|
|
import ( |
|
|
|
"errors" |
|
|
|
"errors" |
|
|
|
"net/http" |
|
|
|
"net/http" |
|
|
|
|
|
|
|
"strings" |
|
|
|
|
|
|
|
|
|
|
|
"code.gitea.io/gitea/modules/log" |
|
|
|
"code.gitea.io/gitea/modules/log" |
|
|
|
"code.gitea.io/gitea/modules/private" |
|
|
|
"code.gitea.io/gitea/modules/private" |
|
|
@ -37,10 +38,10 @@ var CmdRestoreRepository = cli.Command{ |
|
|
|
Value: "", |
|
|
|
Value: "", |
|
|
|
Usage: "Restore destination repository name", |
|
|
|
Usage: "Restore destination repository name", |
|
|
|
}, |
|
|
|
}, |
|
|
|
cli.StringSliceFlag{ |
|
|
|
cli.StringFlag{ |
|
|
|
Name: "units", |
|
|
|
Name: "units", |
|
|
|
Value: nil, |
|
|
|
Value: "", |
|
|
|
Usage: `Which items will be restored, one or more units should be repeated with this flag. |
|
|
|
Usage: `Which items will be restored, one or more units should be separated as comma. |
|
|
|
wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments are allowed. Empty means all units.`, |
|
|
|
wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments are allowed. Empty means all units.`, |
|
|
|
}, |
|
|
|
}, |
|
|
|
cli.BoolFlag{ |
|
|
|
cli.BoolFlag{ |
|
|
@ -55,13 +56,16 @@ func runRestoreRepository(c *cli.Context) error { |
|
|
|
defer cancel() |
|
|
|
defer cancel() |
|
|
|
|
|
|
|
|
|
|
|
setting.LoadFromExisting() |
|
|
|
setting.LoadFromExisting() |
|
|
|
|
|
|
|
var units []string |
|
|
|
|
|
|
|
if s := c.String("units"); s != "" { |
|
|
|
|
|
|
|
units = strings.Split(s, ",") |
|
|
|
|
|
|
|
} |
|
|
|
statusCode, errStr := private.RestoreRepo( |
|
|
|
statusCode, errStr := private.RestoreRepo( |
|
|
|
ctx, |
|
|
|
ctx, |
|
|
|
c.String("repo_dir"), |
|
|
|
c.String("repo_dir"), |
|
|
|
c.String("owner_name"), |
|
|
|
c.String("owner_name"), |
|
|
|
c.String("repo_name"), |
|
|
|
c.String("repo_name"), |
|
|
|
c.StringSlice("units"), |
|
|
|
units, |
|
|
|
c.Bool("validation"), |
|
|
|
c.Bool("validation"), |
|
|
|
) |
|
|
|
) |
|
|
|
if statusCode == http.StatusOK { |
|
|
|
if statusCode == http.StatusOK { |
|
|
|