Skip to content
Snippets Groups Projects
Unverified Commit 2de519ca authored by Jamie Magee's avatar Jamie Magee Committed by GitHub
Browse files

feat(git-submodules): use checkout instead of submodule update (#7645)

parent 34d3e21e
No related branches found
No related tags found
No related merge requests found
import _simpleGit from 'simple-git';
import { dir } from 'tmp-promise';
import { Upgrade } from '../common';
import updateDependency from './update';
......@@ -8,28 +9,35 @@ const simpleGit: any = _simpleGit;
describe('manager/git-submodules/update', () => {
describe('updateDependency', () => {
let upgrade: Upgrade;
beforeAll(async () => {
const tmpDir = await dir();
upgrade = { localDir: tmpDir.path, depName: 'renovate' };
});
it('returns null on error', async () => {
simpleGit.mockReturnValue({
raw() {
submoduleUpdate() {
throw new Error();
},
});
const update = await updateDependency({
fileContent: '',
upgrade: {},
upgrade,
});
expect(update).toBeNull();
});
it('returns content on update', async () => {
const tmpDir = await dir();
simpleGit.mockReturnValue({
raw() {
submoduleUpdate() {
return Promise.resolve();
},
checkout() {
return Promise.resolve();
},
});
const update = await updateDependency({
fileContent: '',
upgrade: { localDir: tmpDir.path },
upgrade,
});
expect(update).toEqual('');
});
......
import Git from 'simple-git';
import upath from 'upath';
import { UpdateDependencyConfig } from '../common';
......@@ -7,15 +8,11 @@ export default async function updateDependency({
upgrade,
}: UpdateDependencyConfig): Promise<string | null> {
const git = Git(upgrade.localDir);
const submoduleGit = Git(upath.join(upgrade.localDir, upgrade.depName));
try {
await git.raw([
'submodule',
'update',
'--init',
'--remote',
upgrade.depName,
]);
await git.submoduleUpdate(['--init', upgrade.depName]);
await submoduleGit.checkout([upgrade.newVersion]);
return fileContent;
} catch (err) {
return null;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment