Как работают refSpecs для push? - PullRequest
0 голосов
/ 28 апреля 2018

Я пишу код, основанный на этом примере , но хотел бы использовать правильный восходящий поток, который был настроен для ветви.

const branch = await repo.getCurrentBranch();
const branchRefspec = branch.name();
const remoteRefspec = await Git.Branch.upstream(branch);
const remote = await repo.getRemote('origin');
await remote.push(
    [`${branchRefspec}:${remoteRefspec}`],
    {
        callbacks: {
            credentials: verifyUser,
        },
    },
);

По какой-то причине этот код ничего не делает. Я не смог найти никакой документации о том, что именно должен иметь этот параметр, и что следует за точкой с запятой. Что бы это ни было, это не похоже на старый добрый git's refspecs .

Если refspec оставить таким, как он есть в примере (то есть из одной и той же ветки), то каким-то образом это работает.

Почему этот код не работает? Какой refspec я должен пройти там и почему?

1 Ответ

0 голосов
/ 30 апреля 2018

Я проверил с людьми из libgit2, и ваши refspecs должны иметь расширенную форму refs/heads/master:refs/heads/master при нажатии. Вы не можете просто использовать master:master.

...