git p4: any way to avoid rebasing all the time?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

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?

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[Newbies FAQ]     [Linux Kernel Development]     [Free Online Dating]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Free Online Dating]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]     [Linux Resources]

Add to Google