Расположение SVN — лучшая практика

Со следующей командой:

:%s/^M$//g 

Заставляют ^M появляться тип Ctrl V тогда Ctrl M . Ctrl V говорит Vim брать следующий символ, вводимый буквально.

6
задан un33k 17 July 2009 в 17:53
поделиться

5 ответов

SVN redbook здесь включает много информации о макетах для разных типов проектов и о том, как ими управлять.

Вы также можете использовать хуки / триггеры / внешние элементы для извлечения данных из независимого репо под названием «третья сторона» '. Поэтому, когда разработчик проверяет одно репо, он получает и третью часть. Есть масса способов отделить проблемы, но представить единое репо от компонентных.

Удачи

9
ответ дан 8 December 2019 в 18:39
поделиться

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

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

Я бы также наложил репо примерно так:

project
 /trunk
 /branches
 /tags
3rdparty

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

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

2
ответ дан 8 December 2019 в 18:39
поделиться

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

Я не уверен, что помечаю то, о чем вы говорите. Вы имеете в виду номер версии? Если это номер версии, пропустите этот скрипт и пометьте сборку.

1
ответ дан 8 December 2019 в 18:39
поделиться

Если «несколько каталогов» представляют собой отдельные компоненты, которые вы хотите версировать независимо, тогда вы должны иметь каждый в своем собственный репозиторий, чтобы их можно было пометить отдельно. Но если это все один автономный проект (например, если вы обычно будете маркировать и разветвлять все компоненты вместе), то вы, вероятно, можете поместить весь код в один и тот же репозиторий.

Вам следует рассмотреть возможность использования externals для сторонних артефактов.

Вам следует рассмотреть возможность использования внешних для сторонних артефактов.

Вам следует рассмотреть возможность использования внешних для сторонних артефактов.

1
ответ дан 8 December 2019 в 18:39
поделиться

Мой скрипт проверяет транк, изменяет файлы (корректирует номера версий в файлах AssemblyInfo.cs и т. Д.), А затем маркирует их. Если вам не нужно каким-либо образом изменять файлы, то сначала можно использовать теги.

В остальном, ваша установка мне по крайней мере кажется хорошей.

0
ответ дан 8 December 2019 в 18:39
поделиться
Другие вопросы по тегам:

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