Есть git-репозиторий с django-сайтом, есть ещё один репо с часто-изменяемым приложением. Изменение приложения ведёт к изменению в коде сайта, всё это крутится в virtualenv. Как правильнее оформить зависимости: прописать репозиторий в requirements.txt и обновляться через pip install --upgrade -r req.txt, либо через git submodules и отдать обновление на откуп git submodule update? И есть ли вообще принципиальная разница в этих двух подходах?
Я из мира php, но все же. Раньше использовали submodule — все бы хорошо, но бывают ситуации, когда в зависимом репозитории изменяется история и git не может найти нужный коммит. Сейчас используем менеждер пакетов — вроде больших проблем нет.
Очевидно, что решение с pip — это решение «из мира Python». В то время как git submodule — это adhoc решение («хак»), основанное на фичах конкретной VCS, которая в данный момент используется.