Код внутри внешнего репозитория - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть вопрос, на который я ищу правильный ответ.Я видел слишком много подобных вопросов, но ничего, чтобы помочь мне в моей ситуации.У меня есть проект, где есть общая кодовая база.кодовая база с некоторыми файлами конфигурации, чтобы сказать.Этот код хранится в основной магистрали репо, а ветки обрабатываются в директориях главной ветки.Тогда у меня слишком много проектов, которые используют эту кодовую базу с некоторыми изменениями в файлах конфигурации или с некоторыми добавленными файлами ВНУТРИ каталогов базы кода.Я хочу, чтобы база кода была общей, поэтому, если какое-либо тело изменит что-либо внутри проекта, что связано с базой кода, оно будет возвращено в основной код, но также я хочу, чтобы отдельные файлы проекта были разделены так, чтобы это было очевидноникто не будет перезаписывать конфигурации других или никто не должен нести дополнительные файлы других в своем коде.

Когда я искал возможный ответ на мою проблему, я пришел к внешнему, поэтому теперь у меня есть эта структура в моемrepo:

/
    trunk    <- code base trunk
    branch   <- code base branchs
    projects
        proj1
            trunk    <- project's trunk
            branch   <- project's branches
        proj2

ствол каждого проекта на самом деле является внешней ссылкой на ствол кода базы, и я сделал некоторые изменения внутри папок или изменил некоторые файлы конфигурации.Теперь у меня нет возможности отделить некоторые изменения, внесенные в код, который будет добавлен в папку proj1, а другие - в основной код.это вообще возможно?я должен изменить свою структуру?

1 Ответ

0 голосов
/ 14 сентября 2011

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

/
    common
        trunk    <- code base trunk
        branches   <- code base branches
    projects
        proj1
            trunk    <- project's trunk
               common  <- common trunk (external)
               local   <- proj1 specific
            branch   <- project's branches
               common  <- common branch (or trunk) (external)
               local   <- proj1 specific
        proj2

Итак, как вы видите, лучше разделить проект на общие / конкретные части.

ОБНОВЛЕНИЕ (если разделение базы кода невозможно)

    trunk    <- code base trunk
      common.h
      common.c
      common_folder
    branches   <- code base branches
         br1
            common.h
            common.c
            common_folder
    projects
        proj1
            trunk    <- project's trunk
               common.h  <- (svn:externals ^/trunk/common.h common.h)
               common.c  <- (svn:externals ^/trunk/common.c common.c)
               common  <- (svn:externals ^/trunk/common_folder common)
               spec.h  
               spec.c 
            branches   <- project's branches
               br1
                 common.h  <- (svn:externals ^/branches/br1/common.h common.h)
                 common.c  <- (svn:externals ^/branches/br1/common.c common.c)
                 common  <- (svn:externals ^/branches/br1/common_folder common)
                 spec.h  
                 spec.c 
        proj2

В этом случае управление становится немного сложным ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...