Предложения для домашней системы управления версиями

$.getScript загружает скрипты JavaScript. В отличие от внутренних сценариев, сценариев, где содержимое находится внутри HTML, нельзя использовать внешний сценарий для загрузки чего-либо, кроме JavaScript.

Чтобы загрузить текстовый файл современным простым способом, используйте fetch и async / await

async function main() {
  const vertexShader = await fetch("path/to/file/vertexShader.glsl").then(req => req.text());
  ...
}
main();

или, конечно, превратите его в функцию

async function main() {
  const vertexShader = await loadText("path/to/file/vertexShader.glsl");
  ...
}

function loadText(url) {
  return fetch("path/to/file/vertexShader.glsl").then(req => req.text());
}

main();

или без async / await [ 1118]

fetch("path/to/file/vertexShader.glsl")
  .then(req => req.text())
  .then(function( vertexShader ) {
    console.log(vertexShader);
  });

или если вы хотите, чтобы это выглядело как getScript

getTextFile("path/to/file/vertexShader.glsl", function( vertexShader ) {
  console.log(vertexShader);
});

function getTextFile(url, callback) {
  fetch("path/to/file/vertexShader.glsl")
    .then(req => req.text())
    .then(callback);
}

, где сказано, что если бы я и я хотел, чтобы мои шейдеры были внешними, я бы использовал import ] / export как в

// myvertexshader.glsl
default export `
  attribute vec4 position
  void main() {
    gl_Position = position;
  }
`;

И тогда вы можете import сделать это в другом модуле javascript, как в

// main.js
import vertexShader from './myvertexshader.glsl';
...

main.js, который должен быть включен как модуль [ 1122]


import работает только в современных браузерах (например, в тех, которые запускают WebGL2), но вы можете использовать что-то вроде накопительного пакета , чтобы преобразовать его обратно в старый файл JavaScript в одном стиле.

Это имеет то преимущество, что во время разработки все ваши файлы являются отдельными, но для производства / развертывания вы можете собрать свой JavaScript в один большой файл, который будет загружаться намного быстрее, чем многие маленькие файлы

three.js делает это , если вы хотите увидеть пример

8
задан skaffman 17 May 2012 в 08:10
поделиться

17 ответов

Я знаю, что Вы упомянули, что уже попробовали Подверсию и имели некоторые проблемы, но Вы действительно не можете победить легкую установку и конфигурацию

Сервер VisualSVN

Безумно легкий установить и поддержать.


Используйте VisualSVN для бэкенда и TortoiseSVN для клиента, и Вы будете в порядке в мгновение ока.

Плюс Вы может всегда делать svndump репозитория VisualSVN, если Вы хотите переключиться на что-то еще в будущем.

19
ответ дан 5 December 2019 в 04:31
поделиться

Я использую Buildix от Thoughtworks. Можно установить его на выделенном сервере или использовать его в качестве VM. Хотя это - больше, чем просто SVN: Это также включает trac, Cruisecontrol и Mingle.

0
ответ дан 5 December 2019 в 04:31
поделиться

Я обдумывал этот точный вопрос и серьезно рассматривал Базар. Я не могу сказать Вам, насколько хороший это, не используя его, но Вы могли бы хотеть проверить его, поскольку это выглядит многообещающим. Подобный Мерзавцу и Подвижный, но они утверждают, что намного легче настроить и использовать.

0
ответ дан 5 December 2019 в 04:31
поделиться

Другое голосование за Subversion+TortoiseSVN, хотя это не играет приятно на внутреннем NAS на основе FAT32.

0
ответ дан 5 December 2019 в 04:31
поделиться

Необходимо, по крайней мере, посмотреть на окаменелость с открытым исходным кодом VCS www.fossil-scm.org, это может работать и DVCS и клиент-серверным VCS.

  • Простой установить, единственный исполняемый файл.
  • Простой скопировать, это - единственный репозиторий SQLLITE.
  • Простой взять Ваш репозиторий с Вами где угодно, я выполняю окаменелость от карты флэш-памяти и могу теперь взять мой персональный код где угодно, моя карта флэш-памяти идет.

Прямо сейчас это не имеет графического интерфейса, но я уверен, что будет тот когда-то в будущем.

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

1
ответ дан 5 December 2019 в 04:31
поделиться

Ну, откровенно говоря, я предложил бы сосать его и сделать SVN. Это может быть грубый запуск, но это окупится.

0
ответ дан 5 December 2019 в 04:31
поделиться

Я использовал и cvs и svn, к большому эффекту, для домашних проектов. Лично, я звучу как svn немного тяжелее для установки первоначально - определение структуры каталогов и использование тех URL для всего, казалось, были, дают больше стычки, чем это должно иметь. Хотя svn обычно видит большее использование всюду по промышленности, если бы у Вас нет проблем с cvs, я волновался бы слишком много о различии. Понятия, окружающие управление исходным кодом (которые главным образом накладываются между двумя), более важны.

1
ответ дан 5 December 2019 в 04:31
поделиться

Это больше не находится действительно в моде, но я имел большой успех с помощью CVS для управления версиями. Я сохраняю папку 'кода' со всеми своими фрагментами кода на различных языках, а также всеми своими персональными домашними проектами в репозитории CVS. CVS является более старым и не работает, а также другие системы с переименованием или реструктуризацией папок/файлов. На обороте то, что это было вокруг таких длинных средств, существует много портов и приложений GUI для него, а также пакетов интеграции для IDE, и т.д. Я был очень рад им в течение прошлых нескольких лет, что использовал его, несмотря на любые недостатки.

1
ответ дан 5 December 2019 в 04:31
поделиться

Можно использовать Подверсию без стычки установки сервера.

Просто загрузите TortoiseSVN и создайте локальный репозиторий в папке, которую Вы предпочитаете. Используйте тот же клиент, чтобы сделать обновления, фиксации...

Подробнее: link1 / link2

2
ответ дан 5 December 2019 в 04:31
поделиться

Кто-то упомянул Мерзавца; я упомяну Подвижный с TortoiseHg.

2
ответ дан 5 December 2019 в 04:31
поделиться

Я лично использую продукт Хранилища SourceGear, это свободно для однопользовательского доступа и было бризом для установки, и это имеет клиента администрирования GUI, а также Интеграцию VS.

3
ответ дан 5 December 2019 в 04:31
поделиться

Не бойтесь git. Стало намного легче использовать, чем это раньше было!

Это соответствует всем Вашим требованиям (открытый исходный код/free/run на Win32 / GUI, который включен), и существует много хороших доступных ресурсов.

Как действительно основное руководство, с помощью командной строки ("Мерзавец GUI" должен быть симпатичен сам объяснительный):

  1. mkdir myrepo - сделайте новый каталог, это могло быть существующим dir с Вашим кодом в нем
    • git init - превращает каталог в репозиторий мерзавца. это в основном добавляет a .git/ папка к текущему каталогу. Это похоже на использование VisualSVN, создавая новый репозиторий, затем проверяющий его к рабочему каталогу (только без сервера
    • vim myfile.txt - сделайте новый файл, если у Вас есть существующие файлы, очевидно, можно пропустить это
    • git add myfile.txt - начните отслеживать новый файл (подобный svn add'луг файл)
    • git commit - фиксации вообще Вы работали git add на.

.. и вот именно. У Вас есть прослеженный файл версии! При изменении файла Вы делаете git add myfile.txt снова для "подготавливания" изменений затем фиксируйте добавлять все подготовленные файлы в фиксацию.

Это немного отличается к тому, как SVN работает. С SVN Вы фиксируете файл, и он отправляется на сервер. С мерзавцем Вы подготавливаете файл (или несколько файлов или даже биты файла, который очень полезен), затем фиксируют их.

Можно сделать все вышеупомянутое легко (включая создание репозиториев, подготовив определенные строки в файле) в Мерзавце GUI.

В Windows, установка msysgit.

Затем если Вы не возражаете тратить 9$, наблюдайте эпизод МЕРЗАВЦА Peepcode за всесторонним обзором того, каков мерзавец, как он работает, и как использовать его.

С другой стороны, GitCasts являются также очень хорошим (свободным) набором скринкастов, которые покрывают большую часть основного материала. Наблюдайте за теми, Вы думаете, было бы полезно для Вас, я рекомендую следить за установкой, затем нормальный рабочий процесс, затем МЕРЗАВЕЦ на окнах

Наконец, Волшебство МЕРЗАВЦА является замечательным гидом по выполнению всего с мерзавцем. Я использую его много, несмотря на то, что использовал мерзавца много за прошлый год или так (для ответа, "полезно, как делают меня..." вещи, которые Вы забываете. Скажите, "как я восстанавливаю потерянную фиксацию", "как я сбрасываю репозиторий к 4 изменениям назад"),

Я также рекомендовал бы играть вокруг с GitHub. Это - очень хорошее для использования размещающего мерзавца сайта. При создании нового репозитория он дает Вам список команд, чтобы сделать новый репозиторий и продвинуть Ваши изменения в к GitHub (что-то, что я действительно не покрывал - распределенный рабочий процесс gitcasts, peepcode эпизод и волшебство мерзавца все покрытие это действительно хорошо),

4
ответ дан 5 December 2019 в 04:31
поделиться

По необходимости имеет бесплатные две пользовательских версии. Превосходный продукт. http://www.perforce.com/

Обновление 2012 года: Там теперь бесплатные 20 пользовательских версий, все еще превосходных, с новыми возможностями.

5
ответ дан 5 December 2019 в 04:31
поделиться

Единственными опциями, о которых я знаю, которые отвечают Вашим требованиям, является CVS и SVN. Из тех 2 я рекомендовал бы SVN. Я знаю, что Вы уже попробовали его без успеха, поэтому возможно, необходимо попытаться отправить другой вопрос, описывающий точно, какова проблема была.

Наш великолепный лидер отправил пошаговое руководство, описывающее, как установить SVN на окнах, которые могли бы разрешить Вашу проблему.

0
ответ дан 5 December 2019 в 04:31
поделиться

Я думаю, что SVN является действительно Вашим лучшим выбором. Смотрите на документацию здесь о том, как настроить ее.

Я настроил пару SVN repos на поле окон и никогда действительно имел проблему особенно, когда Вы используете TortoiseSVN

4
ответ дан 5 December 2019 в 04:31
поделиться

Я не могу полагать, что никто не упомянул МЕРЗАВЦА.

Это идеально для того, что Вы ищете. Каждый рабочий каталог становится репозиторием. Это - простой случай изменения на Ваш dir проекта. Init'ing и Committing затем начинают работать. Имеет некоторые аккуратные функции того, чтобы перейти и объединиться.

3
ответ дан 5 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

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