git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Catalin Marinas" <catalin.marinas@gmail.com>
To: "Yann Dirson" <ydirson@altern.org>
Cc: "Jakub Narebski" <jnareb@gmail.com>, git@vger.kernel.org
Subject: Re: Rebasing stgit stacks
Date: Tue, 23 Jan 2007 22:03:26 +0000	[thread overview]
Message-ID: <b0943d9e0701231403qefb28f0h91d3f599699b9908@mail.gmail.com> (raw)
In-Reply-To: <20070123074945.GB4083@nan92-1-81-57-214-146.fbx.proxad.net>

On 23/01/07, Yann Dirson <ydirson@altern.org> wrote:
> On Mon, Jan 22, 2007 at 10:58:41PM +0000, Catalin Marinas wrote:
> > On 22/01/07, Yann Dirson <ydirson@altern.org> wrote:
> > The unapplied patches can have any commit as a parent, either in the
> > direct history of the current branch or in any other branch, there is
> > no restriction here. They get in line with the current branch's head
> > during the push operation.
>
> Right.  I'm just emphasizing that, since they are (even temporarily)
> not part of the GIT branch from a GIT point of view, but part of the
> stack, the 2 concepts, while closely linked, are not strict subsets of
> each other.  Rather, they share some common points, but neither would
> be parent of the other in a class hierarchy.

Indeed, but my point is that they are really tightly coupled and not
easy to disconnect in the current design. Maybe we could loose the
coupling post 1.0 but I'm not convinced it wouldn't create confusion
among users. I also don't think there would be many users wanting to
move a stack on top of a different branch when some import or multiple
cherry-picking would be enough.

> > >Indeed I was thinking about that today, and thought that maybe it
> > >would make sense not to use a head ref (and thus not using a real
> > >branch), which would minimize the risk of someone committing by error
> > >(and thus minimize the need to use "assimilate"), since porcelainish
> > >commit tools would then refuse to commit there.
> >
> > But isn't this what Quilt already does (i.e. a different mechanism for
> > patches, on top of any SCM)?
>
> I'm not sure wat you mean here.  I'm only talking of StGIT and the GIT
> world here.

I got the (wrong) impression that you'd like to disconnect StGIT
patches from GIT commits which would mean re-writing Quilt or some
other form of patch management.

> > One of the base ideas of StGIT is that the top patch represents the
> > head of the current branch and that the patches applied on the stack
> > always form the recent history of the current branch.
>
> I'm not willing to change the concept.  I'm just wondering whether
> using a non-head reference (eg. stacks/<name> or stacks/<name>/top)
> would not be better.  For this we may need to consider using detached
> HEAD support from 1.5.0, but I'm just thinking loudly, I have not
> looked at what that thing provides exactly yet.

It might be a good idea (probably post 1.0) since we have a 'commit'
command to update the head of the branch already. I'll have to think a
bit more to make sure it doesn't break existing use-cases. I also
haven't followed the detached HEAD support. StGIT currently relies on
the HEAD giving the information about the current branch.

> > As I said, the idea of moving the stack (patches) on top of a
> > different branch should be done as an import (or multiple
> > cherry-pick or clone), otherwise we loose the coupling between
> > branches and stacks.
>
> I'll have to think more about that - I'm not sure I get you point.  By
> moving/cloning we keep (or could keep) the patches' history.  By
> importing we cannot do that.

The 'pick' command could be (easily) fixed to preserve the history of
a patch (I'll add this to the todo list). The log commit would have
the picked patch's log as a parent rather than none.

StGIT grew up almost (or just 2 months behind) at the same time with
GIT with a lot experimental/prototype features implemented. Now we
probably have a lot more ideas (and users) about how we should use GIT
and StGIT and can re-design parts of StGIT to accommodate the new
use-cases. As I said, I'll first like to get a 1.0 out this spring.

-- 
Catalin

  reply	other threads:[~2007-01-23 22:07 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-09 21:35 Howto use StGit and git-svn at same time Guilhem Bonnefille
2007-01-09 21:41 ` Guilhem Bonnefille
2007-01-09 22:41   ` Yann Dirson
2007-01-15 13:26     ` Guilhem Bonnefille
2007-01-15 20:24       ` Rebasing stgit stacks Yann Dirson
2007-01-15 22:46         ` Catalin Marinas
2007-01-15 23:39           ` Yann Dirson
2007-01-16 22:42             ` Catalin Marinas
2007-01-16 23:17               ` Yann Dirson
2007-01-16 23:30                 ` Jakub Narebski
2007-01-17  9:03                   ` Karl Hasselström
2007-01-17 11:07                     ` David Kågedal
2007-01-17 19:34                     ` Yann Dirson
2007-01-17 20:53                   ` Yann Dirson
2007-01-18 12:06                     ` Catalin Marinas
2007-01-18 19:42                       ` Yann Dirson
2007-01-19  9:40                     ` Jakub Narebski
2007-01-20 13:17                       ` Yann Dirson
2007-01-20 19:16                         ` Jakub Narebski
2007-01-20 20:07                           ` Yann Dirson
2007-01-22 23:12                           ` Catalin Marinas
2007-01-18  9:05                 ` Catalin Marinas
2007-01-18 20:52                   ` Yann Dirson
2007-01-19  9:47                     ` Jakub Narebski
2007-01-22 17:54                       ` Catalin Marinas
2007-01-22 19:47                         ` Yann Dirson
2007-01-22 22:58                           ` Catalin Marinas
2007-01-23  7:49                             ` Yann Dirson
2007-01-23 22:03                               ` Catalin Marinas [this message]
2007-01-24  0:05                                 ` Yann Dirson
2007-01-24 12:37                                   ` Catalin Marinas
2007-01-24 20:03                                     ` Yann Dirson
2007-01-28  4:33                             ` Theodore Tso
2007-01-28 10:25                               ` Yann Dirson
2007-01-28 23:21                               ` Catalin Marinas
2007-01-17 21:30             ` Yann Dirson

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=b0943d9e0701231403qefb28f0h91d3f599699b9908@mail.gmail.com \
    --to=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    --cc=ydirson@altern.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).