Junio C Hamano <junkio@xxxxxxx> wrote: > For normal merge strategies, if you are on branch A and merge > branch B into it, what you will get is exactly the same as what > you would get by merging branch A while being on branch A > (modulo the direction of conflict markers). With the subtree > merge, it is not the case anymore. If I pull from git-gui.git, > the resulting tree look like git.git with Shawn's updates. If > Shawn pulls from git.git, even after I did some changes on my > own to git-gui subdirectory, bypassing his tree, he will get a > merged result pertaining to git-gui.git repository > (i.e. git-gui/ subdirectory of what I have). This way, we can > continue merging from each other. > > Although I do not plan to commit anything in git-gui/ part of my > tree myself, bypassing Shawn, it is nice to know that it will > not introduce problems down the road. This does actually cause a problem if you merge a git.git commit into git-gui.git (by stripping the git-gui/ part off). The problem is the entire git.git history would then become the second parent of the git-gui.git merge commit, and suddenly the git-gui.git repository increases by >11 MiB in size... ;-) With regards to maintaining git-gui: I'll apply all patches to my tree and do testing there, then ask Junio to merge a tagged release over to git.git for inclusion in the next git release. To avoid pulling the entire git.git history into git-gui, I'd ask that anyone bypassing me (e.g. if I'm being horribly unresponsive one week) checkout the git-gui branch from git.git, apply the change(s) there, then merge that branch into git.git using the subtree strategy. This way I can later fast-forward git-gui.git to the fixed commit, without sucking in more than I bargained for. For example: git log -n1 -- git-gui # copy the second parent... git checkout -b fixgg <secondparent> # do fixes... git checkout master git merge -s subtree fixgg Then I can later obtain `fixgg` from the merge commit in git.git and update git-gui.git, without sucking in git.git's objects. -- Shawn. - 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