private static parseReplacedStatus()

in src/dal/git/GitCommandArgumentsParser.ts [32:44]


    private static parseReplacedStatus(statusRow: string): GitParsedStatusRow {
        const porcelainStatusGitRegExp: RegExp = /^([RC\s])([MAD\s])\s(.*)->(.*)$/;
        const parsedPorcelain: string[] = porcelainStatusGitRegExp.exec(statusRow);
        if (!parsedPorcelain || parsedPorcelain.length !== 5) {
            throw new Error(`Incorrect number of parsed arguments in the replaced path "${statusRow}"`);
        }
        return {
            indexStatus: parsedPorcelain[1].trim() !== "" ? parsedPorcelain[1].trim() : undefined,
            workingTreeStatus: parsedPorcelain[2].trim() !== "" ? parsedPorcelain[2].trim() : undefined,
            relativePath: parsedPorcelain[4].trim(),
            prevRelativePath: parsedPorcelain[3].trim()
        };
    }