Skip to main content

parse_source

Function parse_source 

Source
pub fn parse_source(spec: &str) -> Result<Source, String>
Expand description

github:owner/repo@v2, forgejo:host/owner/repo, a git URL, or a local path.

The revision is split on the last @ that falls AFTER the last separator. That rule is not decoration: git@github.com:acme/repo.git carries an @ in its userinfo, and splitting on the last @ outright would read github.com as a revision and quietly fetch the wrong thing. Both / and \ count, or a Windows path containing an @ would lose its tail the same way.