unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Uwe Brauer <oub@mat.ucm.es>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: "Dr. Arne Babenhauserheide" <arne_bab@web.de>,
	Uwe Brauer <oub@mat.ucm.es>,
	georges.racinet@octobus.net, emacs-devel@gnu.org
Subject: Re: [patch: first impression]
Date: Mon, 24 Oct 2022 17:34:38 +0200	[thread overview]
Message-ID: <87h6zt2q29.fsf@mat.ucm.es> (raw)
In-Reply-To: 770dc627-c43a-a11f-6315-918bd083bf7c@yandex.ru

[-- Attachment #1: Type: text/plain, Size: 3204 bytes --]

>>> "DG" == Dmitry Gutov <dgutov@yandex.ru> writes:

> On 18.10.2022 22:29, Dr. Arne Babenhauserheide wrote:
>> "Dr. Arne Babenhauserheide"<arne_bab@web.de>  writes:
>> 
>>> hg import --bypass <patch> && hg update --merge --tool internal:merge-local
>> cleaner with tip (in case there are multiple heads):
>> 
>> hg import --bypass <patch> && hg update --merge --tool internal:merge-local tip

> Thanks!.

> For best compatibility with existing behavior (default and vc-git's), it 
> seems I was looking for the merge tool 'internal:local'.

> Could either of you test the attached patch?

Sure, the attached diff is against the actual master I presume?


> It should be both faster and a little safer than using the default impl.

> diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
> index 2eebe2d543..30b4e55818 100644
> --- a/lisp/vc/vc-hg.el
> +++ b/lisp/vc/vc-hg.el
> @@ -1189,16 +1189,32 @@ vc-hg-log-edit-mode
>  (defun vc-hg-checkin (files comment &optional _rev)
>    "Hg-specific version of `vc-backend-checkin'.
>  REV is ignored."
> -  (let ((amend-extract-fn
> -         (lambda (value)
> -           (when (equal value "yes")
> -             (list "--amend")))))
> -    (apply #'vc-hg-command nil 0 files
> -           (nconc (list "commit" "-m")
> -                  (log-edit-extract-headers `(("Author" . "--user")
> -                                              ("Date" . "--date")
> -                                              ("Amend" . ,amend-extract-fn))
> -                                            comment)))))
> +  (apply #'vc-hg-command nil 0 files
> +         (nconc (list "commit"
> +                      "-m")
> +                (vc-hg--extract-headers comment))))
> +
> +(defun vc-hg-checkin-patch (patch-string comment)
> +  (let ((patch-file (make-temp-file "hg-patch")))
> +    (write-region patch-string nil patch-file)
> +    (unwind-protect
> +        (progn
> +          (apply #'vc-hg-command nil 0 nil
> +                 (nconc (list "import" "--bypass" patch-file "-m")
> +                        (vc-hg--extract-headers comment)))
> +          (vc-hg-command nil 0 nil
> +                         "update"
> +                         "--merge" "--tool" "internal:local"
> +                         "tip"))
> +      (delete-file patch-file))))
> +
> +(defun vc-hg--extract-headers (comment)
> +  (log-edit-extract-headers `(("Author" . "--user")
> +                              ("Date" . "--date")
> +                              ("Amend" . (lambda (value)
> +                                           (when (equal value "yes")
> +                                             (list "--amend")))))
> +                            comment))
 
>  (defun vc-hg-find-revision (file rev buffer)
>    (let ((coding-system-for-read 'binary)


-- 
Warning: Content may be disturbing to some audiences
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 
https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5673 bytes --]

  reply	other threads:[~2022-10-24 15:34 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-11  8:06 log-edit-insert-changelog even when run git/hg from the Uwe Brauer
2022-09-30  0:58 ` Dmitry Gutov
2022-09-30  6:10   ` Uwe Brauer
2022-09-30 10:14     ` Dmitry Gutov
2022-09-30 15:48       ` Uwe Brauer
2022-10-01  0:10         ` Dmitry Gutov
2022-10-01  5:58           ` Uwe Brauer
2022-10-01 11:03             ` Dmitry Gutov
2022-10-01 12:51               ` Uwe Brauer
2022-10-01 18:13                 ` Dmitry Gutov
2022-10-02  6:22                   ` Uwe Brauer
2022-10-06 22:28                     ` Dmitry Gutov
2022-10-07  6:24                       ` Uwe Brauer
2022-10-10  2:10                         ` Dmitry Gutov
2022-10-10  6:39                           ` Uwe Brauer
2022-10-10  9:53                             ` Dmitry Gutov
2022-10-10 12:41                               ` [Serious BUG in master 93136169cba] (was: log-edit-insert-changelog even when run git/hg from the) Uwe Brauer
2022-10-10 13:22                                 ` [Serious BUG in master 93136169cba] Uwe Brauer
2022-10-10 13:23                                 ` [Confirmed] (was: [Serious BUG in master 93136169cba]) Uwe Brauer
2022-10-10 14:53                               ` [patch: first impression] (was: log-edit-insert-changelog even when run git/hg from the) Uwe Brauer
2022-10-10 15:31                                 ` Dmitry Gutov
2022-10-10 15:41                                   ` [patch: first impression] Uwe Brauer
2022-10-11  2:05                                     ` Dmitry Gutov
2022-10-11  6:25                                       ` Uwe Brauer
2022-10-11 12:17                                         ` Dmitry Gutov
2022-10-11 12:24                                           ` Uwe Brauer
2022-10-11 16:50                                             ` Dmitry Gutov
2022-10-11 16:55                                               ` Uwe Brauer
2022-10-17  0:14                                                 ` Dmitry Gutov
2022-10-17  5:48                                                   ` Dr. Arne Babenhauserheide
2022-10-17 10:02                                                     ` Dmitry Gutov
2022-10-17  7:11                                                   ` Uwe Brauer
2022-10-17 10:04                                                     ` Dmitry Gutov
2022-10-17 16:53                                                       ` Uwe Brauer
2022-10-17 20:44                                                   ` Uwe Brauer
2022-10-17 23:36                                                     ` Dmitry Gutov
2022-10-18  6:33                                                       ` Uwe Brauer
2022-10-18 12:23                                                         ` Uwe Brauer
2022-10-18 12:45                                                           ` Dmitry Gutov
2022-10-18 12:30                                                         ` Dmitry Gutov
2022-10-18 13:28                                                           ` Uwe Brauer
2022-10-18 14:47                                                             ` Dmitry Gutov
2022-10-18 15:38                                                               ` Uwe Brauer
2022-10-18 15:50                                                                 ` Dmitry Gutov
2022-10-18 16:47                                                                   ` Uwe Brauer
2022-10-18 17:30                                                                     ` Dmitry Gutov
2022-10-18 19:17                                                                       ` Dr. Arne Babenhauserheide
2022-10-18 19:29                                                                         ` Dr. Arne Babenhauserheide
2022-10-24  0:52                                                                           ` Dmitry Gutov
2022-10-24 15:34                                                                             ` Uwe Brauer [this message]
2022-10-24 16:33                                                                               ` Dmitry Gutov
2022-10-24 17:53                                                                             ` Uwe Brauer
2022-10-25 21:11                                                                               ` Dmitry Gutov
2022-10-19  5:40                                                                         ` Uwe Brauer
2022-10-24  1:03                                                                           ` Dmitry Gutov
2022-10-24 15:32                                                                             ` Uwe Brauer
2022-10-24 17:28                                                                               ` Dmitry Gutov
2022-10-25  8:19                                                                                 ` Robert Pluim
2022-10-25  9:14                                                                                   ` Uwe Brauer
2022-10-25  9:55                                                                                     ` Robert Pluim
2022-10-25 11:15                                                                                     ` Eli Zaretskii
2022-10-25 12:13                                                                                       ` Uwe Brauer

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=87h6zt2q29.fsf@mat.ucm.es \
    --to=oub@mat.ucm.es \
    --cc=arne_bab@web.de \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=georges.racinet@octobus.net \
    /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).