From: Carl Worth <cworth@cworth.org>
To: Andreas Ericsson <ae@op5.se>
Cc: Junio C Hamano <junkio@cox.net>,
git@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>
Subject: Re: [PATCH] New git-seek command with documentation and test.
Date: Fri, 24 Feb 2006 06:23:42 -0800 [thread overview]
Message-ID: <87oe0wrg29.wl%cworth@cworth.org> (raw)
In-Reply-To: <43FED93D.1000601@op5.se>
[-- Attachment #1: Type: text/plain, Size: 3134 bytes --]
On Fri, 24 Feb 2006 11:00:29 +0100, Andreas Ericsson wrote:
>
> I've said it before, and I'll say it again. This tool provides less
> flexibility and much less power than "git checkout -b branch
> <commit-ish>"
Yes, that's by design. It's not intended to be a replacement for git
checkout -b. It's intended to be easier to use than that when its
purpose fits what you want to to.
> > 1) invent a throwaway name,
>
> All programmers have at least five throwaway names that are only ever
> used as such (mine are, in order of precedence, foo, bar, tmp, fnurg,
> sdf and asd).
Sure, and when I use "git checkout -b" I have to keep trying these
linearly until I found one that is available. That's what I've been
doing, and it's painful enough that I wrote this. (Though yes,
something like checkout -o would help here).
> > 2) remember the branch I started on,
>
> With topic branches, you need to pick more careful topic names. Without
> topic branches you're always on "master". Surely you know what the
> patches touch, so you know what branch they should be in.
I almost put "remember" in quotation marks. Obviously I know what I'm
working on. It's more a matter of just having to type the name, (I do
use very careful topic names so they tend to be longish). Having
tab-completion for git-checkout would help here.
So (1) and (2) have potential workarounds, but neither exists, and
even then they would still be harder to use than git-seek.
> > 3) remember to actually throwaway the temporary branch.
>
> This isn't always a bad thing, since you after applying some patch or
> other decide you want to go back to this point in history,
That assumes that I've made any change though. If you're going back in
the past to make changes, then "git checkout -b" is the right thing to
use. It's when you're not planning to make changes, but just exploring
the past that "git seek" is helpful.
So (3) is just extra pain when using git-seek for what its designed to
be good for, (exploring history when not planning on writing to it).
But note that the git-seek I've implemented *does* provide a writable
branch, so if you discover that you do want to commit something, then
that's always available. Linus gave compelling arguments for this.
> In that case, you need to remember to add the
> branch/tag/whatever to where you seeked rather than just go on with the
> work. Removing a branch later is simple. Finding the right spot to
> create it later can be trouble-some.
Yes. And that's why git-seek stops and warns you before it leaves
dangling commits by moving the branch. (Though it might make sense to
add a -f option to force it to seek regardless of the things it
currently balks at.)
> If I had a vote, I'd say no to this patch, and to this tool entirely.
One argument in favor is that seeking already exists in git privately
within git-bisect. Exposing git-seek makes it easier to code new
operations along the lines of git-bisect. It's certainly consistent
with git's current implementation strategy to have the more primitive
pieces of complex operations exported and available.
-Carl
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2006-02-24 14:25 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-14 16:28 several quick questions Nicolas Vilz 'niv'
2006-02-14 17:03 ` Andreas Ericsson
2006-02-14 21:30 ` Nicolas Vilz 'niv'
2006-02-14 17:05 ` Linus Torvalds
2006-02-14 17:47 ` Kenneth Johansson
2006-02-14 18:08 ` Andreas Ericsson
2006-02-14 18:21 ` Kenneth Johansson
2006-02-14 18:26 ` Linus Torvalds
2006-02-14 18:10 ` Carl Worth
2006-02-14 18:34 ` Linus Torvalds
2006-02-14 20:10 ` Carl Worth
2006-02-14 20:27 ` Petr Baudis
2006-02-14 20:37 ` Johannes Schindelin
2006-02-14 20:41 ` Junio C Hamano
2006-02-14 20:54 ` Johannes Schindelin
2006-02-14 20:55 ` Petr Baudis
2006-02-14 20:40 ` Linus Torvalds
2006-02-14 21:19 ` Petr Baudis
2006-02-14 21:53 ` Carl Worth
2006-02-14 22:39 ` Junio C Hamano
2006-02-23 20:31 ` [PATCH] New git-seek command with documentation and test Carl Worth
2006-02-24 0:18 ` J. Bruce Fields
2006-02-24 1:01 ` [PATCH] git-seek: Eliminate spurious warning. Fix errant reference to git-bisect in docs Carl Worth
2006-02-24 6:02 ` Junio C Hamano
2006-02-24 10:00 ` [PATCH] New git-seek command with documentation and test Andreas Ericsson
2006-02-24 11:38 ` Junio C Hamano
2006-02-24 14:23 ` Carl Worth [this message]
2006-02-24 21:48 ` Johannes Schindelin
2006-02-24 21:57 ` J. Bruce Fields
2006-02-14 21:30 ` several quick questions Josef Weidendorfer
2006-02-14 21:40 ` Junio C Hamano
2006-02-14 22:17 ` Josef Weidendorfer
2006-02-14 22:26 ` Junio C Hamano
2006-02-15 19:22 ` [PATCH] More useful/hinting error messages in git-checkout Josef Weidendorfer
2006-02-14 23:00 ` several quick questions Andreas Ericsson
2006-02-14 23:23 ` Johannes Schindelin
2006-02-15 0:08 ` Andreas Ericsson
2006-02-15 0:34 ` Junio C Hamano
2006-02-15 6:27 ` Junio C Hamano
2006-02-15 9:06 ` Andreas Ericsson
2006-02-15 9:21 ` Junio C Hamano
2006-02-14 21:41 ` Petr Baudis
2006-02-14 18:44 ` Carl Worth
2006-02-14 19:00 ` Linus Torvalds
2006-02-14 19:38 ` Andreas Ericsson
2006-02-14 20:34 ` Johannes Schindelin
2006-02-14 20:14 ` Carl Worth
2006-02-14 18:55 ` Keith Packard
2006-02-14 19:04 ` Linus Torvalds
2006-02-14 19:39 ` Keith Packard
[not found] ` <20060214220154.GJ31278@pasky.or.cz>
[not found] ` <1139960934.4341.93.camel@evo.keithp.com>
[not found] ` <20060215000737.GF9573@pasky.or.cz>
[not found] ` <1139963183.4341.117.camel@evo.keithp.com>
2006-02-15 1:12 ` Cogito turbo-introduction Petr Baudis
2006-02-15 1:32 ` Petr Baudis
2006-02-15 4:11 ` several quick questions Martin Langhoff
2006-02-15 5:25 ` Keith Packard
2006-02-15 8:21 ` Carl Worth
2006-02-14 19:13 ` Junio C Hamano
2006-02-14 19:46 ` Petr Baudis
-- strict thread matches above, loose matches on Subject: below --
2006-02-24 0:29 [PATCH] New git-seek command with documentation and test linux
2006-02-24 0:54 ` Johannes Schindelin
2006-02-24 1:23 ` linux
2006-02-24 6:53 ` H. Peter Anvin
2006-02-24 10:11 ` Andreas Ericsson
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=87oe0wrg29.wl%cworth@cworth.org \
--to=cworth@cworth.org \
--cc=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=torvalds@osdl.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).