Как я могу перечислить все файлы с помощью NodeGit? (Эквивалент git ls-files)
В настоящее время я использую следующие
git
команда для вывода списка всех неотслеживаемых и измененных файлов:
git ls-files -mo --exclude-standard
Есть ли для него эквивалент в
NodeGit
Мир?
1 ответ
Это один из способов, которыми я смог удовлетворить вышеуказанное требование:
const Git = require("nodegit");
const _ = require("lodash");
function getDirtyFiles(path) {
Git.Repository.open(path).then(function (repository) {
repository.getStatus().then(function(statusFiles) {
const dirtyFiles = _.chain(statusFiles)
.filter((statusFile) => (statusFile.isModified() || statusFile.isNew()))
.flatMap((statusDirtyFile) => statusDirtyFile.path())
.value();
console.log(dirtyFiles);
});
});
};
getDirtyFiles(process.cwd());
Следующая строка помогает сопоставить
-mo
параметры:
statusFile.isModified() || statusFile.isNew()