From: Junio C Hamano <junkio@cox.net>
To: Joel Becker <Joel.Becker@oracle.com>
Cc: git@vger.kernel.org
Subject: Re: git versus CVS (versus bk)
Date: Mon, 31 Oct 2005 13:00:18 -0800 [thread overview]
Message-ID: <7vr7a1e719.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <20051031195010.GM11488@ca-server1.us.oracle.com> (Joel Becker's message of "Mon, 31 Oct 2005 11:50:10 -0800")
Joel Becker <Joel.Becker@oracle.com> writes:
> In the distributed world, a pull of the "feature" repository
> pulls in all changes - the full history of the work. This includes
> aborted tries, rewritten pieces, bug fixes, etc. Here, the main
> repository has the detritus of the development process, but that also
> contains the full context of the work. It goes against your claim that:
>
>> So with the distributed model, you don't have to publicly humiliate
>> yourself when you do something stupid. Similarly, you don't have to
>
> because that history will contain all your something stupids, plus your
> fixes for them.
Do you think anybody is that perfect?
What happens in reality is something like this:
- you have a master tree, and your own throwaway topic
branches.
- you play in your own topic branches. you make stupid
mistakes and redo your changes many times.
- when the tips of your topic branches are in good shape, you
review the changes from the master tree as a whole, without
the history.
- you decompose the diff between the tips of your topic branch
and the master branch into logical steps.
- you branch off "sanitized" branches from the tip of the
master, and apply the decomposed diffs, making one commit per
logical change, until all your decomposed diffs are applied.
- after making sure that the tips of the sanitized branches
match the tips of their corresponding topic branch you did
your work on, you throw away your true history and pretend
you are perfect human. Either ask your peer to pull from
your sanitized branch tips, or run git-format-patch between
the master and the sanitized branch tips and send them out as
patches.
I do not know about the kernel tree but I would be surprised if
any self-respecting developer wouldn't be doing this. The
review-decomposition-reapplication cycle is *very* important for
both keeping the public history clean and reviewable, and
preservign your public image ;-).
next prev parent reply other threads:[~2005-10-31 21:06 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-31 1:50 git versus CVS (versus bk) walt
2005-10-31 1:59 ` Martin Langhoff
2005-10-31 2:03 ` H. Peter Anvin
2005-10-31 2:35 ` Linus Torvalds
2005-10-31 10:24 ` Johannes Schindelin
2005-10-31 16:18 ` Linus Torvalds
2005-10-31 18:18 ` wa1ter
2005-10-31 19:44 ` Randal L. Schwartz
2005-10-31 23:41 ` walt
2005-11-01 0:15 ` Daniel Barkalow
2005-11-01 0:21 ` Linus Torvalds
2005-10-31 19:50 ` Joel Becker
2005-10-31 20:28 ` Martin Langhoff
2005-10-31 21:30 ` Joel Becker
2005-11-01 9:15 ` Petr Baudis
2005-11-01 16:17 ` Joel Becker
2005-11-01 17:35 ` Petr Baudis
2005-11-07 22:56 ` Petr Baudis
2005-11-08 10:50 ` Josef Weidendorfer
2005-11-08 12:04 ` Petr Baudis
2005-11-01 2:17 ` Randal L. Schwartz
2005-11-01 2:23 ` Linus Torvalds
2005-11-01 2:34 ` Randal L. Schwartz
2005-11-01 2:47 ` Linus Torvalds
2005-11-01 2:35 ` Junio C Hamano
2005-11-01 23:56 ` Horst von Brand
2005-11-02 8:54 ` Andreas Ericsson
2005-11-02 9:26 ` Junio C Hamano
2005-10-31 21:00 ` Junio C Hamano [this message]
2005-10-31 21:36 ` Joel Becker
2005-10-31 21:53 ` Linus Torvalds
2005-10-31 22:14 ` Junio C Hamano
2005-10-31 22:42 ` Joel Becker
2005-11-01 0:20 ` Junio C Hamano
2005-11-01 0:42 ` Joel Becker
2005-11-01 1:02 ` Martin Langhoff
2005-11-01 1:29 ` Joel Becker
2005-11-01 1:48 ` Linus Torvalds
2005-11-01 9:17 ` Petr Baudis
2005-11-01 13:25 ` Catalin Marinas
2005-11-01 0:25 ` Theodore Ts'o
2005-11-01 9:08 ` hgmq vs. StGIT Petr Baudis
2005-11-01 9:23 ` Catalin Marinas
2005-11-01 10:10 ` Petr Baudis
2005-11-01 17:34 ` Catalin Marinas
2005-11-01 15:20 ` Chuck Lever
2005-11-01 15:36 ` Chris Mason
2005-11-01 17:18 ` Catalin Marinas
2005-11-01 18:13 ` Chris Mason
2005-11-01 21:30 ` Catalin Marinas
2005-11-02 15:41 ` Chris Mason
2005-11-05 20:23 ` Catalin Marinas
2005-11-09 23:32 ` Petr Baudis
2005-11-10 0:08 ` Pavel Machek
2005-11-10 16:20 ` Catalin Marinas
2005-11-01 14:11 ` Chris Mason
2005-11-01 16:00 ` Linus Torvalds
2005-11-01 17:13 ` Catalin Marinas
2005-11-01 17:29 ` Catalin Marinas
2005-11-01 17:59 ` Chris Mason
2005-11-01 21:22 ` Catalin Marinas
2005-11-01 0:31 ` git versus CVS (versus bk) Daniel Barkalow
2005-10-31 21:35 ` Linus Torvalds
2005-10-31 13:00 ` wa1ter
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=7vr7a1e719.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=Joel.Becker@oracle.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).