mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
2978 files. The fork is 2026-07-15 (rebrand: gitea.dev -> github.com/hanzoai/git), so 2026 is the year, and "Copyright 2026 Hanzo AI, Inc." was already the form used by the handful of files that had ours. Shape is now: // Copyright 2026 Hanzo AI, Inc. All rights reserved. // Copyright 2015 The Gogs Authors. All rights reserved. // Copyright 2019 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT Ours on top, theirs retained verbatim. Retained because MIT requires it, and separately because they are true — those authors did write that code. Not renamed to "The Git Authors": Git is a different project under a different license, and putting its name here would attribute this code to people who have nothing to do with it. Adding our line is the fix; overwriting theirs would have been both a licence violation and a false statement. gofmt still reports import-order drift in some of these files. It predates this change (verified against a stash) and is left alone rather than burying a one-line-per-file legal change under 3000 files of unrelated reordering. Build clean. Co-authored-by: Hanzo Dev <[email protected]>
87 lines
2.8 KiB
Go
87 lines
2.8 KiB
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// Copyright 2021 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package migration
|
|
|
|
import (
|
|
"context"
|
|
"net/url"
|
|
)
|
|
|
|
// NullDownloader implements a blank downloader
|
|
type NullDownloader struct{}
|
|
|
|
var _ Downloader = &NullDownloader{}
|
|
|
|
// GetRepoInfo returns a repository information
|
|
func (n NullDownloader) GetRepoInfo(_ context.Context) (*Repository, error) {
|
|
return nil, ErrNotSupported{Entity: "RepoInfo"}
|
|
}
|
|
|
|
// GetTopics return repository topics
|
|
func (n NullDownloader) GetTopics(_ context.Context) ([]string, error) {
|
|
return nil, ErrNotSupported{Entity: "Topics"}
|
|
}
|
|
|
|
// GetMilestones returns milestones
|
|
func (n NullDownloader) GetMilestones(_ context.Context) ([]*Milestone, error) {
|
|
return nil, ErrNotSupported{Entity: "Milestones"}
|
|
}
|
|
|
|
// GetReleases returns releases
|
|
func (n NullDownloader) GetReleases(_ context.Context) ([]*Release, error) {
|
|
return nil, ErrNotSupported{Entity: "Releases"}
|
|
}
|
|
|
|
// GetLabels returns labels
|
|
func (n NullDownloader) GetLabels(_ context.Context) ([]*Label, error) {
|
|
return nil, ErrNotSupported{Entity: "Labels"}
|
|
}
|
|
|
|
// GetIssues returns issues according start and limit
|
|
func (n NullDownloader) GetIssues(_ context.Context, page, perPage int) ([]*Issue, bool, error) {
|
|
return nil, false, ErrNotSupported{Entity: "Issues"}
|
|
}
|
|
|
|
// GetComments returns comments of an issue or PR
|
|
func (n NullDownloader) GetComments(_ context.Context, commentable Commentable) ([]*Comment, bool, error) {
|
|
return nil, false, ErrNotSupported{Entity: "Comments"}
|
|
}
|
|
|
|
// GetAllComments returns paginated comments
|
|
func (n NullDownloader) GetAllComments(_ context.Context, page, perPage int) ([]*Comment, bool, error) {
|
|
return nil, false, ErrNotSupported{Entity: "AllComments"}
|
|
}
|
|
|
|
// GetPullRequests returns pull requests according page and perPage
|
|
func (n NullDownloader) GetPullRequests(_ context.Context, page, perPage int) ([]*PullRequest, bool, error) {
|
|
return nil, false, ErrNotSupported{Entity: "PullRequests"}
|
|
}
|
|
|
|
// GetReviews returns pull requests review
|
|
func (n NullDownloader) GetReviews(_ context.Context, reviewable Reviewable) ([]*Review, error) {
|
|
return nil, ErrNotSupported{Entity: "Reviews"}
|
|
}
|
|
|
|
// FormatCloneURL add authentication into remote URLs
|
|
func (n NullDownloader) FormatCloneURL(opts MigrateOptions, remoteAddr string) (string, error) {
|
|
if len(opts.AuthToken) > 0 || len(opts.AuthUsername) > 0 {
|
|
u, err := url.Parse(remoteAddr)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
u.User = url.UserPassword(opts.AuthUsername, opts.AuthPassword)
|
|
if len(opts.AuthToken) > 0 {
|
|
u.User = url.UserPassword("oauth2", opts.AuthToken)
|
|
}
|
|
return u.String(), nil
|
|
}
|
|
return remoteAddr, nil
|
|
}
|
|
|
|
// SupportGetRepoComments return true if it supports get repo comments
|
|
func (n NullDownloader) SupportGetRepoComments() bool {
|
|
return false
|
|
}
|