login
Header Space

 
 

Re: Naughty, Evil git-gui patches

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Barry Roberts <blr@...>
Cc: <git@...>
Date: Thursday, May 22, 2008 - 7:24 pm

Barry Roberts <blr@robertsr.us> wrote:

Hah!  Do you know why git-gui came along?  Because it was written as
an emergency measure to allow a transition from no version control
at all to git at my day-job.  :-)


Yea, that has been a glaring difference between git-gui and command
line for a long time.  There is also the inability to add a remote,
or to do "git pull git://some/where for-linus" or some such one
shot pull.


Maybe its just the way my brain works these days with git, but I
have never found the refusal to merge with a dirty working directory
to be a limitation.  I usually either don't have a dirty working
directory, or I stash into a temporary branch and switch back to
do the merge, then rebase or cherry-pick.  Yea, that does mean I
fall back to the command line in such cases.  Git Gui only users
don't have that option.

Once you get used to the idea of being able to recover your old
state after a merge has started (or even finished!) though the
idea of a dirty merge just sends chills down my spine.  Its a
really bad idea.  IMHO its like holding a loaded gun to your foot
and pulling the trigger every time you do a merge.  After a while
you run out of toes and have lost something you cared about.

Of course there is the school of thought that users should be
given that gun, with extra shells to boot.  I'd rather refuse to
do a dirty merge and let the user work with stashes in Git Gui.
Then the dirty merge error dialog can offer an option to stash
(and try to apply after merge) the dirty changes.  I think that
is the direction you were starting to go here.
 

They are apparently l33t enough to come up with this set of changes.
Which is pretty good if you ask me.

Building a good looking list of stashes would probably require using
several columns of text widgets with a single scrollbar.  This is
how the blame viewer and gitk are put together.  Its ugly as s**t.
 

I'm not sure I understand this.  Are you trying to get a diff for
the entire working directory against the staged files in the index?
As opposed to looking at each file individually?  What is your
external diff program able to show that git-gui's internal diff
viewer does not?

I'm not objecting to supporting GIT_EXTERNAL_DIFF, I just want to
better understand what you are trying to accomplish here so we can
make sure its the _right_ support.
 

I definately see some value in your bastard patches and would like to
work with you to get them into a shape that we can include them.  :-)

-- 
Shawn.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Naughty, Evil git-gui patches, Barry Roberts, (Thu May 22, 12:32 pm)
Re: Naughty, Evil git-gui patches, Shawn O. Pearce, (Thu May 22, 7:24 pm)
Re: Naughty, Evil git-gui patches, Barry Roberts, (Fri May 23, 1:51 am)
Re: Naughty, Evil git-gui patches, Shawn O. Pearce, (Sun May 25, 10:14 pm)
speck-geostationary