public static function create(
        Repository $repository,
        string $name,
        $startPoint = null,
        string $message = null
    )
    {
        $repository
            ->getCaller()
            ->execute(TagCommand::getInstance($repository)->create($name, $startPoint, $message));

        return $repository->getTag($name);
    }
public static function create(
        Repository $repository,
        string $name,
        $startPoint = null,
        string $message = null
    )
    {
        $repository
            ->getCaller()
            ->execute(TagCommand::getInstance($repository)->create($name, $startPoint, $message));

        return $repository->getTag($name);
    }
public static function create ( Repository $ repository , string $ name , $ startPoint = null , string $ message = null ) { $ repository -> getCaller ( ) -> execute ( TagCommand :: getInstance ( $ repository ) -> create ( $ name , $ startPoint , $ message ) ) ; return $ repository -> getTag ( $ name ) ; }
Creates a new tag on the repository and returns it

@param \GitElephant\Repository $repository repository instance
@param string                  $name       branch name
@param string                  $startPoint branch to start from
@param string                  $message    tag message

@throws \RuntimeException
@return \GitElephant\Objects\Tag
Creates a new tag on the repository and returns it