emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VC mode and git


From: Eli Zaretskii
Subject: Re: VC mode and git
Date: Thu, 26 Mar 2015 18:46:01 +0200

> Date: Thu, 26 Mar 2015 06:57:07 -0400
> From: Richard Stallman <address@hidden>
> CC: address@hidden, address@hidden, address@hidden
> 
>   > > VC check-in should store into the central repository.
> 
>   > This must be optional, because there are widely used workflows where
>   > pushing every commit is not what the user wants.
> 
> We should have all the options anyone wants.
> I'm talking about the default behavior for C-x v v.

Why should we care too much about the defaults?  We both know how to
customize Emacs, right?

Defaults should cater to what the majority of users want, and they
nowadays don't want to push automatically every commit.

>   > The notion of "commit" from RCS/CVS/SVN 
> 
> Also Bzr.  When I was editing Emacs sources using Bzr, C-x v v
> sent all my changes to the repository on Savannah.

Only because the branch was bound.  In an un-bound branch, bzr doesn't
automatically push.

Git lacks bound branches, so you cannot easily have the same
functionality.

>                                           doesn't scale well to Git.
> 
> Could you explain what the obstacle is?  I don't see it.

Quite simply, the separation between a commit and a push in Git is so
radical that you cannot reliably do them both in one go, at least IME.
E.g., what happens if the commit succeeds, but the push fails?  From
your POV of a "C-x v v" user, you are in a middle of something you are
used to think of as an atomic operation.  Where do you go to from
there?

> I have made a local Git repository cloned from the one at Savannah.
> Supposedly 'git push' would send the changes back to Savannah.  What
> is the conceptual difficulty in having C-x v v work with Git just as
> it did with Bzr -- commit and push?

Bazaar allowed a workflow that Git doesn't, that's why you could
maintain the illusion of a single operation in a bound branch.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]