Hi, I've come across this weird behaviour using git-subtree: when updating a directory created by git-subtree, the content of some (almost) random neighbour directory gets replaced, instead of the directory specified by "git-subtree --prefix". mkdir /tmp/testrepo cd /tmp/testrepo git init . mkdir -p modules/cognac/{manifests,files} mkdir -p modules/cognac/manifests/{classes,definitions} touch modules/cognac/README modules/cognac/manifests/classes/foo.pp modules/cognac/manifests/definitions/bar.pp modules/cognac/files/blabla git add modules/ git commit -m "test" git remote add mapserver git://github.com/camptocamp/puppet-mapserver.git git remote update git-subtree add --prefix modules/mapserver 97f5985b # an older commit # So far so good, I have 2 subdirectories in modules/ with completely # different content. # Then, the content of modules/cognac/ gets completely replaced by the # content of HEAD from git://github.com/camptocamp/puppet-mapserver.git. # modules/mapserver still contains the content of commit 97f5985b. git-subtree pull --prefix modules/mapserver mapserver master >From git://github.com/camptocamp/puppet-mapserver * branch master -> FETCH_HEAD Removing modules/cognac/files/blabla Removing modules/cognac/manifests/classes/foo.pp Removing modules/cognac/manifests/definitions/bar.pp Merge made by subtree. modules/cognac/files/apt-preferences | 3 + modules/cognac/files/epsg.C2C | 5445 ++++++++++++++++++++ modules/cognac/files/epsg.legacy | 5445 ++++++++++++++++++++ modules/cognac/files/epsg.minimal | 14 + modules/cognac/files/etc/apt/preferences-20070910 | 3 + modules/cognac/files/etc/apt/preferences-20080225 | 35 + modules/cognac/files/etc/apt/preferences-v5-2 | 35 + modules/cognac/manifests/classes/epsg.pp | 21 + .../cognac/manifests/classes/mapserver-debian.pp | 82 + modules/cognac/manifests/classes/v5.pp | 46 + modules/cognac/manifests/init.pp | 8 + 11 files changed, 11137 insertions(+), 0 deletions(-) create mode 100644 modules/cognac/files/apt-preferences delete mode 100644 modules/cognac/files/blabla create mode 100755 modules/cognac/files/epsg.C2C create mode 100755 modules/cognac/files/epsg.legacy create mode 100644 modules/cognac/files/epsg.minimal create mode 100644 modules/cognac/files/etc/apt/preferences-20070910 create mode 100644 modules/cognac/files/etc/apt/preferences-20080225 create mode 100644 modules/cognac/files/etc/apt/preferences-v5-2 create mode 100644 modules/cognac/manifests/classes/epsg.pp delete mode 100644 modules/cognac/manifests/classes/foo.pp create mode 100644 modules/cognac/manifests/classes/mapserver-debian.pp create mode 100644 modules/cognac/manifests/classes/v5.pp delete mode 100644 modules/cognac/manifests/definitions/bar.pp create mode 100644 modules/cognac/manifests/init.pp I was not able to reproduce this bug in any of the following cases: - if the README file wasn't empty - if modules/cognac is renamed to something else - if modules/cognac doesn't have the same sub-directories than modules/mapserver This bug happens using git 1.5.5.6 as well as 1.6.5. It seems to happen when git-subtree calls "git merge -s subtree". Maybe something is broken in this puppet-mapserver.git repository I use ? I've encountered the same problem with other directories too. Any idea ? Thanks ! Marc -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html