Совет по использованию Google Code SVN

Мы использовали Google Code SVN для хранения школьного проекта. По мере того как мы экспериментировали с разными идеями, мы создавали новые проекты Visual Studio и хранили их там. Теперь мы хотим объединить все разные идеи в один окончательный проект.

Вот текущий макет репозитория:

- svn
 - branches
    - Idea1
    - Idea2
 - tags
 - trunk
    - Sub-Project1
      - files (...)
    - Sub-Project2
      - files (...)
    - Sub-Project3
      - files (...)

Я использую AnkhSVN вместе с Visual Studio, и я заметил одну вещь: каждый раз, когда я проверяю один из проектов, проверяются все остальные проекты (я вижу это, когда смотрю на него через проводник Windows).

Теперь, когда мы хотим сделать окончательную версию, мне было интересно, как мне правильно разместить окончательный проект.

ИЗМЕНИТЬ

Я не думаю, что хорошо поработал, объясняя выше. Итак, я снова иду.

Настроены ли репозитории SVN кода Google для одного проекта? Или я могу использовать их для нескольких подпроектов? Причина, по которой я спрашиваю, заключается в том, что файловая структура SVN в пустом проекте кода Google уже есть:

- svn
 - branches
 - tags
 - trunk

Но я думаю, что каждому подпроекту потребуются эти три компонента.

Возможно, раньше я не понимал, что я переименовал части ствола (в подпроект) в листинге выше. У каждого подпроекта есть уникальная цель. Дело в том, что сейчас я хочу объединить подпроекты в более крупный проект.


person Aishwar    schedule 07.03.2010    source источник
comment
не собираюсь вам помочь, но я думаю, вам следовало использовать ветки функций с самого начала! Вы читали книгу Red Bean?   -  person Mitch Wheat    schedule 07.03.2010
comment
Лучшие практики для SVN в Google Code почти такие же, как и везде. Переназначение.   -  person MatrixFrog    schedule 07.03.2010


Ответы (2)


Что бы я сделал, так это реорганизовал бы вот так:

/svn
    /Sub-Project1
        /branches
        /tags
        /trunk
    /Sub-Project2
        /branches
        /tags
        /trunk
    ...

Все это можно сделать с помощью простых ходов svn. Если ваши текущие ветки Idea1 и Idea2 относятся к текущему über-trunk, я мог бы переместить их в /oldtrunk/branches верхнего уровня. Или просто удалите их, если они неактивны! Это svn, они все еще там будут. :)

Затем вы упоминаете о желании «объединить подпроекты», где каждый «имеет уникальную цель». Если вы хотите продолжать поддерживать их как полностью инкапсулированные подпроекты, я бы посоветовал заставить их строить индивидуально и объединять их как библиотеки, а не объединять исходный код. В Java я бы использовал инструмент управления зависимостями, например Ivy, чтобы справиться с этим, но я не уверен, что лучшим решением будет Google Code + Visual Studio. Вы можете использовать Ivy для вещей, отличных от Java, но это не так интуитивно понятно.

person Josh McFadden    schedule 07.03.2010

Обратите внимание, что вы можете настроить, на сколько уровней выше от местоположения файла решения AnkhSVN выполняет извлечение. Он должен спросить, на каком уровне проект должен быть извлечен, если вы используете File -> Open Subversion Project, а свойство еще не установлено. Вы также можете изменить его, используя File -> Subversion -> Change Source Control

person Sander Rijken    schedule 07.03.2010