Am 22.03.2011 21:44, schrieb Avery Pennarun: > On Tue, Mar 22, 2011 at 6:19 AM, Robert Pollak <robert.pollak@xxxxxx> wrote: >> in the git repository of my project I have successfully replaced a git >> submodule by a subtree, essentially by using >> >> $git subtree add --prefix=mySubtree mySubmodule/master >> >> with your git-subtree.sh . >> >> Before accepting my change, my project partners want to be sure that >> removing this new subtree and its history at some later point in time >> stays possible. How can I achieve this? I have unsuccessfully tried "git >> filter-branch" as described by pgs and fmarc in >> http://stackoverflow.com/questions/955793#955793 . > > Well, you can certainly remove anything you want with git > filter-branch. Are you concerned about shrinking the size of your > repo, or just getting files out of the way in your tree, or removing > stuff from the git history? > > If you want to avoid cluttering the git history, you should use git > subtree with the --squash option. That makes it quite painless. > > If you want to just get the files out of your tree someday in the > future (for example, to switch back to submodules), then simply 'git > rm -r' the directory. Rewriting history is massive overkill for this. > > If you want to be able to shrink your repository size later, well, > then you need git filter-branch. Yes, I am aware of the other options and that's what I want to do. (I never really want to use this, I only need a test run to convince my partners to switch to git-subtree.) > I've never tried to do this since > the history rewrite you'd be doing in this case would completely > invalidate all your old history: by removing the subtree in all past > revisions, you make all those past revisions unbuildable, which seems > like missing the point of version control. Nevertheless, I'm sure you > could make it happen if you wanted; you can do pretty much anything > you want by filtering git history. I see. As quite a git newbie I hoped you had done this already and could help me with the necessary git filter-branch command line. >> (Be free to CC git@xxxxxxxxxxxxxxx if you reply, if you think that's >> appropriate for archiving the info.) > > I don't understand why you didn't cc: the git list yourself then. But okay :) I was not sure whether discussion of git-subtree belongs there, since it is not part of git (yet?). > Have fun, I certainly do! Thank you, Robert -- 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