On Thu, Aug 25, 2005 at 02:37:33PM -0600, Carl Baldwin wrote:
> 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.

I guess I can see that.  I just see it as much easier to manage
multiple undo-redo states manually.  I mean, I wouldn't make anyone
use git directly if the difference between the two commands bothers
them.  git seems too low a level.  I would think one of the
procelains would be be a better level.  However, having a unified
interface for all the porcelains seems a reasonable request.

> 
> 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?

Yes and no.  I meant the order and style of commands was nearly
identical.  I meant applying the command line in reverse was the
only additional step.  As a workflow, I'd just document it in the
HOWTO's.  I'm a minimalist in that sense.  Sure, I use more then
echo, redirection and netcat even though in theory I could send you
this e-mail with it.  IMHO, the above undo/redo doesn't seem to save
enough effort to me.  I wouldn't bother learning undo/redo unless it
was superior to the patch way, it's just one more thing I'd have to
remember.

> 
> > 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 don't mean to discourge it's implementation, I really questioned
it because I figured there had to be some more subtle implications I
didn't understand about undo/redo that patch couldn't capture.  It
also seems like multiple levels of undo/redo or undo/redo on
multiple branches could get tricky for the user to track and for git
to be able to display the information to the user sanely.

    Thanks,
        Kirby

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to