|
|
@@ -0,0 +1,397 @@ |
|
|
|
|
|
|
|
const ИМЯ = "test-cors"; |
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
Закомитать = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
console.debug("01") |
|
|
|
|
|
|
|
var дата = new Date(); |
|
|
|
await мир.fs.promises.writeFile(мир.директория + "/abc", дата.toString(), "utf8"); |
|
|
|
await git.add({ |
|
|
|
fs: мир.fs, |
|
|
|
dir: мир.директория, |
|
|
|
filepath: "abc" |
|
|
|
}); |
|
|
|
var sha = await git.commit({ |
|
|
|
fs: мир.fs, |
|
|
|
dir: мир.директория, |
|
|
|
message: мир.сообщение, |
|
|
|
author: мир.автор, |
|
|
|
}) |
|
|
|
|
|
|
|
console.debug("commit sha:", sha); |
|
|
|
|
|
|
|
await git.push({ |
|
|
|
fs: мир.fs, |
|
|
|
http: мир.гитHTTP, |
|
|
|
dir: мир.директория, |
|
|
|
remote: мир.источник, |
|
|
|
ref: мир.ветка, |
|
|
|
onAuth: function(url) { |
|
|
|
var auth = { |
|
|
|
"username": мир.пользователь, |
|
|
|
"password": мир.пароль, |
|
|
|
}; |
|
|
|
var json = JSON.stringify(auth); |
|
|
|
console.debug(`Auth url: '${url}' auth: '${json}'`); |
|
|
|
return auth; |
|
|
|
}, |
|
|
|
}); |
|
|
|
|
|
|
|
console.debug("закомитали") |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
УведомитьОбОшибкеПолученияСпискаФайлов = function(мир) |
|
|
|
{ |
|
|
|
var сообщение = `ОШИБКА Не удалось получить список файлов | ERROR Could not get a list of files ${мир.ошибка}`; |
|
|
|
document.body.innerHTML += `<p>${сообщение}</p>`; |
|
|
|
console.error(сообщение); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ВывестиСписокФайлов = function(мир) |
|
|
|
{ |
|
|
|
console.debug("файлы", мир.файлы); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ПолучитьСписокФайлов = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
мир.файлы = await мир.fs.promises.readdir(мир.директория); |
|
|
|
мир.уведомить("получили список файлов"); |
|
|
|
} |
|
|
|
catch (ошибка) |
|
|
|
{ |
|
|
|
мир.ошибка = ошибка; |
|
|
|
мир.уведомить("не получили список файлов"); |
|
|
|
} |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
УведомитьОПерезагрузке = function(мир) |
|
|
|
{ |
|
|
|
var сообщение = `ВНИМАНИЕ Происходит очистка локальной копии Гита с последующей перезагрузкой страницы | WARNING There's a local Git copy cleanup going on with a subsequent page reload ${мир.ошибка}`; |
|
|
|
document.body.innerHTML += `<p>${сообщение}</p>`; |
|
|
|
console.error(сообщение); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
УведомитьОЗавершенииОбновления = function(мир) |
|
|
|
{ |
|
|
|
console.debug("завершили обновление"); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
Перезагрузить = function(мир) |
|
|
|
{ |
|
|
|
setTimeout( |
|
|
|
function() { |
|
|
|
window.location.reload(false); |
|
|
|
}, |
|
|
|
4000 |
|
|
|
); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ОчиститьФайловуюСистему = function(мир) |
|
|
|
{ |
|
|
|
// Очищаем IndexedDB. |
|
|
|
мир.fs = new LightningFS(мир.имяФС, { wipe: true }); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ОбновитьХранилище = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
await git.pull({ |
|
|
|
fs: мир.fs, |
|
|
|
http: мир.гитHTTP, |
|
|
|
dir: мир.директория, |
|
|
|
url: мир.хранилище, |
|
|
|
depth: 1, |
|
|
|
username: мир.пользователь, |
|
|
|
password: мир.пароль, |
|
|
|
author: мир.автор, |
|
|
|
}); |
|
|
|
|
|
|
|
мир.уведомить("обновили хранилище"); |
|
|
|
} |
|
|
|
catch (ошибка) |
|
|
|
{ |
|
|
|
мир.ошибка = ошибка; |
|
|
|
мир.уведомить("не обновили хранилище"); |
|
|
|
} |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
УведомитьОЗавершенииКлонирования = function(мир) |
|
|
|
{ |
|
|
|
console.debug("завершили клонирование"); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
СклонироватьХранилище = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
await git.clone({ |
|
|
|
fs: мир.fs, |
|
|
|
http: мир.гитHTTP, |
|
|
|
dir: мир.директория, |
|
|
|
url: мир.хранилище, |
|
|
|
depth: 1, |
|
|
|
username: мир.пользователь, |
|
|
|
password: мир.пароль, |
|
|
|
}); |
|
|
|
|
|
|
|
мир.уведомить("склонировали хранилище"); |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
УведомитьОбОшибкеПодготовкиДиректории = function(мир) |
|
|
|
{ |
|
|
|
var сообщение = `ОШИБКА Не удалось подготовить директорию для хранилища Гит | ERROR Could not prepare a directory for Git repository ${мир.ошибка}`; |
|
|
|
document.body.innerHTML += `<p>${сообщение}</p>`; |
|
|
|
console.error(сообщение); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ПодготовитьДиректорию = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
await мир.fs.promises.mkdir(мир.директория); |
|
|
|
мир.уведомить("подготовили директорию"); |
|
|
|
} |
|
|
|
catch (ошибка) |
|
|
|
{ |
|
|
|
мир.ошибка = ошибка; |
|
|
|
мир.уведомить("не подготовили директорию"); |
|
|
|
} |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ПроверитьНаличиеДиректории = function(мир) |
|
|
|
{ |
|
|
|
мир.fs = new LightningFS(мир.имяФС); |
|
|
|
|
|
|
|
(async() => { |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
await мир.fs.promises.readdir(мир.директория); |
|
|
|
мир.уведомить("директория присутствует"); |
|
|
|
} |
|
|
|
catch (ошибка) |
|
|
|
{ |
|
|
|
мир.ошибка = ошибка; |
|
|
|
мир.уведомить("директория отсутствует"); |
|
|
|
} |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ЗадатьНастройки = function(мир) |
|
|
|
{ |
|
|
|
мир.имяФС = "fs"; |
|
|
|
мир.пользователь = "root"; |
|
|
|
мир.пароль = "root"; |
|
|
|
мир.автор = { |
|
|
|
"name": "Михаил Капелько", |
|
|
|
"email": "kornerr@gmail.com", |
|
|
|
}; |
|
|
|
мир.ветка = "master"; |
|
|
|
мир.директория = "/" + мир.ветка; |
|
|
|
мир.источник = "origin"; |
|
|
|
мир.сообщение = "Изменения от isomorphic-git"; |
|
|
|
|
|
|
|
мир.хранилище = "https://git.opengamestudio.org/kornerr/isomorphic-git-module-test"; |
|
|
|
мир.хранилище = "https://git.opengamestudio.org/kornerr/test-cors"; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
УведомитьОПускеТеста = function(мир) |
|
|
|
{ |
|
|
|
console.debug("пуск теста"); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
СоздатьВетку = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
console.debug("01"); |
|
|
|
|
|
|
|
await git.checkout({ |
|
|
|
fs: мир.fs, |
|
|
|
dir: мир.директория, |
|
|
|
ref: мир.ветка, |
|
|
|
}); |
|
|
|
|
|
|
|
console.debug("02"); |
|
|
|
|
|
|
|
console.log("создали ветку"); |
|
|
|
мир.уведомить("создали ветку"); |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
СоздатьВеткуДистанционно = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
console.debug("01") |
|
|
|
|
|
|
|
await git.push({ |
|
|
|
fs: мир.fs, |
|
|
|
http: мир.гитHTTP, |
|
|
|
dir: мир.директория, |
|
|
|
remote: мир.источник, |
|
|
|
ref: мир.ветка, |
|
|
|
onAuth: function() { |
|
|
|
return { |
|
|
|
"username": мир.пользователь, |
|
|
|
"password": мир.пароль, |
|
|
|
}; |
|
|
|
}, |
|
|
|
}); |
|
|
|
|
|
|
|
console.debug("02") |
|
|
|
console.log("создали ветку дистанционно"); |
|
|
|
мир.уведомить("создали ветку дистанционно"); |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
СоздатьВеткуЛокально = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
await git.branch({ |
|
|
|
fs: мир.fs, |
|
|
|
dir: мир.директория, |
|
|
|
ref: мир.ветка, |
|
|
|
checkout: true, |
|
|
|
}); |
|
|
|
|
|
|
|
console.log("создали ветку локально"); |
|
|
|
мир.уведомить("создали ветку локально"); |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ПроверитьНаличиеВетки = function(мир) |
|
|
|
{ |
|
|
|
(async() => { |
|
|
|
|
|
|
|
var ветки = await git.listBranches({ |
|
|
|
fs: мир.fs, |
|
|
|
dir: мир.директория, |
|
|
|
}); |
|
|
|
|
|
|
|
if (ветки.includes(мир.ветка)) |
|
|
|
{ |
|
|
|
мир.уведомить("ветка присутствует"); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
мир.уведомить("ветка отсутствует"); |
|
|
|
} |
|
|
|
|
|
|
|
})(); |
|
|
|
}; |
|
|
|
|
|
|
|
*/ |
|
|
|
|