NAME Git::RemoteURL::Parse - Parse and classify Git remote URLs (GitHub, GitLab) VERSION Version 0.04 SYNOPSIS use Git::RemoteURL::Parse; my $info = parse_git_remote_url('https://github.com/user/repo.git'); if ($info) { if ($info->{service} eq 'github') { print "GitHub repo: $info->{user}/$info->{repo}\n"; } elsif ($info->{service} eq 'gitlab') { print "GitLab repo: $info->{group_path}/$info->{repo}\n"; } } else { warn "Not a recognized GitHub or GitLab URL\n"; } DESCRIPTION This module provides a single function, "parse_git_remote_url()", which analyzes a Git remote URL and identifies whether it points to a GitHub or GitLab repository. It also extracts the repo and the user name or group path, respectively. Supported URL formats include both HTTPS and SSH variants. SUPPORTED FORMATS * GitHub HTTPS: * "https://github.com/user/repo.git" * "https://token@github.com/user/repo" * GitHub SSH: * "git@github.com:user/repo.git" * "git@gh-alias:user/repo" * GitLab HTTPS: * "https://gitlab.com/group/subgroup/repo.git" * GitLab SSH: * "git@gitlab.com:group/sub/repo.git" * "git@gl-alias:group1/group2/repo.git" FUNCTIONS "parse_git_remote_url(*URL*)" Takes a Git remote *"URL"* string and returns a hash reference with the following structure: * For GitHub: { service => 'github', user => 'USERNAME', repo => 'REPO_NAME', } * For GitLab: { service => 'gitlab', group_path => 'GROUP/SUBGROUP/...', repo => 'REPO_NAME', } Returns "undef" if the URL is not recognized as a valid GitHub or GitLab URL. AUTHOR Klaus Rindfrey, "" SEE ALSO App::ghmulti BUGS Please report any bugs or feature requests to "bug-git-remoteurl-parse at rt.cpan.org", or through the web interface at . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. SUPPORT You can find documentation for this module with the perldoc command. perldoc Git::RemoteURL::Parse You can also look for information at: * RT: CPAN's request tracker (report bugs here) * Search CPAN * GitHub Repository LICENSE AND COPYRIGHT This software is copyright (c) 2025 by Klaus Rindfrey. This module is free software. You may redistribute it and/or modify it under the same terms as Perl itself.