unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Dan Nicolaescu <dann@gnu.org>
Cc: "Juri Linkov" <juri@jurta.org>,
	"Štěpán Němec" <stepnem@gmail.com>,
	emacs-devel@gnu.org
Subject: Re: support for git commit --amend/--signoff
Date: Wed, 23 Jun 2010 09:17:46 +0200	[thread overview]
Message-ID: <jwv39web5kc.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <yxqwrtv8r2h.fsf@fencepost.gnu.org> (Dan Nicolaescu's message of "Sat, 19 Jun 2010 02:38:46 -0400")

>>> We could have a log-edit-extra-flags function that computes a set of
>>> extra flags, and pass those flags to vc-git-checkin.
>> If amend is triggered from a new command (like vc-amend), then there's no
>> need for any special support in log-edit.  We could easily store the
>> relevant info in log-edit-callback or in vc-specific
>> buffer-local variables.
> The problem with that is that vc-amend does not integrate very well
> with C-x v v

That doesn't bother me too much.  I wish we could move further away from
C-x v v since I find it doesn't really work for modern VCSes.

> and it is very Git specific,

Not sure about the "very", but in any case I don't see why that would
argue for integration inside "commit" rather than for the addition of
a separate command.

> and given the reluctance of some other VCs to change history, it does
> not seem that it will be generalized.

DaRCS already supports a more general form of Git's amend.  Bazaar is
unlikely to go there, tho, indeed (although they are not opposed to
adding a more limited command to modify commit-comments).  Don't know
about others.

> More, it does not solve the problem of --signoff (which might be
> adopted by other VCs).

What's the problem with sign-off?  It seems this one fits perfectly well
inside a "Signed-Off-By:" header.

> Here's a solution that takes care of all problems and it is extensible.
> I adds one line to log-edit.el and two to vc.el.
> vc-git-log-edit-get-extra-flags-function does the work in vc-git.el

Why add a var "log-edit-get-extra-flags-function" that's never used by
log-edit?

BTW, I think you can get what you want already without touching any of
vc.el and log-edit.el by making vc-git-log-edit-toggle-amend tweak the
log-edit-callback variable.

Maybe adding an `extra-flags' arg to `checkin' is the better approach,
but adding it everywhere just for the sake of Git doesn't sound too
good, which is why I'm resisting it.

Also as a user I'd *really* like to have a clear visual feedback about
the fact that I'm amending something, which is another reason why having
it inside the headers is an attractive direction.


        Stefan



  reply	other threads:[~2010-06-23  7:17 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-11  6:19 support for git commit --amend/--signoff Dan Nicolaescu
2010-06-11  8:09 ` Juri Linkov
2010-06-11 13:23   ` Dan Nicolaescu
2010-06-11 14:18     ` Stefan Monnier
2010-06-11 16:14       ` Štěpán Němec
2010-06-11 20:26         ` Stefan Monnier
2010-06-12  2:19           ` Dan Nicolaescu
2010-06-12 19:59             ` Juri Linkov
2010-06-12 20:19             ` Stefan Monnier
2010-06-19  6:38               ` Dan Nicolaescu
2010-06-23  7:17                 ` Stefan Monnier [this message]
2010-06-23  7:45                   ` David Kastrup
2010-06-23  9:00                   ` Miles Bader
2010-06-23 18:55                     ` Dan Nicolaescu
2010-06-23 18:45                   ` Dan Nicolaescu
2010-06-23 22:04                     ` Stefan Monnier
2010-06-23 23:23                       ` Dan Nicolaescu
2010-06-24 21:03                         ` Stefan Monnier
2010-06-24 21:18                           ` Dan Nicolaescu
2010-06-24 22:25                             ` Stefan Monnier
2010-06-24 23:14                               ` Dan Nicolaescu
2010-06-25  1:16                                 ` Stefan Monnier
2010-06-25  2:27                                   ` Dan Nicolaescu
2010-06-25 11:44                                     ` Miles Bader
2010-06-26  5:09                                       ` Dan Nicolaescu
2010-07-01  0:01                                         ` Stefan Monnier
2010-06-26 10:11                                       ` David Kastrup
2010-06-28 21:04                                         ` Juri Linkov
2010-06-11 17:34       ` Dan Nicolaescu
2010-06-11 19:27       ` Juri Linkov
2010-06-11 20:16         ` Dan Nicolaescu
2010-06-11 20:38           ` Juri Linkov
2010-06-11 23:48             ` W Dan Meyer
2010-06-12 20:23               ` Juri Linkov
2010-06-12  2:21             ` Dan Nicolaescu
2010-06-11 23:44           ` Thien-Thi Nguyen
2010-06-12 20:15           ` Stefan Monnier
2010-06-11 20:35         ` Stefan Monnier

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwv39web5kc.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=dann@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=juri@jurta.org \
    --cc=stepnem@gmail.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).