Управление исходным кодом: Несколько репозиториев для того же проекта

Оказывается, мне просто нужно было заменить useEffect на useLayoutEffect

из документов :

Подпись идентична useEffect, но он запускается синхронно после всех мутаций DOM. Используйте это для чтения макета из DOM и синхронного повторного рендеринга. Обновления, запланированные внутри useLayoutEffect, будут сбрасываться синхронно, прежде чем браузер сможет рисовать.

BLOCKQUOTE>

6
задан Andreas Grech 5 March 2009 в 20:07
поделиться

3 ответа

Все возможно :)

Править: поспешность никогда не приводит к качеству, ни сделала мой ответ, пропустив все Справочники по Windows в вопросе. Таким образом, вот информация о том, как получить синхронизацию, работающую над Windows.

У Вас есть 2 машины в этом случае:

  • Машина A: куда репозиторий работает теперь.
  • Машина B: где требуется синхронизировать к.

Создайте новый репозиторий на B, с которым Вы хотите синхронизироваться от A. Очень важно, чтобы этот репозиторий был пробелом (работающий rev0).

На B, в папке SVN недавно созданного репозитория, обзора к рычагам / и создают следующие Bat-файлы:

start-commit.bat

IF "%2" == "someusername" (goto :label1) else (echo "Only the someusername account may commit new revisions" >&2 )

exit 1
goto :eof

:label1
exit 0

pre-revprop-change.bat

IF "%3" == "someuser" (goto :label1) else (echo "Only the someuser user may change revision properties" >&2 )

exit 1
goto :eof

:label1
exit 0

someuser будучи syncuser, который существует в машине репозиторий A и является единственным пользователем с правами в машине репозиторий B. Очень важно, чтобы никакие фиксации не были сделаны вручную к машине репозиторий B.

В /hooks папка репозитория на машине A

post-commit.bat

CD PATH_TO_SUBVERSION\bin
svnsync sync svn://machineB/repos --non-interactive --no-auth-cache --source-username machineAusername --source-password machineApassword --sync-username machineBusername --sync-password machineBpassword

После того как эти пакетные файлы существуют, мы должны сказать репозиторию на B, что хотим синхронизироваться с ним:

svnsync initialize svn://machineB/repos svn://machineA/repos --non-interactive --no-auth-cache --source-username machineAusername --source-password machineApassword --sync-username machineBusername --sync-password machineBpassword

который должен возвратить что-то как: Copied properties for revision 0.

Теперь каждый раз, когда Вы фиксируете в репозиторий на машине, это будет скопировано в машину репозиторий B.

Очень важно отметить что, если Вы хотите синхронизироваться с Google Code или другим репозиторием онлайн, что они фиксируют магистральное/ответвление/тег структуру в пересмотр 1. Необходимо связаться с ними для сброса репозитория, если Вы хотите использовать их местоположение репозитория сторонних производителей в качестве репозитория синхронизации.

Дать кредит, где должный я скопировал pre-revprop-change.bat и start-commit.bat из http://www.svnforum.org/2017/viewtopic.php?t=5745&sid=06551a22d9c0b5780cf1faab6b0e8ce9

Я просто реализовал это сам на тестовом репозитории и, кажется, работаю как очарование. Я рад, что заметил этот вопрос, хотя svnsync снизился слишком в глубине души в моем черепе. Я означал делать настроенный это при установке svn на работе. Таким образом, я знаю то, что первая вещь, я буду делать на работе завтра, спасибо за это!

РЕДАКТИРОВАНИЕ 2:

Если у Вас, как я, есть тонны репозиториев, этот универсальный post-commit.bat мог бы обратиться к Вам:

SET REPOS=%1
SET REV=%2
SET REPOS=%REPOS:D:\SVN=%

CD "C:\Program Files\Subversion\bin"

svnsync sync svn://machineB/%REPOS%-sync --non-interactive --no-auth-cache --source-username usernameA --source-password passwordA --sync-username usernameB --sync-password passwordB

Это ловит название репозитория и использует его для динамичного определения синхронизирующего URL. Я снабдил суффиксом все свои репозитории синхронизации на машине B с -sync для ясности. D:\SVN бит является корнем svnserve на machineB даже при том, что этот универсальный Bat-файл должен быть помещен в / рычаги корня svnserve machineA.

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

Я не уверен, что полностью понял Вашу проблему, но я думаю, что то, что Вы ищете, является svnsync.

У Вас могут быть свой основной репозиторий в жестком диске Вашего ноутбука и зеркальный репозиторий в Вашем настольном/домашнем сервере.

Просто передайте свои изменения в основном репозитории и затем синхронизируйте его в свой зеркальный репозиторий (репозитории). Этот процесс является возрастающим, поэтому только изменения, так как последняя синхронизация является trasferred, но быть осторожной с неимеющими версию свойствами.

Также Вы могли бы хотеть смотреть в здесь и здесь.

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

С чистой точки зрения SVN нет у Вас может только быть одна .svn папка, которая указывает только на 1 repo в Вашей рабочей папке.

Можно использовать post-commit-hooks на svn repo, чтобы попытаться сохранить обоих repos в синхронизации.. но действительно у Вас просто есть неправильный инструмент если, именно это Вы хотите.

Проблема Ваш описывает, в ее основе распределенная система управления версиями как МЕРЗАВЕЦ. Который позволяет Вам делать фиксации локально и также продвигать его в удаленный репозиторий.

Вы могли даже использовать МЕРЗАВЦА локально и SVN как Ваш удаленный repo, если бы Вы были так склонны.

  • посмотрите МЕРЗАВЦА для инструмента
  • посмотрите GitHub для бесплатного общедоступного хостинга
-1
ответ дан 17 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

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