Initial commit

Co-Authored-By: Eric Tuvesson <eric.tuvesson@gmail.com>
Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com>
Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com>
Co-Authored-By: Anders Larsson <64838990+anders-topp@users.noreply.github.com>
Co-Authored-By: Johan  <4934465+joolsus@users.noreply.github.com>
Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com>
Co-Authored-By: victoratndl <99176179+victoratndl@users.noreply.github.com>
This commit is contained in:
Michael Cartner
2024-01-26 11:52:55 +01:00
commit b9c60b07dc
2789 changed files with 868795 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
import { IRemote } from '../core/models/remote';
import { getRemotes, setRemoteURL as _setRemoteURL } from '../core/remotes';
import { GitActionError, GitActionErrorCode } from './git-action-error';
/**
* Returns a single remote.
*
* @param repositoryDir
* @throws {GitHelperError}
* @returns A single remote.
*/
export async function getRemote(repositoryDir: string): Promise<Readonly<IRemote>> {
const remotes = await getRemotes(repositoryDir);
if (remotes.length === 0) {
// When there are no remotes, we assume that the repository is local only.
// This might not always be the case,
// but ideally a remote branch should have been created.
throw new GitActionError(GitActionErrorCode.LocalRepository);
}
// TODO: It would be nice if the git client selects a default remote
// and then we work from that remote, so you can
// technically have many different remotes at once.
return remotes[0];
}
export async function setRemoteURL(repositoryDir: string, remoteName: string, url: string): Promise<void> {
await _setRemoteURL(repositoryDir, remoteName, url);
}