git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Potapov <dpotapov@gmail.com>
To: Robert Anderson <rwa000@gmail.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: An alternate model for preparing partial commits
Date: Sat, 28 Jun 2008 06:14:44 +0400	[thread overview]
Message-ID: <20080628021444.GI5737@dpotapov.dyndns.org> (raw)
In-Reply-To: <9af502e50806271014l661dcfc9o4f61ee2b54677bd6@mail.gmail.com>

On Fri, Jun 27, 2008 at 10:14:05AM -0700, Robert Anderson wrote:
> 
> It is too subtle.  That the index state - which becomes the next
> committed state - is not available for building or testing before
> committing is a deep flaw.

And why is that? It is like saying that any editor that does not allow
you to compile the file without saving it first has a deep flaw.

In Git, commits are not the same as in CVS. You can commit any changes
and amend them any time later before you publish your changes. So, what
you normally do is to commit your changes and then run test on them.
The advantage of this approach is that you can continue to your normal
work while test are running, besides the tests are running in clear and
control environment, not in the developer working director where always
there is some garbage.

> > Now, this is not necessarily what everybody wants, which is why many
> > people are fine with the index.
> 
> But it is something they should want, and should have, if they care
> about the quality of their commits.

Those who care about quality should have a review process, and the
review process works best when all changes are slit in a small logical
steps. How do you propose to that without committing changes first?

> Especially in the common case of
> a project with development lines which have some sort of policy about
> build/test requirements.  How do you ensure your commits obey that
> policy if you cannot verify it?

You can verify it, but you do that _after_ you committed changes but
before you publish them. BTW, policy may include that it should be
compiled and tested on a few platforms, so you cannot do that in
your working directory anyway.

I think the source of your confusion is that you consider git commit
as cvs commit, while git commit in some sense may be closer to saving
files, while a better analogue for cvs commit will be git push to a
public repository.

Dmitry

  parent reply	other threads:[~2008-06-28  2:16 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-27  6:50 An alternate model for preparing partial commits Robert Anderson
2008-06-27  7:10 ` Björn Steinbrink
2008-06-27 14:37   ` [PATCH/RFC] stash: introduce 'stash save --keep-index' option SZEDER Gábor
2008-06-27 18:26     ` Junio C Hamano
2008-06-27 16:54   ` An alternate model for preparing partial commits Robert Anderson
2008-06-27 17:27     ` Björn Steinbrink
2008-06-27 17:34       ` Robert Anderson
2008-06-27  8:35 ` Johannes Sixt
2008-06-27 17:01   ` Robert Anderson
2008-06-27  8:50 ` Petr Baudis
2008-06-27 17:02   ` Robert Anderson
2008-06-27 13:33 ` Johannes Schindelin
2008-06-27 13:49   ` Miklos Vajna
2008-06-27 17:14   ` Robert Anderson
2008-06-27 17:45     ` Johannes Schindelin
2008-06-27 17:49       ` Robert Anderson
     [not found]         ` <alpine.DEB.1.00.0806271854120.9925@racer>
2008-06-27 18:07           ` Robert Anderson
2008-06-27 18:20         ` Dana How
2008-06-27 20:31     ` Stephen Sinclair
     [not found]       ` <willow-jeske-01l7H4tHFEDjCgPV-01l7ZhB8FEDjCdJs>
2008-06-27 20:45         ` David Jeske
2008-06-27 20:45         ` David Jeske
2008-06-28 17:23           ` Wincent Colaiuta
2008-06-28  2:14     ` Dmitry Potapov [this message]
2008-06-28  2:57       ` Robert Anderson
2008-06-28  4:03         ` Dmitry Potapov
     [not found]           ` <9af502e50806272320p23f01e8eo4a67c5f6f4476098@mail.gmail.com>
2008-06-28  6:31             ` Fwd: " Robert Anderson
2008-06-28 12:38               ` Dmitry Potapov
     [not found]             ` <20080628123522.GL5737@dpotapov.dyndns.org>
2008-06-28 15:53               ` Robert Anderson
2008-06-28 16:52                 ` Dmitry Potapov
2008-06-27 18:15   ` Junio C Hamano
2008-06-27 18:43     ` Robert Anderson
2008-06-28  5:03     ` Jeff King
2008-06-28  7:03       ` Robert Anderson
2008-06-28  8:53         ` Jeff King
2008-06-28 21:53           ` Junio C Hamano
2008-06-28 14:51       ` Johannes Schindelin
2008-07-08  4:58         ` Jeff King
     [not found] ` <willow-jeske-01l7H4tHFEDjCgPV-01l7H4sOFEDjCbyi>
2008-06-27 20:29   ` David Jeske
2008-06-27 20:29   ` David Jeske
2008-06-27 20:47     ` Jakub Narebski
     [not found]       ` <willow-jeske-01l7H4tHFEDjCgPV-01l7[1OFFEDjCYJV>
2008-06-27 20:51         ` David Jeske
2008-06-27 20:51         ` David Jeske
     [not found]       ` <-8386235276716376372@unknownmsgid>
2008-06-27 22:55         ` Robert Anderson
2008-06-27 23:14           ` Junio C Hamano
2008-06-28  0:08             ` Robert Anderson
2008-06-28  2:57               ` Dmitry Potapov
2008-06-28  3:31                 ` Robert Anderson
2008-06-28 14:34               ` Stephen Sinclair
2008-06-28 16:00                 ` Robert Anderson
2008-06-28 16:30                 ` Robert Anderson
2008-06-28 17:12                   ` Jakub Narebski
2008-06-28 18:25                     ` Robert Anderson
     [not found]                       ` <willow-jeske-01l7H4tHFEDjCgPV-01l82hwbFEDjCX70>
2008-06-28 19:12                         ` David Jeske
2008-06-28 19:12                         ` David Jeske
2008-06-28 19:13                   ` Stephen Sinclair
     [not found]           ` <willow-jeske-01l7H4tHFEDjCgPV-01l7buicFEDjCagd>
2008-06-28  0:22             ` David Jeske
2008-06-28  0:22             ` David Jeske
  -- strict thread matches above, loose matches on Subject: below --
2008-06-28  1:17 Theodore Tso
2008-06-28  1:56 ` Miklos Vajna
2008-06-28  1:23 Theodore Tso
2008-06-28  9:30 Stephen R. van den Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080628021444.GI5737@dpotapov.dyndns.org \
    --to=dpotapov@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=rwa000@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).