mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
Source files keep their SPDX-License-Identifier and Hanzo copyright line; the Gitea, Gogs and LFS Test Server copyrights they used to repeat now live once in NOTICE, alongside LICENSE. The header lint accepts any copyright line above the SPDX line, so it no longer demands an upstream one. Co-authored-by: Hanzo Dev <[email protected]>
28 lines
872 B
Go
28 lines
872 B
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package gitrepo
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/hanzoai/git/modules/git"
|
|
)
|
|
|
|
// PushToExternal pushes a managed repository to an external remote.
|
|
func PushToExternal(ctx context.Context, repo Repository, opts git.PushOptions) error {
|
|
return git.Push(ctx, repoPath(repo), opts)
|
|
}
|
|
|
|
// Push pushes from one managed repository to another managed repository.
|
|
func Push(ctx context.Context, fromRepo, toRepo Repository, opts git.PushOptions) error {
|
|
opts.Remote = repoPath(toRepo)
|
|
return git.Push(ctx, repoPath(fromRepo), opts)
|
|
}
|
|
|
|
// PushFromLocal pushes from a local path to a managed repository.
|
|
func PushFromLocal(ctx context.Context, fromLocalPath string, toRepo Repository, opts git.PushOptions) error {
|
|
opts.Remote = repoPath(toRepo)
|
|
return git.Push(ctx, fromLocalPath, opts)
|
|
}
|