On Tue, Aug 19, 2014 at 11:50:08AM -0500, Robert Dailey wrote: > Maybe I'm misunderstanding something here and you can help me out. > > All the reading I've done (mostly github) says that 'upstream' points > to the authoritative repository that you forked from but do not have > permissions to write to. 'origin' points to the place you push your > changes for pull requests (the fork). > > Basically the workflow I use is: > > - Use 'upstream' to PULL changes (latest code is obtained from the > authoritative repository) > - Use 'origin' to push your branches. Since I never modify the > branches that exist in 'upstream' on my 'origin' (I do everything > through separate personal branches). > > That means if I have a branch off of 'master' named 'topic', I will > track 'upstream/master' and get latest with 'git pull'. When I'm ready > for a pull request, I do 'git push origin' (I use push.default = > simple). > > According to my understanding, relative submodules work here. But not > everyone on my team uses this workflow. Sometimes they track > "origin/topic" (if we use my example again). Won't the submodule try > to find itself on the fork now? Well the remote for the submodule is currently only calculated once, when you do the initial git submodule update --init that clones the submodule. Afterwards the fixed url is configured under the name 'origin' in the submodule like in a normal git repository that you have freshly cloned. Which remote is used for cloning depends on the configured remote for the current branch or 'origin'. When you do a fetch or push with --recurse-submodules it only executes a 'git fetch' or 'git push' without any specific remote. For fetch the same commandline options (but only the options) are passed on. Here it might make sense to guess the remote in the submodule somehow and not do what fetch without remotes would do. For the triangular workflow not much work has been done in regards to submodule support. But since a submodule behaves like a normal git repository maybe there is not much work needed and we can just point to the workflow without submodules most times. We still have to figure that out properly. Cheers Heiko -- 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