Merge.bases only returns one Oid
Abierto
Nadie ha tomado este issue todavía.
Bug
- Lenguaje dominante
- JavaScript
- Estrellas
- 5.8k
- Forks
- 704
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
How do you get multiple Oid out of an an Oid array? The Oids don't seems to be indexes, a call to oidarray.ids() returns one Oid, and multiple calls return the same Oid.
Setup:
git init
git commit --allow-empty --message foo1
git checkout -b dev
git commit --allow-empty --message foo2
git checkout master
git commit --allow-empty --message foo3
git merge -m "first merge base" dev
git checkout dev
git merge -m "second merge base" master~1
git merge-base --all master dev
# cac0d9e9c4d20fa2d09dcc9dfdbe44fcb5ad60d3
# 986123894e73887c35a1ee8294e9a17f1536144d
Script:
'use strict';
const git = require('nodegit');
function branchesOid(repo) {
return Promise.all([
repo.getReferenceCommit('master'),
repo.getReferenceCommit('dev'),
]).then(commits => commits.map(c => c.id()));
}
git.Repository.open('.git').then(repo => {
return branchesOid(repo).then(oid => git.Merge.bases(repo, ...oid))
}).then(oidarray => console.log(
oidarray.count(),
oidarray[0],
oidarray[1],
oidarray.ids(),
oidarray.ids()
));
Result:
$ node merge-base.js
2 undefined undefined [Oid cac0d9e9c4d20fa2d09dcc9dfdbe44fcb5ad60d3] [Oid cac0d9e9c4d20fa2d09dcc9dfdbe44fcb5ad60d3]
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza ejecutando la reproducción de merge-base.js y siguiendo el punto de entrada git.Merge.bases en los bindings de NodeGit. Se considera terminado cuando la colección devuelta expone ambos Oids de merge-base de forma coherente, incluidos los patrones de acceso mostrados en el informe.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- git, javascript, node.js
- Área
- api
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100