On Mon, Sep 29, 2008 at 07:37:58PM +0400, Dmitry Afanasov wrote: [...] > обсуждаемая строка: > The restrictions on references to other commits ensure that a correct > git repository which contains the main commit also contains > everything which is required to extract source files from the > repository. > > в кратце: > ограничения обеспечиваю, что репозитарий, где лежит текущий коммит, > содержит все необходимое для извлечения исходников Более полно: Ограничения, накладываемые на ссылки на другие коммиты, необходимы для того, чтобы репозиторий, содержащий основной коммит, содержал всё, что требуется для однозначного извлечения исходного кода. В частности, если в коммите C вы ссылаетесь на некоторый коммит с помощью .gear/rules, то необходимо, чтобы этот коммит был среди предков коммита C -- тогда git обеспечит обязательное присутствие коммита в репозитории до тех пор, пока в нём находится коммит C. Идея, лежащая в основе ограничения, простая: необходимо обеспечить, чтобы всякий раз из коммита C собиралось одно и то же. > а ведь это не факт. git rm до нашего references конкремно обломает эту > "ensure". Нет. Во первых, git rm не удаляет коммиты. Во вторых, отношение наследования коммитов гарантирует целостность. -- ldv