Skip to content

Commit eb5da17

Browse files
committed
Fix bug
1 parent f91ba44 commit eb5da17

File tree

2 files changed

+17
-34
lines changed

2 files changed

+17
-34
lines changed

modules/migrations/dump.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,10 @@ func RestoreRepository(ctx context.Context, baseDir string, ownerName, repoName
568568
return err
569569
}
570570
var uploader = NewGiteaLocalUploader(ctx, doer, ownerName, repoName)
571-
var downloader = NewRepositoryRestorer(ctx, baseDir, ownerName, repoName)
571+
downloader, err := NewRepositoryRestorer(ctx, baseDir, ownerName, repoName)
572+
if err != nil {
573+
return err
574+
}
572575
if err = migrateRepository(downloader, uploader, base.MigrateOptions{
573576
Wiki: true,
574577
Issues: true,

modules/migrations/restore.go

Lines changed: 13 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -26,43 +26,23 @@ type RepositoryRestorer struct {
2626
}
2727

2828
// NewRepositoryRestorer creates a repository restorer which could restore repository from a dumped folder
29-
func NewRepositoryRestorer(ctx context.Context, baseDir string, owner, repoName string) *RepositoryRestorer {
29+
func NewRepositoryRestorer(ctx context.Context, baseDir string, owner, repoName string) (*RepositoryRestorer, error) {
30+
baseDir, err := filepath.Abs(baseDir)
31+
if err != nil {
32+
return nil, err
33+
}
3034
return &RepositoryRestorer{
3135
ctx: ctx,
3236
baseDir: baseDir,
3337
repoOwner: owner,
3438
repoName: repoName,
35-
}
36-
}
37-
38-
func (r *RepositoryRestorer) topicDir() string {
39-
return filepath.Join(r.baseDir)
40-
}
41-
42-
func (r *RepositoryRestorer) milestoneDir() string {
43-
return filepath.Join(r.baseDir)
44-
}
45-
46-
func (r *RepositoryRestorer) labelDir() string {
47-
return filepath.Join(r.baseDir)
48-
}
49-
50-
func (r *RepositoryRestorer) releaseDir() string {
51-
return filepath.Join(r.baseDir)
52-
}
53-
54-
func (r *RepositoryRestorer) issueDir() string {
55-
return filepath.Join(r.baseDir)
39+
}, nil
5640
}
5741

5842
func (r *RepositoryRestorer) commentDir() string {
5943
return filepath.Join(r.baseDir, "comments")
6044
}
6145

62-
func (r *RepositoryRestorer) pullrequestDir() string {
63-
return filepath.Join(r.baseDir)
64-
}
65-
6646
func (r *RepositoryRestorer) reviewDir() string {
6747
return filepath.Join(r.baseDir, "reviews")
6848
}
@@ -101,7 +81,7 @@ func (r *RepositoryRestorer) GetRepoInfo() (*base.Repository, error) {
10181

10282
// GetTopics return github topics
10383
func (r *RepositoryRestorer) GetTopics() ([]string, error) {
104-
p := filepath.Join(r.topicDir(), "topic.yml")
84+
p := filepath.Join(r.baseDir, "topic.yml")
10585

10686
var topics = struct {
10787
Topics []string `yaml:"topics"`
@@ -122,7 +102,7 @@ func (r *RepositoryRestorer) GetTopics() ([]string, error) {
122102
// GetMilestones returns milestones
123103
func (r *RepositoryRestorer) GetMilestones() ([]*base.Milestone, error) {
124104
var milestones = make([]*base.Milestone, 0, 10)
125-
p := filepath.Join(r.milestoneDir(), "milestone.yml")
105+
p := filepath.Join(r.baseDir, "milestone.yml")
126106
_, err := os.Stat(p)
127107
if err != nil {
128108
if os.IsNotExist(err) {
@@ -146,7 +126,7 @@ func (r *RepositoryRestorer) GetMilestones() ([]*base.Milestone, error) {
146126
// GetReleases returns releases
147127
func (r *RepositoryRestorer) GetReleases() ([]*base.Release, error) {
148128
var releases = make([]*base.Release, 0, 10)
149-
p := filepath.Join(r.releaseDir(), "release.yml")
129+
p := filepath.Join(r.baseDir, "release.yml")
150130
_, err := os.Stat(p)
151131
if err != nil {
152132
if os.IsNotExist(err) {
@@ -175,7 +155,7 @@ func (r *RepositoryRestorer) GetReleases() ([]*base.Release, error) {
175155
// GetLabels returns labels
176156
func (r *RepositoryRestorer) GetLabels() ([]*base.Label, error) {
177157
var labels = make([]*base.Label, 0, 10)
178-
p := filepath.Join(r.labelDir(), "label.yml")
158+
p := filepath.Join(r.baseDir, "label.yml")
179159
_, err := os.Stat(p)
180160
if err != nil {
181161
if os.IsNotExist(err) {
@@ -199,7 +179,7 @@ func (r *RepositoryRestorer) GetLabels() ([]*base.Label, error) {
199179
// GetIssues returns issues according start and limit
200180
func (r *RepositoryRestorer) GetIssues(page, perPage int) ([]*base.Issue, bool, error) {
201181
var issues = make([]*base.Issue, 0, 10)
202-
p := filepath.Join(r.issueDir(), "issue.yml")
182+
p := filepath.Join(r.baseDir, "issue.yml")
203183
_, err := os.Stat(p)
204184
if err != nil {
205185
if os.IsNotExist(err) {
@@ -247,7 +227,7 @@ func (r *RepositoryRestorer) GetComments(issueNumber int64) ([]*base.Comment, er
247227
// GetPullRequests returns pull requests according page and perPage
248228
func (r *RepositoryRestorer) GetPullRequests(page, perPage int) ([]*base.PullRequest, bool, error) {
249229
var pulls = make([]*base.PullRequest, 0, 10)
250-
p := filepath.Join(r.pullrequestDir(), "pull_request.yml")
230+
p := filepath.Join(r.baseDir, "pull_request.yml")
251231
_, err := os.Stat(p)
252232
if err != nil {
253233
if os.IsNotExist(err) {
@@ -266,7 +246,7 @@ func (r *RepositoryRestorer) GetPullRequests(page, perPage int) ([]*base.PullReq
266246
return nil, false, err
267247
}
268248
for _, pr := range pulls {
269-
pr.PatchURL = filepath.Join(r.baseDir, pr.PatchURL)
249+
pr.PatchURL = "file://" + filepath.Join(r.baseDir, pr.PatchURL)
270250
}
271251
return pulls, true, nil
272252
}

0 commit comments

Comments
 (0)