NAME

Yukki::Model::Remove - model repsenting a repository remote

VERSION

version 0.991_004

SYNOPSIS

    my $repository = $app->model('Repository', { repository => 'main' });
    my $remote = $repository->remove('origin');
    $remote->pull;
    $remove->push;

DESCRIPTION

Tools for working with remote repositories.

EXTENDS

Yukki::Model

ATTRIBUTES

name

This is the local alias name given to the remote repository.

repository

This is the Yukki::Model::Repository the remote is assicated with.

METHODS

remote_url

    $remote->remote_url($url);
    my $url = $remote->remote_url;

This returns the remote URL for this remote repository. If passed a URL, this will update the URL associated with this remote.

pull

    my @conflicts = $remote->pull;

This will fetch data from a remote repository into the current and then attempt to bring those changes into the repository's site branch from the branch with the same name in the remote repository. This will perform a fast-forward merge if possible. If not, it will perform a rebase, which will take any local changes and try to apply them after the remote changes. If that does not work, it will attempt a merge.

On success, it will return an empty list, indicating that it was able to perform the pull operation. If it failed, it will return a list of file names.

AUTHOR

Andrew Sterling Hanenkamp <hanenkamp@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Qubling Software LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.