git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Carl Worth <cworth@cworth.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: "Nicolas Vilz 'niv'" <niv@iaglans.de>, git <git@vger.kernel.org>
Subject: Re: several quick questions
Date: Tue, 14 Feb 2006 12:10:28 -0800	[thread overview]
Message-ID: <87fymlvgzv.wl%cworth@cworth.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0602141026570.3691@g5.osdl.org>

[-- Attachment #1: Type: text/plain, Size: 2201 bytes --]

On Tue, 14 Feb 2006 10:34:35 -0800 (PST), Linus Torvalds wrote:
> On Tue, 14 Feb 2006, Carl Worth wrote:
> > 
> > I don't know if it's the original poster's question or not, but an
> > operation I don't see in the above is "put the working files into the
> > state of a given revision".
> 
> What a strange thing to ask for.

It's pretty common in other tools. For example, many tools have a way
to examine the files from a previous state in a "no current branch"
state. Any attempt to commit from that state would prompt the user to
create a new branch name at that point.

In fact, this is the natural operation for the basis of something like
git-bisect.

> It's actually as efficient as anything else, and there's much less room 
> for confusion. When you want to go back, you can just do a simple
> 
> 	git checkout -f master

OK, the efficiency arguments made elsewhere in the thread make it
clear that these are the operations that need to happen.

But I'd still like to be able to do this without having to invent a
fake branch name, without the ability to accidentally commit on the
fake branch, and without the possibility of accidentally leaving those
commits dangling the next time I seek somewhere else.

So I looked, and git-bisect does use this approach with a fake branch
of "bisect" and by saving the original head ref in $GIT_DIR/head-name
for the sake of the final "git bisect reset".

Also, git-bisect does take advantage of the $GIT_DIR/head-name state
to prevent nested calls to "git bisect start", ("won't bisect on
seeked tree").

That gives a very natural name, "seek", for the operation I'd like.

How about "git seek" for doing the operations above, and using some
reserved branch name, (say "seek"). Then, git-bisect could easily be
built on that, and git-commit could respect the "seek" name and refuse
to commit to it, (could tell the user how to create the branch
necessary to commit from the current point).

There could also be a "git seek reset" to return to the HEAD saved by
the first in a chain of "git seek" operations.

That looks like I minor generalization of existing behavior in
git-bisect, but it would provide an operation that I would find
useful.

-Carl

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2006-02-14 20:12 UTC|newest]

Thread overview: 57+ 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 [this message]
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
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

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=87fymlvgzv.wl%cworth@cworth.org \
    --to=cworth@cworth.org \
    --cc=git@vger.kernel.org \
    --cc=niv@iaglans.de \
    --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).