git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Pavel Roskin <proski@gnu.org>
Cc: Catalin Marinas <catalin.marinas@gmail.com>, git@vger.kernel.org
Subject: Re: Some ideas for StGIT
Date: Sat, 4 Aug 2007 02:38:58 -0400	[thread overview]
Message-ID: <20070804063858.GA13758@thunk.org> (raw)
In-Reply-To: <1186163410.26110.55.camel@dv>

On Fri, Aug 03, 2007 at 01:50:10PM -0400, Pavel Roskin wrote:
> Hello!
> 
> I was recently disappointed to learn that one of the Linux drivers
> (bcm43xx_mac80211, to be precise) switched from git to quilt.  I asked
> whether StGIT was considered, a discussion followed, and I think the key
> points need to be shared with StGIT developers.  I'll add some of my
> ideas to the mix.

You might also ask them if they considered "guilt", which uses
text-based patches.  It's a lot easier to use, and if they really want
quilt-like functionality, "guilt" will provide it.

My main reason for avoiding StGIT is the fact that at least in the
past, I've found it very fragile when I forget and use "git checkout"
instead of "stg branch" to switch between branches.  The fact that
sometimes you have to use the StGit variant of basic git commands has
always struck me as confusing, and then recovering when things get
screwed can be exciting.  Usually it's when I start having to cut and
paste SHA1 hashes and running diffs to recreate my patch series after
things get screwed is usually about the time when I wonder why I tried
using StGIT again.  (Don't get me wrong; I'm sure I did something
really stupid, and wrong, that caused things to get screwed up.  My
complaint is that when I do something stupid, StGIT isn't robust and
is painful to recover from.)

That's why I like guilt; it doesn't require that you use alternate stg
commands for manipulating branches, and since it maintains an external
set of text patches, recovering is much easier; worst case I can just
do a "git reset --hard" and then follow it up with a guilt push -a.
And because it's so stupid simple, it's much rarer that something goes
seriously wrong that requires me to use a recovery procedure in the
first place.

Editing patch headers are also a lot easier with guilt; you can just
go ahead and edit them all, and then you can fresh them in git by
doing a "guilt pop -a; guilt push -a".  Since it's not using a
git-based storage, it doesn't have to rewrite the whole patch stack
when you modify a single patch header; you can edit a whole bunch of
text headers and then refresh the git commit series just once.

Of course, that's just my preference; others may find StGIT more
convenient, or folks may find the new rebase -i to be better yet.
YMMV.

     	  		    	 	- Ted

  parent reply	other threads:[~2007-08-04  6:39 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-03 17:50 Some ideas for StGIT Pavel Roskin
2007-08-03 18:14 ` Andy Parkins
2007-08-04  5:41   ` Pavel Roskin
2007-08-04  5:51     ` Shawn O. Pearce
2007-08-05  0:08       ` Pavel Roskin
2007-08-05  0:17       ` Jakub Narebski
2007-08-05  2:31         ` Shawn O. Pearce
2007-08-05  3:32           ` Junio C Hamano
2007-08-05 13:39           ` Josef Sipek
2007-08-05 13:56             ` Johannes Schindelin
2007-08-05 14:06               ` Josef Sipek
2007-08-05 14:15                 ` Johannes Schindelin
2007-08-05 14:57                   ` Josef Sipek
2007-08-04  8:08     ` Yann Dirson
2007-08-06 10:01       ` Catalin Marinas
2007-08-04 14:14     ` Chris Shoemaker
2007-08-04 15:22       ` Johannes Schindelin
2007-08-03 23:23 ` Yann Dirson
2007-08-06  9:49   ` Catalin Marinas
2007-08-06 13:26     ` Pavel Roskin
2007-08-06 15:19       ` Josef Sipek
2007-08-04  6:38 ` Theodore Tso [this message]
2007-08-04  8:16   ` Yann Dirson
2007-08-04 21:35   ` Josef Sipek
2007-08-05  0:12     ` Pavel Roskin
2007-08-06  9:36 ` Catalin Marinas
2007-08-06  9:56   ` Karl Hasselström
2007-08-06 12:42     ` Pavel Roskin
2007-08-06 13:52       ` Karl Hasselström
2007-08-23 14:09         ` Catalin Marinas
2007-08-23 14:34           ` Karl Hasselström
2007-08-06 17:17   ` Pavel Roskin

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=20070804063858.GA13758@thunk.org \
    --to=tytso@mit.edu \
    --cc=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=proski@gnu.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).