From: Carl Baldwin <cnb@fc.hp.com>
To: "Kirby C. Bohling" <kbohling@birddog.com>
Cc: Carl Baldwin <cnb@fc.hp.com>, Junio C Hamano <junkio@cox.net>,
Daniel Barkalow <barkalow@iabervon.org>,
Linus Torvalds <torvalds@osdl.org>,
git@vger.kernel.org
Subject: Re: [RFC] undo and redo
Date: Thu, 25 Aug 2005 14:37:33 -0600 [thread overview]
Message-ID: <20050825203733.GA26539@hpsvcnb.fc.hp.com> (raw)
In-Reply-To: <20050825195918.GD7461@birddog.com>
On Thu, Aug 25, 2005 at 02:59:18PM -0500, Kirby C. Bohling wrote:
> On Thu, Aug 25, 2005 at 10:32:01AM -0600, Carl Baldwin wrote:
> <snip...>
> > Another example is if I'm working on a commit and suddenly get a
> > brilliant idea for some easy modification that I want to make and commit
> > by itself before making this commit. I can do this easily with
> >
> > % git undo
> > % carefully make easy change
> > % git commit
> > % git redo
> >
> > Having a light-weight alternative like this could make the difference
> > between realizing the easy, brilliant idea and forgetting about it on
> > the back burner because it was just too cumbersome to make the context
> > switch.
> >
> > The bottom line is that I don't argue against using the existing
> > work-flows. I hope to add the flexibility to use various work-flows to
> > fit the job at hand.
> >
> <snip...>
>
> [Not much of a git user, but am evaluating it for possible future
> usage]...
>
> Why not just save the changes to a file via a patch. Just like you
> would if you were sending a patch to someone else. I have the work
> flow you are talking about when I use CVS. I just create a patch,
> apply the patch in reverse (or run the command to get you a clean
> working tree in the SCM). Make my unrelated changes commit it.
> Then apply the patch, possibly resolve merge conflicts, and proceed
> with finishing my original work.
I used to do this with CVS too. For you and me, people who are patch
savy veterans, this is great! However, as easy as it is I knew very few
other developers who even thought about doing it. In the real world,
many people see a huge difference between:
git diff-cache > $patchfile
cat $patchfile | patch -R -p1
do work
cat $patchfile | patch -p1
AND
git undo
do work
git redo
The first one simply never happens with most developers. Most don't
really think of doing something outside the tool. The second option
will likely get used. Plus, I know at least one person here who is very
good with patches and working outside the tool and still would love to
have the second approach available.
Is there something wrong with having flexibility? It seems most of the
criticism of this feature is that there is already a way to accomplish
what I want to do. Tools that can't be used flexibly are not tools that
I like to use. Heck, I'm on UNIX aren't I?
Oops, sorry for the rant. I'm really not in a bad mood... really. I
hope it didn't sound like that :-). Oh, and I didn't mean to suggest
that git is not flexible in other regards. I think its great! Moving
along...
> Assuming your patch creation and application tools capture all the
> meta-data the SCM has (which I believe git does), it's pretty simple
> to simulate what you want manaully. With only a handful of
> commands.
I can simulate git manually too with just a few more commands. Where's
the cutoff?
> I see the appeal of not having manually deal with the files, but
> assuming you don't feel it's branch worthy, and you don't want to
> have it be something someone else can access externally, it doesn't
> seem like a feature I can't get almost as simply with existing git
> commands.
Not having to manually manage a set of patches may seem small but it
reduces a barrier that may otherwise be just high enough to hurt
productivity in certain situations.
> I guess my final question is what does undo/redo have over saving
> stuff away in a patch assuming that the patch captures all of the
> SCM meta-data (the add/move/remove file type commands). If git
> doesn't capture all the meta-data in a patch, it would seem better
> to make it do that and get this as a side-affect.
>
> Thanks,
> Kirby
Thanks for your comments.
Carl
--
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Carl Baldwin Systems VLSI Laboratory
Hewlett Packard Company
MS 88 work: 970 898-1523
3404 E. Harmony Rd. work: Carl.N.Baldwin@hp.com
Fort Collins, CO 80525 home: Carl@ecBaldwin.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
next prev parent reply other threads:[~2005-08-25 20:37 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-24 17:23 [RFC] undo and redo Carl Baldwin
2005-08-24 18:10 ` Carl Baldwin
2005-08-24 18:51 ` Linus Torvalds
2005-08-24 19:56 ` Carl Baldwin
2005-08-24 20:44 ` Daniel Barkalow
2005-08-24 20:47 ` Carl Baldwin
2005-08-24 21:04 ` Daniel Barkalow
2005-08-24 22:48 ` Junio C Hamano
2005-08-25 2:41 ` Carl Baldwin
2005-08-25 5:06 ` Junio C Hamano
2005-08-25 16:32 ` Carl Baldwin
2005-08-25 17:39 ` Kalle Valo
2005-08-25 19:59 ` Kirby C. Bohling
2005-08-25 20:19 ` Junio C Hamano
2005-08-25 20:49 ` Kirby C. Bohling
2005-08-25 21:28 ` Carl Baldwin
2005-08-25 20:37 ` Carl Baldwin [this message]
2005-08-25 21:09 ` Kirby C. Bohling
2005-08-25 21:42 ` Carl Baldwin
2005-08-24 18:18 ` Junio C Hamano
2005-08-24 20:01 ` Carl Baldwin
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=20050825203733.GA26539@hpsvcnb.fc.hp.com \
--to=cnb@fc.hp.com \
--cc=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=kbohling@birddog.com \
--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).