Я хотел бы найти лучший способ управлять и распространять наши общие файлы. Теперь мы используем Mercurial с TortoiseHG для этого, что хорошо для всех файлов в одном проекте, но мы хотим обрабатывать некоторые файлы отдельно от основного репозитория.Как управлять общими файлами
Мы используем codeigniter, и у нас есть некоторые модели, библиотеки и файлы для просмотра, которые мы хотим разделить между нашими проектами и версиями этих файлов отдельно от текущего проекта в другом репозитории (или что-то еще, например с диспетчером пакетов - i не то, что может быть лучшим).
Другими словами, у нас есть проект A и проект B (у нас есть намного больше проектов, чем два, это только, к примеру). Когда мы получаем запрос функции, который является общей функцией (лучшей системой входа) от владельца проекта B, мы готовим необходимые изменения, и мы хотели бы загрузить эту модификацию ко всем другим проектам. Теперь мы создаем эти изменения в текущем проекте, над которым мы работаем. Это может быть сложно разработать, если мы создадим другой третий проект с собственным репозиторием этих общих файлов, потому что эти файлы не работают в одиночку, поэтому им нужны другие представления и файлы контроллера для их загрузки и тестирования.
Состав:
root/
application/
model/
auth.php
other1.php
other2.php
library/
mail.php
other1.php
Поэтому мы хотим auth.php и mail.php версии отдельно, чем other.php-х годов и загрузить в другое место из любого нашего проекта, и проверить, есть ли обновление в этом разделенном репозитории общих файлов и если есть, чем обновлять эти файлы там, где есть собственный проект.
Что я пробовал до сих пор: я создал субрепозитор в mercurial, но, как я вижу, он работает только в том случае, если мы держим наши общие файлы в отдельной папке, а это не то, чего мы хотим.
С subrepository мы получили эти структуры:
root/
.hg/
...
application/
model/
auth.php
other1.php
other2.php
library/
mail.php
other1.php
subrepo-files/
application/
model/
auth.php
library/
mail.php
Я надеюсь, вы понимаете, о чем я говорю, потому что это все более и более трудно поддается лечению. Теперь, что мы делаем, мы вручную копируем эти общие файлы во все остальные проекты, когда один из них обновляется. И да, это ужасно! Иногда кто-то забывает скопировать обновленную версию общих файлов в другой проект, и когда мы создаем другие изменения в другом проекте в общем файле, а затем копируем их обратно в другие проекты, мы теряем предыдущие обновления (который имеет версию с собственным проектом , но мы заметили слишком поздно, и мы должны отлаживать их вручную).
Я потратил купель дней, чтобы найти лучший способ для этого, но я не нашел точно, чего мы хотим.
В этом случае мы должны переупорядочить нашу/ci-файл/структуру папок, и это не то, что мы можем сделать. К сожалению :( – Twois