Thanks, Troy, >> The >> tracking branch was created to avoid certain git user interaction to happen >> during rosinstall. > I wondered why it was like that. What user interaction I don't know, Tully did that back then, with an earlier git version. He could not tell me either. > - One would generally prefer that things not be too clever. (options > 2 and 3... Maybe I could be convinced that these are actually > simple.) Even though I implemented 2 as a patch, I tend to agree now. > - the vcstool 'update' step shouldn't rebase, it seems to me: maybe > I've pushed changes someplace already, and post-rebase my commits now > have different hashes. If the merge isn't a fast-forward, or if the > checkout is dirty, maybe vcstool should just 'fetch', and the user > should merge. I generally like fast-forward only with option 4. I think I'll go and implement a patch for that, and see how that goes. I also just checked for rosinstall with hg, and that one abandons current head if there is a more recent branch head on remote (or local). It's not equivalent to rebasing in git, but maybe not nice neither? As in: you do some work, commit, call rosinstall, and then your repo is on a head without your commits included. cheers, Thibault