From: Petr Baudis Date: Thu, 28 Apr 2005 09:10:39 GMT Subject: Re: Git fork removal? Message-ID: <20050428091039.GI8612@pasky.ji.cz> In-Reply-To: Dear diary, on Thu, Apr 28, 2005 at 04:47:24AM CEST, I got a letter where Daniel Barkalow told me that... > > If this breaks your workflow, could you please describe it? Perhaps we > > could find a good semantics to support both. > > The part that I'm worried about is the way I turn a mass of debugging and > little local commits into a clean patch series. I've got a working fork > "barkalow", which is the result of a bunch of stuff and a dozen > commits. It is derived from "linus". I want to split up the changes and > make a series of commits, each of which will be a patch to submit. > > 1) I fork "linus" into "for-linus". I go into "for-linus". > > 2) I do "git diff this:barkalow > patch". This gives me the complete set > of changes I want to submit. > > 3) I cut down the diff to a single logical change by removing all of the > other hunks. > > 4) I do "git apply < patch". I do "git commit". I describe the logical > change. > > 5) I go back to step 2, unless I'm done. > > 6) For each of the commits between "linus" and "for-linus", I do > "git patch ", and send out the result. > > The thing that I think requires the symlinks is step 2, which requires > that there be somewhere I can run git and have it able to see a pair of > unrelated local heads and the relevant trees. Just do cg-pull barkalow, to get the latest changes from that repository (perhaps clone should inherit branches information?). But if you want Linus to pull from your tree, you generally want it to be clean - that is, you want to manage clean separation (as Pavel Machek describes in his document). That is another advantage of hardlinking - you don't get any unrelated stuff in if you don't explicitly pull it, so you can keep your for-linus branch clean. I'd do cg-diff linus:this in the barkalow branch instead to keep this property. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor