git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Stephen Sinclair" <radarsat1@gmail.com>
To: "Git Mailing List" <git@vger.kernel.org>
Subject: Re: An alternate model for preparing partial commits
Date: Fri, 27 Jun 2008 16:31:06 -0400	[thread overview]
Message-ID: <9b3e2dc20806271331l2870ef94o4cd413ee40ab0d39@mail.gmail.com> (raw)
In-Reply-To: <9af502e50806271014l661dcfc9o4f61ee2b54677bd6@mail.gmail.com>

Hello,

On Fri, Jun 27, 2008 at 1:14 PM, Robert Anderson <rwa000@gmail.com> wrote:
> On Fri, Jun 27, 2008 at 6:33 AM, Johannes Schindelin
> <Johannes.Schindelin@gmx.de> wrote:
>> 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.  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?  That is why the index is not a
> sufficient mechanism for preparing partial commits.  It's fine for
> quick and dirty operation when the factorization of the conflated
> changes is obvious and trivial.  It is not sufficient otherwise.

I just thought I'd throw in my $0.02 here.  There's something
fundamental I think I'm not getting about this argument: it seems to
be based on the premise that partial commits allow untested tree
states to enter the repository.  However, having gotten used to the
git way of things, I personally don't see the problem with allowing
bad commits, as long as they are not pushed to public.

That is, I use the git add -p command all the time when I realize I've
just done two things that should be committed separately.  Then I'll
git commit everything else, and go back and test, like so:

git checkout master
[hack hack..]
git add -p
git commit
git commit -a
[test..]
git checkout master^
[test..]
git checkout master

See? All tested.  If I find a problem during testing, I'll probably
commit it and then rebase master off my new commit, fixing any
conflicts I just introduced.

Frankly I hardly even use the stash; since history can be edited, I
feel like commits are all I need when working with git.  Anything I do
doesn't matter until I push to public anyways.  So it's up to me to
make sure I test everything before pushing, but otherwise I'm very
happy with the ability to commit half-baked ideas and then go back to
make sure they are usable (and tested!) before pushing.  This is what
local branches are for, isn't it?


Steve

  parent reply	other threads:[~2008-06-27 20:32 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 [this message]
     [not found]       ` <willow-jeske-01l7H4tHFEDjCgPV-01l7ZhB8FEDjCdJs>
2008-06-27 20:45         ` David Jeske
2008-06-28 17:23           ` Wincent Colaiuta
2008-06-27 20:45         ` David Jeske
2008-06-28  2:14     ` Dmitry Potapov
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=9b3e2dc20806271331l2870ef94o4cd413ee40ab0d39@mail.gmail.com \
    --to=radarsat1@gmail.com \
    --cc=git@vger.kernel.org \
    /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).