On Wed, Apr 11, 2012 at 5:27 PM, Luke Diamand <luke@xxxxxxxxxxx> wrote: > Is there a way to get "git p4" to not rebase all the time? > > Right now, git commits get discarded and replaced with new ones with > the same contents and extra git-p4 metadata embedded in the comment. > > If we put this git-p4 metadata into a git note then we would not need > to rewrite the commits, and so could perhaps avoid rebasing quite so > much. > > However, if "git p4" won't rewrite commits, then it can't reorder them > to match the ordering seen from p4. > > So you could end up with git users seeing OLDHEAD,G,P and p4 users > seeing OLDHEAD,P,G, as there's a race to see who submits against > OLDHEAD first, which p4 always wins. > > Would this matter (assuming the git and p4 commits are all reasonably > independent) or is there a way to avoid it? > > Perhaps hook into the pre-receive hook? If the newest p4 changelist is > not the same as the HEAD of the branch being pushed to, then reject > the push, just as would happen if the branch could not be > fast-forwarded in a normal git repo? (Even with this there is still a > small window of opportunity). > > At that point, the "git p4 rebase" command would still be used, but > would normally be a no-op. > > Or would that result in something far too complicated to have any > chance of working? > > Thanks, > Luke Hi Luke, This guy modified git-p4 to store information in notes: https://github.com/ermshiperete/git-p4 Could you see if his implementation would fit your requirements? Vitor -- 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