git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Catalin Marinas" <catalin.marinas@gmail.com>
To: "Yann Dirson" <ydirson@altern.org>
Cc: "GIT list" <git@vger.kernel.org>
Subject: Re: [StGIT RFC] Changing patch@branch syntax
Date: Fri, 22 Jun 2007 23:29:14 +0100	[thread overview]
Message-ID: <b0943d9e0706221529w63a41e82r557179a45b461f61@mail.gmail.com> (raw)
In-Reply-To: <20070622200037.GE7730@nan92-1-81-57-214-146.fbx.proxad.net>

On 22/06/07, Yann Dirson <ydirson@altern.org> wrote:
> On Fri, Jun 22, 2007 at 04:59:05PM +0100, Catalin Marinas wrote:
> > I also don't think we need to make this distinction in the names as
> > different commands or options take different type of arguments:
> >
> > stg show <patch>
> > stg series --branch <stack>
>
> Currently, "stg show HEAD" or any other git ref does work, except when
> there are name clashes.

But the argument to 'show' here is either a patch or a git ref (not a
stack or a pool). It first tries to find a patch and fall back to a
git ref. You don't specify a stack to 'show'. 'git show' is also able
to take a commit or a tag object without clearly specifying the
difference.

What might be easier with a complete spec is bash completion. I find
this mandatory precise description similar to the Hungarian notation.
Since most of the time I work with push/pop commands, I don't like
always putting a ":" for every patch (BTW, what about patch ranges, I
don't think they can go across multiple stacks).

> And since we're going to have all of patches, stacks, and pools in the
> same "stackable" family, we're going to use them interchangeably in
> more and more places.  But there are also places where we can use at
> will stack names and generic git heads (eg. "stg branch X").

Currently, stack names and git branches are the same. Would this
change with hydra? I use StGIT to maintain my branches on
http://www.linux-arm.org/git?p=linux-2.6.git;a=heads and I find the
stack name == git branch simplification pretty useful.

What commands/options would we have where we need to distinguish
between stack and patch names?

> I'd rather having a single name-resolution mechanism, instead of one
> for patches and one for branches.

I don't see why we couldn't have a single name resolution but without
the mandatory ":". An example (but in reverse order) is internet
names. I only type "intranet" rather than "intranet." in a browser. To
fully qualify, I type "intranet.arm.com".

> > I would introduce a <repo> in front of all the above (for which we
> > don't have any support)
>
> Yes - URLs could do the work, with a '#' to use the stackable as URL
> fragment.

OK, you mentioned this in the past.

> Now for technical details.  I have a prototype hydra mechanism that
> demonstrates that we can create such a beast without having everything
> breaking all around.  However, it does not use the model described in
> this thread, but rather links to stacks which exist independantly - I
> want to keep that as a possibility, by using some symlink-like
> mechanism, but the current prototype will not live, although I may
> experiment a bit more with it.  BTW, we should probably name the final
> beast "pool" and not "hydra", so users have a better idea of how to
> use it :)

Yes, "pool" sounds better (though I didn't get the full idea of how
things work).

> However, the various refactorings and fixes I have done should be
> quite ready for inclusion (modulo dispatching recent fixes down to the
> relevant patch).  Here I need to know your plans for 0.13: if the
> refactoring would go in, I just have to polish things as they are; if
> you prefer to keep this for 0.14, I'll sink the bugfixes down my stack
> so they can be in 0.13 at least.

I plan to do a 0.13 release pretty soon. I want to clear some of the
logged bugs and release it as it seems to be pretty stable. It's
better to keep this refactoring for 0.14.

If it is easier for you, you could create a branch (for-upstream etc.)
and just send me an email to merge it.

> Did you have time to look at the various refactorings at
> http://repo.or.cz/w/stgit/ydirson.git ?

I had a quick look (not much though, moving house and a lot of FYI).
They look OK, but just a few comments:

- concreteCommand, I would write classes with capital first letter
(unwritten convention in StGIT)

- why the Repository class definition in stgit/__init__.py? Can it not
be in a different file? Also, shourt stgit/git.py be aware of the
repository?

Regards.

-- 
Catalin

  reply	other threads:[~2007-06-22 22:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-15 22:03 [StGIT RFC] Changing patch@branch syntax Yann Dirson
2007-05-16  6:54 ` Karl Hasselström
2007-05-22 12:27 ` Catalin Marinas
2007-05-22 21:00   ` Yann Dirson
2007-06-21 23:02     ` Yann Dirson
2007-06-22 15:59       ` Catalin Marinas
2007-06-22 20:00         ` Yann Dirson
2007-06-22 22:29           ` Catalin Marinas [this message]
2007-06-24 21:26             ` Yann Dirson
2007-06-25 22:22               ` Catalin Marinas
2007-06-26 22:31                 ` Yann Dirson
2007-07-06 22:04                   ` [StGIT RFC] Changing patch@branch syntaxtackable> ::= <nameattr> | <stackable>:<stackable> 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

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

  git send-email \
    --in-reply-to=b0943d9e0706221529w63a41e82r557179a45b461f61@mail.gmail.com \
    --to=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --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.
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).