git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Yann Dirson <ydirson@altern.org>
To: Catalin Marinas <catalin.marinas@gmail.com>
Cc: git@vger.kernel.org, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
Subject: Re: Rebasing stgit stacks
Date: Wed, 17 Jan 2007 00:17:35 +0100	[thread overview]
Message-ID: <20070116231735.GF7029@nan92-1-81-57-214-146.fbx.proxad.net> (raw)
In-Reply-To: <b0943d9e0701161442t6b93e0d6nd88364600f2809ee@mail.gmail.com>

On Tue, Jan 16, 2007 at 10:42:17PM +0000, Catalin Marinas wrote:
> >The idea is that we pull our stack from one place (current base) to
> >another.  Another possiblity would have been "stg rebase", but I'm not
> >very keen on adding another command to do a very similar job.
> 
> Can you give a typical example of what <newbase> argument for --to is
> and what you repository looks like? I just want make sure I correctly
> understand the problem.

My example is quite similar to the one given by Guilhem: I had a git
branch coming from git-cvsimport, and my stgit stack forked atop that
branch.  At some point git-cvsimport fucked something, and I
regenerated a new mirror branch using it in a fresh repo.  Then I
wanted to rebase my stack on that new branch.


> I see the 'pull' command as a way to fetch the latest remote changes
> and merge them into the current branch (which would usually be a
> fast-forward). This command was meant as a stgit-aware 'git pull'.

Do you have an example of use where we would need a non-fast-forward
pull (supposing we have the "pull --to" functionality already, since I
shall find time to finish soon).


> >> As Petr suggested at the OLS last year, I added the possibility to
> >> configure the 'git pull' command so that people use whatever script
> >> they like.
> >
> >Right.  Maybe different workflows should have this option set to
> >different values in different repos ?  I'm merely trying to get the
> >best default :)
> 
> But you want to replace the call to 'git pull' with 'git fetch'. I
> think this is fine with my workflow but some people might actually
> rely on calling 'git pull' (or cg-pull).

Right, it may be possible (and I'd be interested in seeing such a
workflow).  Maybe we could keep support for git-pull as an
alternative.

This could be done, eg. by letting the user use "pullcmd=git-pull" and
introduce a new option like "fastforward=<bool>" triggering the
fast-forward needed after git-fetch, with the default being "true",
and the current behaviour being obtained by changing it to "false".

That would not add too much complexity, while setting the default to
what I believe to match the most common workflows, and allow anyone
relying on the current behaviour to get it back.


> >> I was working on a set of patches (mainly picking from other
> >> branches and minor modifications) and just committing them when
> >> finishing. Further updates from kernel.org triggered full merges
> >> with the base.
> >
> >But doing this means that you can end with a base that is not any more
> >on the parent branch, but on a local merge, right ?  I'm not sure it
> >is an easy thing to work with.
> 
> Yes, indeed, but this is probably the only way you can publish a
> branch and still partially manage it with StGIT.

Well, I'd think that automatic rebasing would be a more elegant
solution.

> >On the StGIT front, we could have "stg clone" look at
> >patches/<branch>/current or so, and then modify the
> >remote.<name>.fetch entry accordingly.  Or do you think of any
> >workflow that would break under this change ?
> 
> Currently, 'stg clone' just calls 'git clone' and initializes the
> master branch. There is no patches/<branch>/current file as there is
> no current patch.

I meant, the patches/<branch>/current in the remote repo.  If that one
exist, then we should pull it with "+" as we should do for any
rebasing remote branch.

> >Even if we would not need it here, it would be good to have those 2
> >parameters set when we can infer them.  That reminds me that "stg
> >clone" does not appear to allow selecting a specific branch in the
> >parent repo (which explains why the .merge parameter is not so
> >crucially needed yet: we always clone the main branch).
> 
> I haven't looked at 'git clone' recently, can you select a specific branch?

I had assumed so without looking, but it looks like you cannot select
much.  When using separate remotes, the HEAD in the clone is taken
from the HEAD in the remote, and bears the same name.  It is the only
ref created under heads/.

Would there be some missing functionnality in git-clone, or am I just
missing something obvious ?

Best regards,
-- 
Yann.

  reply	other threads:[~2007-01-16 23:17 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 [this message]
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
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=20070116231735.GF7029@nan92-1-81-57-214-146.fbx.proxad.net \
    --to=ydirson@altern.org \
    --cc=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=guilhem.bonnefille@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.
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).