From: Junio C Hamano Date: Mon, 20 Jun 2005 17:22:58 GMT Subject: Re: Patch (apply) vs. Pull Message-ID: <7vbr61j631.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <1119284365.3926.15.camel@localhost.localdomain> >>>>> "DT" == Darrin Thompson writes: DT> How exactly are these patches being generated? Is there a right-way(tm) DT> which causes the recipient's a later pullers' histories to be DT> intelligently handled in the future? Those patches are, as far as GIT is concerned, out of band communications. You could still merge the result if the patch was picked up by more than one tree independently, but the behaviour is a bit less than ideal. Usually the merge ends up to be still manageable. FYI, here is what I have been doing: (1) Start from Linus HEAD. (2) Repeat develop-and-commit cycle. (3) Run "git format-patch" (not in Linus tree) to generate patches. (4) Send them out and wait to see which one sticks. (5) Pull from Linus. (6) Throw away my HEAD, making Linus HEAD my HEAD, while preserving changes I have made since I forked from him. I use "jit-rewind" for this. (7) Examine patches that Linus rejected, and apply ones that I still consider good, making one commit per patch. I use "jit-patch" and "jit-commit -m" for this. (8) Go back to step 2.