otus
otus

Reputation: 5732

How to commit a git repo into a git repo (not submodule)

When I try to add and commit a git repository into another git repository, git helpfully makes it into a submodule. What if I want to track and commit changes to that nested repository in the outer repo? I.e. I want the outer repository to track all the files in the nested repo's working tree as well as its .git directory.

The use case here is that I want to maintain a git repository of my whole "projects" directory (many of which use git or another VCS) for versioned backups, as well as statistics collection. Going to a particular commit in the outer repo should show me the complete state of all projects at that time, including e.g. commits that may later have been rebased into oblivion.

Upvotes: 3

Views: 976

Answers (1)

otus
otus

Reputation: 5732

Not possible.

After researching this further I found the answer is unfortunately that it is not possible. Git is hardcoded to ignore nested git repositories and cannot be told to index them.

The most common git-like suggestion for the backup use case is bup, which seems fine for that use case alone, but can't seem to do all that git can stats-wise.

Upvotes: 2

Related Questions