Якщо ви імпортуєте в існуюче сховище, яке вже містить кілька проектів, то структура сховища буде вже визначена. Якщо ви імпортуєте дані в нове сховище, то має сенс подумати про те, як воно буде організовано. Прочитайте «Організація даних в сховищі» для додаткових рекомендацій.
Цей розділ описує команду Subversion імпорт, яка розроблена для імпортування в сховище всієї ієрархії директорії за один раз. Незважаючи на те, що ця команда виконує свою роботу, все ж є кілька недоліків:
Немає способу вибрати включаються файли і папки, крім як застосовуючи настройки глобального виключення.
Імпортована папка не стає робочою копією. Ви повинні виконати витяг для копіювання файлів назад з сервера.
Можна легко імпортувати зовсім на не той рівень папок в сховище.
Перед тим, як ви імпортуєте ваш проект в сховище, вам слід:
Видалити всі файли, які не потрібні для збірки проекту (тимчасові і створювані компілятором файли, такі як * .obj, скомпільовані виконувані файли.)
Впорядкувати файли в папки і підпапки. Хоча можливо перейменувати / перемістити файли і пізніше, настійно рекомендується, щоб структура вашого проекту була сформована перед імпортом!
Тепер виберіть саму верхню папку в структурі папок проекту в Провіднику Windows і зробіть праве клацання для відкриття контекстного меню. Виберіть команду TortoiseSVN → Імпорт. яка відкриє діалогове вікно:
Малюнок 4.6. діалог імпорту
В цьому діалозі ви повинні ввести URL місця в сховищі, в яке ви бажаєте імпортувати проект. Дуже важливо зрозуміти, що сама імпортована локальна папка в сховище не з'явиться, тільки її вміст. Наприклад, якщо у вас є така структура:
Повідомлення імпорту використовується як повідомлення журналу.
За замовчуванням, файли і папки, відповідні глобальним шаблонами ігнорування, не імпортуються. Ви можете змінити цю поведінку за допомогою прапорця Включити ігноровані файли. Більш детальна інформація за завданням глобальних шаблонів ігнорування міститься в «Налаштування».
Як тільки ви натиснете ОК. TortoiseSVN імпортує в сховище повністю все дерево папок з усіма файлами. Зараз проект поміщений в сховище під управління версіями. Будь ласка пам'ятайте, що та папка, яку ви імпортували, НЕ ЗНАХОДИТЬСЯ під керуванням версіями! Для отримання робочої копії. що знаходиться під управлінням версіями, ви повинні зробити витяг щойно імпортованої версії. Або продовжуйте читання для того, щоб дізнатися як імпортувати папку на місці.
Імпорт на місці
Припускаючи, що сховище вже у вас є, і ви бажаєте додати в нього нову папку з усією її структурою, просто виконайте наступні кроки:
Щоб створити папку нового проекту прямо в сховище використовуйте оглядач сховища. Якщо ви використовуєте одну зі стандартних схем, то можливо ви захочете створити її як підпапку в trunk ніж в корені сховища. Оглядач сховища показує його структуру прямо як провідник Windows, так що ви можете бачити як там все організовано.
Вийміть цю нову папку поверх тієї папки, яку ви бажаєте імпортувати. З'явиться попередження про те, що локальна папка не порожня. Не звертайте уваги на попередження. Тепер у вас є версірованная папка верхнього рівня з неверсірованним вмістом.
Скористайтеся командою TortoiseSVN → Додати. на новій версірованной папці для додавання частини або всього вмісту. Ви можете додавати і прибирати файли, задавати властивості svn: ignore для папок і проводити будь-які інші необхідні вам зміни.
Зафіксуйте папку верхнього рівня, і у вас вийде нове версірованное дерево і локальна робоча копія, створена з вашої існуючої папки.
особливі файли
Іноді вам необхідно внести під управління версіями файл з даними, що відрізняються для кожного користувача. Це означає, що у вас є файл, який кожен розробник / користувач повинен змінити для відповідності власним налаштувань. Але версірованіе такого роду файлів утруднено, оскільки кожен користувач буде кожен раз фіксувати свої зміни в сховище.
У таких випадках ми пропонуємо використовувати шаблонні файли. Ви створюєте файл, який містить всі необхідні для розробників дані, додаєте цей файл під управління версіями і нехай розробники отримують цей файл. Після вилучення кожен розробник повинен зробити копію цього файлу і перейменувати створену копію, після чого цю копію можна змінювати без проблем.
І щоб не збивати з пантелику користувачів, ми також додали файл default.build.user в список ігнорування для його батьківської папки, тобто ми встановлюємо властивість Subversion svn: ignore так, щоб воно включало це ім'я файлу. Таким чином, воно не показується як неверсірованное при кожній фіксації.