Я работаю с eclipse и SVN в течение многих лет в командах от одного разработчика до 12, и я всегда был тем, кто настраивал нашу структуру папок. Мне удалось заставить его работать как-то, но я чувствую, что макет папки далеко не оптимален. Трудно сказать, как выглядел мой типичный макет папки, потому что он выглядел очень по-разному каждый раз.
Сейчас я только начинаю новый большой проект, и на этот раз я хочу сделать это профессионально.
Факты о проекте
Вот факты прямо сейчас:
- Все разработчики будут работать с Eclipse
- Некоторые из них будут использовать Subclipse для интеграции SVN в Eclipse, другие будут использовать внешние клиенты, такие как Tortoise SVN или svnX
- Мы разрабатываем Windows и Mac OS
- мы используем ant для автоматизации тестирования зданий и юнитов
- будет много взаимосвязанных проектов:
- библиотека, написанная в чистой java, поэтому она работает на всех известных java-платформах
- несколько приложений для нескольких java-платформ (J2SE, J2ME, android...). Все эти приложения зависят от упомянутой выше библиотеки
Что делать с .project?
Я всегда неуверен, что могу зафиксировать файлы, созданные eclipse (например, ".project" и ".classpath" ). В предыдущих проектах иногда мы помещали их в SVN, иногда мы этого не делали, и оба подхода имели плюсы и минусы. Однажды мы даже совершили все рабочее пространство, но это было плохой идеей.
Одна ключевая концепция, которую я, конечно же, отсутствует, - это то, как Eclipse обрабатывает свое рабочее пространство. По умолчанию весь проект находится внутри папки рабочей области, но могут быть проекты, которые являются внешними, которые связаны каким-то волшебным образом, я просто не понимаю.
Возможные макеты папок
Я не уверен, как компоновать проект локально и в репозитории. Я думаю, что есть три возможности:
- рабочая область является подпапкой моей локальной рабочей копии (например, c:\code\myWorkingCopies\projectXyz\trunk\workspace)
- мое рабочее пространство - это моя рабочая копия (я использую c:\code\myWorkingCopies\projectXyz\trunk\as workspace)
- Моя рабочая область находится где-то (c:\code\workspace) и моей рабочей копией где-то еще (c:\code\myWorkingCopies\projectXyz\trunk), и у меня есть эти внешние проекты
- любые другие идеи?
Какой ответ я ищу?
Фиктивная структура папок, может быть, что-то вроде этого (я просто отвечаю на свой вопрос?):
- Ствол
- Проекты
- Projectali >
- projectB
- Проекты
Наряду с подсказкой, что проверить, где, например:
- checkout trunk/projects to c:\code...)
И некоторые ориентиры, такие как
- никогда не загружать файлы типа x, y, z...