Параллелизм в МЕРЗАВЦЕ repo на сетевой совместно используемой папке

Я думаю, что вашей главной проблемой является отсутствие window для window.alert, также вы можете использовать синтаксис ES6, чтобы вообще не использовать +:

const highTemps = ["32", "41", "36", "29", "39", "37", "40"];
const lowTemps = ["18", "24", "20", "27", "30", "31", "27"];
const d = new Date();
const n = d.getDay();

if(n === 0) {
  window.alert(`Expect a high of ${highTemps[0]} and a low of ${lowTemps[0]} today.`);
} else if(n === 1) {
  window.alert (`Expect a high of ${highTemps[1]} and a low of ${lowTemps[1]} today.`);
} else if(n === 2) {
  window.alert (`Expect a high of ${highTemps[2]} and a low of ${lowTemps[2]} today.`);
} else if(n === 3) {
  window.alert (`Expect a high of ${highTemps[3]} and a low of ${lowTemps[3]} today.`);
} else if(n === 4) {
  window.alert (`Expect a high of ${highTemps[4]} and a low of ${lowTemps[4]} today.`);
} else if(n === 5) {
  window.alert (`Expect a high of ${highTemps[5]} and a low of ${lowTemps[5]} today.`);
} else if(n === 6) {
  window.alert (`Expect a high of ${highTemps[6]} and a low of ${lowTemps[6]} today.`);
} else {
  alert("Who knows what the temperature is?!");
};


console.log("The average temperature for this week is [average].");
console.log("The warmest day of the week will have a high temperature of [hTemperature]");
console.log("The lowest low temperature of the week will be [lTemperature].)");

Или вы можете даже:

const highTemps = ["32", "41", "36", "29", "39", "37", "40"];
const lowTemps = ["18", "24", "20", "27", "30", "31", "27"];
const d = new Date();
const n = d.getDay();

for (let i = 0; i < highTemps.length; i++) {
  if  (n === i) {
    window.alert(`Expect a high of ${highTemps[i]} and a low of ${lowTemps[i]} today.`);  
  } 

  if (n >= 7) {
    window.alert("Who knows what the temperature is?!");
  }
}

console.log("The average temperature for this week is [average].");
console.log("The warmest day of the week will have a high temperature of [hTemperature]");
console.log("The lowest low temperature of the week will be [lTemperature].)");

48
задан Alex 15 April 2009 в 09:50
поделиться

4 ответа

Git требует минимальной блокировки файлов, что, по моему мнению, является основной причиной проблем при использовании такого типа общих ресурс через сетевую файловую систему. Причина, по которой это может сойти с рук, заключается в том, что большинство файлов в репозитории Git - все те, которые образуют объектную базу данных - называются дайджестом их содержимого и являются неизменяемыми после создания. Таким образом, проблема двух клиентов, пытающихся использовать один и тот же файл для разного контента, не возникает.

Другая часть объектной базы данных более хитрая - ссылки хранятся в файлах в каталоге «refs» (или в "pack-refs"), и они действительно меняются: хотя файлы refs / * маленькие и всегда переписываются, а не редактируются. В этом случае Git записывает новый ref во временную ".lock" файл, а затем переименовывает его поверх целевого файла. Если файловая система соблюдает семантику O_EXCL , это безопасно. Даже если нет, то худшее, что может случиться, это гонки, перезаписывающие файл ссылок. Хотя с этим было бы неприятно столкнуться, это не должно вызывать коррупцию как таковую: это может быть случай, когда вы подталкиваете к общему репо, и этот толчок выглядит как успешный, тогда как на самом деле это сделал кто-то другой. Но это можно было бы решить просто потянув (объединяя коммиты другого парня) и подтолкнув снова.

Итак, я не думаю, что коррупция в репо - это слишком большая проблема здесь - это правда, что все может пойти не так из-за проблем с блокировкой, но дизайн репозитория Git сведет к минимуму ущерб.

(Отказ от ответственности: все это звучит хорошо в теории, но я '

43
ответ дан 26 November 2019 в 19:02
поделиться

Зачем беспокоиться? Git предназначен для распространения. Просто создайте репозиторий на каждой машине и используйте механизм публикации и извлечения для распространения ваших изменений между ними.

Для целей резервного копирования запустите ночное задание, чтобы скопировать ваш репозиторий в общий ресурс.

Или создайте по одному репозиторию каждый на делитесь и делайте свою работу из них, но используйте их как распределенные репозитории, из которых вы можете извлекать наборы изменений друг из друга. Если вы используете этот метод, то производительность выполнения сборок и т. Д. Будет снижена, поскольку вы будете иметь постоянный доступ по сети.

Или распределите репозитории на своих компьютерах,

7
ответ дан 26 November 2019 в 19:02
поделиться

Звучит так же, как если бы вы предпочли использовать централизованную систему управления версиями, поэтому запрос на резервное копирование удовлетворен. Возможно, с xxx2git между вами, чтобы вы работали локально.

-2
ответ дан 26 November 2019 в 19:02
поделиться

Очевидно, поддерживается использование центрального репозитория git. Большинство предписанных вариантов использования указывают на доступ по ssh или http, ни один из которых не позволяет избежать одновременного доступа к репо. Даже если вы используете полностью распределенное использование, этот вопрос возникает, если более двух соавторов нажимают на одно и то же репо в любом месте. Пока нет ответа на вопрос. Позволяет ли структура git обрабатывать N одновременных нажатий на ветку?

5
ответ дан 26 November 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: