Скопируйте репозиторий GitHub

Самый простой способ сделать это должно добавить .config файл в разделе развертывания по Вашему модульному тесту.

Для этого открываются .testrunconfig файл от Ваших Объектов Решения. В разделе Deployment добавьте вывод .config файлы от каталога сборки Вашего проекта (по-видимому bin\Debug).

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

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

56
задан Michael Goerz 23 April 2014 в 06:13
поделиться

3 ответа

Во-первых, каждый субъект, ожидающий получения , занимает поток. Если он никогда ничего не получит, этот поток никогда ничего не сделает. Актер на response не занимает ни одного потока, пока что-то не получит. Как только он что-то получает, ему выделяется поток, и он инициализируется в нем.

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

Есть различные причины производительности, почему вам может понадобиться то или иное. Как вы знаете, слишком много потоков в Java - не лучшая идея. С другой стороны, поскольку вам нужно присоединить актера к потоку, прежде чем он сможет отреагировать , получит сообщение быстрее, чем отреагирует на него. Поэтому, если у вас есть акторы, которые получают много сообщений, но очень мало с ними делают, дополнительная задержка response может сделать его слишком медленным для ваших целей.

--all

Сделайте вид, будто все ссылки в $ GIT_DIR / refs / перечислены в командной строке как .

Он добавляет:

ваш текущий пакет будет связывать только родителей коммита, вам, вероятно, потребуется указать - all , чтобы получить полный набор из всего (ветвей, которые являются потомками главного

Чтобы увидеть разницу:

$ git bundle create /tmp/foo master
$ git bundle create /tmp/foo-all --all
$ git bundle list-heads /tmp/foo
$ git bundle list-heads /tmp/foo-all
46
ответ дан 26 November 2019 в 17:22
поделиться

но, насколько я могу судить, это не позволяет легко обновить (мне пришлось бы удалить и воссоздать мою локальную резервную копию).

Не уверен, что вы имеете в виду под что его обновление должно быть таким же простым, как

git fetch

git clone , поскольку предполагается, что он будет извлекать все ссылки / коммиты, которые видны в удаленной ветке.

git clone --mirror также не сильно отличается от git clone --bare [источник]

единственное существенное отличие - сокращенное удаленное добавление git --mirror

(см. git help add , чтобы узнать о другом поведении)

Если вы действительно беспокоитесь, вы можете сделать это:

git clone --no-hardlinks --mirror $original $dest 

Что будет делать что-то другое, только если они были включены в любом случае та же файловая система.

И если вы действительно параноик, вы можете использовать tar.

9
ответ дан 26 November 2019 в 17:22
поделиться

То, что вы спрашиваете, довольно сложно сделать в рамках ограничений git. Проблема в том, что ни клонирование, ни выборка по умолчанию не предоставят вам все ветки. См. Этот вопрос:

В качестве примера клонирования репо с несколькими ветвями приведена расшифровка:

% git clone -o tufts linux.cs.tufts.edu:/r/ghc/git/experimental.git
Initialized empty Git repository in /usr/local/nr/git/ghc/experimental/.git/
% cd experimental/
% git fetch
% git branch -a
* head
  tufts/HEAD
  tufts/experimental
  tufts/head
  tufts/norman
% git branch --track experimental tufts/experimental
Branch experimental set up to track remote branch refs/remotes/tufts/experimental.
% git branch --track norman tufts/norman
   ...

Вы можете видеть, что клонирование каждой ветки происходит программно быть немного сложнее.

Если github предоставляет доступ к rsync или Unison , это лучшие инструменты для работы. Иначе придется писать страшные скрипты ...

0
ответ дан 26 November 2019 в 17:22
поделиться
Другие вопросы по тегам:

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