I created a master repository with gitslave, added some attached repositories, and added files to both the attached repositories and the master repository. I then found that one of the directories I added in the master repository was added to the git repo as a "commit" object instead of as a "tree" object. In other words, gitslave corrupted the git repository. I can easily fix the symptom, but I wanted to report the underlying bug.
I added data only using "gits add -A" and "gits commit". When I run "git ls-tree HEAD" in the master repository, I get:
100644 blob 59ac2d0d101f36877886011784550178f31d45ff .gitignore
100644 blob 5e8ab3947f31dd7ea2090f3235746d6e259c0008 .gitslave
100644 blob 4f38e3bb001c98d93b3500c4f2ebef857475ecc7 README
160000 commit c35b4cb2bf06823d7a0c8dbf528ae9fffe407ccf archive
040000 tree f641775141750a345d1888154c8302fa8833e7d9 cur
040000 tree d564d0bc3dd917926892c55e3706cc116d5b165e new
040000 tree d564d0bc3dd917926892c55e3706cc116d5b165e tmp
The directory "archive" should be a tree, not a commit. In case it helps, I'm using the latest commit of gitslave (commit ebac05264f0a40d52b8c758720e18152f5129835). Thanks.
Wait. This looks like a problem in git, not in gitslave. It looks like there's a ".git" directory inside the "archive" directory, and this apparently makes git treat it strangely. I'll have to look into this some more. Weird.
Anyway, thanks for all of the great work on gitslave.