From: Robert Anderson Date: Sat, 28 Jun 2008 03:31:03 GMT Subject: Re: An alternate model for preparing partial commits Message-ID: <9af502e50806272031t48be3f2sa24fc666ac341837@mail.gmail.com> In-Reply-To: <20080628025704.GJ5737@dpotapov.dyndns.org> On Fri, Jun 27, 2008 at 7:57 PM, Dmitry Potapov wrote: > On Fri, Jun 27, 2008 at 05:08:57PM -0700, Robert Anderson wrote: >> >> In the existing model which is being suggested as a way to get the >> desired workflow, there are two distinct classes of commits: commits >> that are "for real", and commits that are "temporary", that are being >> used as some kind of workspace for orthogonalizing a set of changes, >> which will eventually be replaced by "for real" commits. > > Not really. Good commits do not get replaced by anything. They are > just pushed to the public repo after being tested. Those commits > that have not passed the test should be amended and tested again. > >> Yet git has >> no metadata to distinguish these two types of commits. When only "for >> real" commits exist, I can push HEAD. When "temporary" commits exist, >> I cannot, or insidious problems will ensue. This metadata concerning >> "for real" or "temporary" commits is only maintained manually in the >> developer's head. > > No, you can use a tag for that, which marks the tip of tested commits; > or you can make your test procedure to push commits automatically after > successful testing. There is no reason for Git to have any metadata for > that. > > Dmitry There is a disconnect here. Rather than argue somewhat abstractly, I will try to construct some concrete examples which illustrate the essential problems with the current model and some proposed solutions to improve it. Bob