nodegit / nodegit/nodegit

Merge.bases only returns one Oid

Abierto
#1,231 3 comentarios 0 reacciones 0 asignados Ver en GitHub

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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.