From 21997dd3e6a1c90a5856f77cf8a7587236961a3f Mon Sep 17 00:00:00 2001 From: Gustaf Dalemar Date: Fri, 1 Dec 2017 15:41:15 +0100 Subject: [PATCH] fix(roc-plugin-repo): Make sure we are working with a non shallow repo This solves some issues in CI servers, like Travis, where a shallow clone would be done that results in problems when trying to correctly bootstrap the repository. --- .../roc-plugin-repo/src/semver/generateStatus.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/extensions/roc-plugin-repo/src/semver/generateStatus.js b/extensions/roc-plugin-repo/src/semver/generateStatus.js index bac20df..7edb1a9 100644 --- a/extensions/roc-plugin-repo/src/semver/generateStatus.js +++ b/extensions/roc-plugin-repo/src/semver/generateStatus.js @@ -1,7 +1,11 @@ +import { existsSync } from 'fs'; + import conventionalChangelog from 'conventional-changelog'; import conventionalCommitsFilter from 'conventional-commits-filter'; +import execa from 'execa'; import semver from 'semver'; import { upperCase } from 'lodash'; +import log from 'roc/log/default/small'; import { isBreakingChange, @@ -34,6 +38,15 @@ export default async function generateStatus( }; }); + // Make sure we have all of the commits to be able to generate the right status + // if we are working with a shallow clone of the repository + if (existsSync('.git/shallow')) { + log.info( + 'The git repository is shallow and will be unshallowed to work correctly.', + ); + await execa('git', ['fetch', '--unshallow', '--tags'], { reject: false }); + } + const latest = await getLatestCommitsSinceRelease( 'angular', from,