Существует несколько сценариев для рассмотрения: (a) если Вы портируете существующее приложение и задаетесь вопросом, если Моно достаточно хорошо для этой задачи; (b) Вы начинаете писать некоторый новый код, и Вы хотите знать, если Моно достаточно зрело.
Для первого случая, можно использовать инструмент Mono Migration Analyzer (Moma), чтобы оценить, как далеко приложение от работы Моно. Если оценка возвращается с развевающимися знаменами, необходимо запустить на тестировании и QA и подготовиться поставляться.
, Если Ваша оценка возвращается с отчетом функции подсветки, которые отсутствуют или значительно отличаются по их семантике в Моно, который необходимо будет оценить, может ли код быть адаптирован, переписан или в худшем случае, может ли приложение работать с уменьшенной функциональностью.
Согласно нашей статистике Moma на основе пользовательских представлений (это из памяти) приблизительно 50% работы приложений из поля, приблизительно 25% требуют приблизительно недельной ценности работы (рефакторинг, адаптируясь), еще 15% требуют серьезного обязательства восстановить блоки Вашего кода, и остальное просто не стоит потрудиться портировать, так как они так невероятно связываются с Win32. В той точке или Вы запускаете с нуля, или бизнес-решение будет управлять усилием сделать Ваш код портативным, но мы говорим ценность месяцев о работе (по крайней мере, из отчетов, которые мы имеем).
, Если Вы запускаете с нуля, ситуация намного более проста, потому что Вы будете только использовать API, которые присутствуют в Моно. Пока Вы остаетесь с поддерживаемым стеком (который является в значительной степени.NET 2.0 плюс все базовые обновления в 3,5 включая LINQ и Систему. Ядро, плюс любые из Моно межплатформенных API), Вы будете в порядке.
Время от времени Вы могли бы столкнуться с ошибками в Моно или ограничениях, и Вам, возможно, придется работать вокруг них, но это не отличается, чем какая-либо другая система.
Что касается мобильности: приложения ASP.NET являются более легкими к порту, поскольку у тех есть мало ни к каким зависимостям от Win32, и можно даже использовать SQL-сервер или другие популярные базы данных (существует много связанных поставщиков БД с Моно).
Windows. Портирование форм иногда более хитро, потому что разработчикам нравится выходить из песочницы.NET и P/Invoke их мозги для конфигурирования вещей, столь же полезных как изменение курсора мигающий уровень, выраженный как две точки bezier, закодированные в форме BCD в wParam. Или некоторый спам как этот.
Да, это возможно. IIRC, git использует относительный подход. Так что синхронизировать его с другим компьютером безопасно.
Вы можете использовать rsync без каких-либо проблем, но если у вас есть некоторые удаленные устройства, объявленные с именами хостов, которые являются локальными для машины (т.е. хранятся только в / etc / hosts), то они явно не будут работать.
Однако есть ли причина, по которой вы не используете сам git для синхронизации содержимого?
Да, вы можете, но вы должны сделать это с пустым репозиторием, как показано в этой ветке .
$ git clone --bare ./projet projet.git
$ rsync -a --stats --delete ./projet.git/ votre.serveur:~/projets/projet.git/
Примечание: 6+ лет спустя, git 2.8 (март 2016) официально не рекомендуют и полностью удаляют протокол git rsync !
См. commit 0d0bac6 (30 января 2016 г.) Джефф Кинг ( peff
) .
(Объединено Junio C Hamano - gitster
- в commit 9f03176 , 17 февраля 2016 г.)
Получается out "
git clone
" через транспорт rsync был нарушен, когда исходный репозиторий уже давно упакован ссылками, и никто не заметил и не пожаловался на это.
Commit 0d0bac6 от Джефф Кинг ( peff
) имеет все подробности.
Да, rsync
в директории .git
возможно и приведет к полному клонированию репозитория.
Ответ: у разработчиков должно быть 2 машины !!
Одна машина для разработки с правами администратора и достаточной мощностью, памятью, размером экрана и переносимостью, а также правами ADMIN с загруженным корпоративным антивирусным ПО, которое можно настроить разработчик при необходимости с политикой автоматического сброса.
Один корпоративный, который имеет корпоративную нагрузку, политики, права пользователей без прав администратора и т. д. Разработчик может использовать его для модульного тестирования приложений в режиме выпуска, поскольку некоторые разработчики имеют неприятную привычку выполнение всех модульных тестов с правами администратора. Обратите внимание, что этот протокол устарел, потому что, если в репозитории есть какие-либо действия, вы можете получить поврежденный клон (или выборку).
Кроме того, как я слышал, он не работал правильно при наличии упакованных ссылок с 2007 года , и до недавнего времени этого никто не заметил. Он исчезнет в Git 2.8.
Или вы можете создать git bundle , rsync
it или scp
it на другом компьютере, а затем клонировать или получить из пакета.