unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Philip Kaludercic <philipk@posteo.net>
Cc: rpluim@gmail.com, 57400@debbugs.gnu.org, ane@iki.fi, juri@linkov.net
Subject: bug#57400: 29.0.50; Support sending patches from VC directly
Date: Sat, 15 Oct 2022 09:57:40 +0300	[thread overview]
Message-ID: <83o7ud7evv.fsf@gnu.org> (raw)
In-Reply-To: <87czau6ps0.fsf@posteo.net> (message from Philip Kaludercic on Fri, 14 Oct 2022 21:47:43 +0000)

> From: Philip Kaludercic <philipk@posteo.net>
> Cc: juri@linkov.net,  rpluim@gmail.com,  57400@debbugs.gnu.org,  ane@iki.fi
> Date: Fri, 14 Oct 2022 21:47:43 +0000
> 
> >   Translate Git revision descriptor of COMMIT, a string, to a symbolic form.
> 
> Is this perhaps not too long?  Would "Translate revision string COMMIT
> to a symbolic form." be sufficient, especially as this is actually just
> an internal function that wasn't marked as such (the Git history
> indicates that this function, with this documentation string has been
> around since the initial revision of the file in 2007)?

I disregarded the fact that this is an internal function, because the
issues are general.  But yes, we could make this shorter, once we
agree that the full text should be something like I suggested.  For
example:

  Translate revision string of COMMIT to a symbolic form.

Note that I said "string of COMMIT", because COMMIT is not a string,
it is an entity which the string describes.

> >>                     If the optional argument FORCE is non-nil,
> >> this might include revision specifications like \"master~8\" (the
> >> 8th parent of the commit that \"master\" is currently pointing
> >> to).
> >
> > This begs the question: what kind of COMMIT strings are acceptable if
> > FORCE is nil or omitted?  If we only accept SHA-1 hashes then, this
> > should perhaps be mentioned in the first sentence.  But from reading
> > the (unhelpful) man page of "git name-rev" (which leads down the
> > rabbit hole to "git rev-parse"), it is my understanding that this will
> > accept _any_ revision descriptor in any form.  
> 
> Yes, right.  And in absence of any restriction "COMMIT" should be
> understood to be a SHA-1 reference or a symbolic reference, right?

Hmm... now I'm confused.  I'd think COMMIT could be _any_ reference to
a revision, not just SHA-1?  Because "git name-rev" accepts them all,
no?

> >                                                So now I wonder why
> > accepting something like "master~8" needs a special knob: it's just
> > one of the forms supported by "git name-rev", isn't it?  So maybe you
> > don't even need the additional argument and don't have to document it?
> 
> That is an open debate, the function is currently only used in vc-git.el
> and is never invoked with the optional argument.  I've only added it
> because it might be that it could be useful at some point in the future.
> 
> > But if there _are_ valid reasons not to accept the likes of
> > "master~8", they should be in the doc string.  For example:
> >
> >   By default, COMMIT strings of the form "master~8" are rejected,
> >   because <describe the reason here>, but if FORCE is non-nil, they
> >   are allowed.
> 
> I guess it is difficult to come up with a "valid reason", the motivation
> is that I wanted to have some way to ensure that
> `vc-git-working-revision' only returns a symbolic form iff a branch or
> tag is pointing to the working revision.  If you think it is preferable,
> I could also invert the argument and make it into something like
> "no-relative" or even pull the check into `vc-git-working-revision'.

I'm asking why not accept everything that "git name-rev" accepts, and
remove the need for the additional FORCE argument.  (But this is not a
documentation issue anymore ;-)





  reply	other threads:[~2022-10-15  6:57 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-25  8:47 bug#57400: 29.0.50; Support sending patches from VC directly Antoine Kalmbach
2022-08-26  7:37 ` Philip Kaludercic
2022-08-26 10:15   ` Antoine Kalmbach
2022-08-26 10:35     ` Philip Kaludercic
2022-08-26 10:45       ` Antoine Kalmbach
2022-08-26 10:58         ` Eli Zaretskii
2022-08-26 11:26           ` Philip Kaludercic
2022-08-26 11:44             ` Eli Zaretskii
2022-08-26 12:05               ` Philip Kaludercic
2022-08-26 12:26                 ` Eli Zaretskii
2022-08-26 13:10                   ` Antoine Kalmbach
2022-08-26 13:17                     ` Eli Zaretskii
2022-08-26 13:29                   ` Philip Kaludercic
2022-08-26 14:21                     ` Eli Zaretskii
2022-08-27  8:21                       ` Philip Kaludercic
2022-08-27  9:21                         ` Eli Zaretskii
2022-08-27  9:30                           ` Philip Kaludercic
2022-08-26 12:08               ` Antoine Kalmbach
2022-08-26 12:28                 ` Eli Zaretskii
2022-08-28  4:07         ` Richard Stallman
2022-10-03 18:59         ` Philip Kaludercic
2022-10-03 19:06           ` Lars Ingebrigtsen
2022-10-03 19:23             ` Eli Zaretskii
2022-10-04 19:19               ` Philip Kaludercic
2022-10-04 19:33                 ` Eli Zaretskii
2022-10-03 21:22             ` Philip Kaludercic
2022-10-03 21:55               ` Philip Kaludercic
2022-10-03 23:32                 ` Lars Ingebrigtsen
2022-10-04  6:46                   ` Eli Zaretskii
2022-10-04  6:41                 ` Eli Zaretskii
2022-10-04  7:10                   ` Philip Kaludercic
2022-10-04  8:00                     ` Eli Zaretskii
2022-10-04 10:40                       ` Philip Kaludercic
2022-10-04 10:42                         ` Philip Kaludercic
2022-10-04 12:25                           ` Eli Zaretskii
2022-10-04 12:24                         ` Eli Zaretskii
2022-10-04 18:08                           ` Philip Kaludercic
2022-10-05 16:07           ` Antoine Kalmbach
2022-10-05 17:34             ` Philip Kaludercic
2022-10-05 17:48               ` Philip Kaludercic
2022-10-05 18:32                 ` Lars Ingebrigtsen
2022-10-05 18:46                   ` Philip Kaludercic
2022-10-05 19:08                     ` Lars Ingebrigtsen
2022-10-06  8:21                       ` Robert Pluim
2022-10-06  8:35                         ` Philip Kaludercic
2022-10-06  8:59                           ` Robert Pluim
2022-10-06  9:12                             ` Philip Kaludercic
2022-10-06 11:02                     ` Philip Kaludercic
2022-10-05 19:57                   ` Juri Linkov
2022-10-06 12:03                     ` Lars Ingebrigtsen
2022-10-07 22:48                     ` Richard Stallman
2022-10-10 14:39                     ` Filipp Gunbin
2022-10-10 18:58                       ` Juri Linkov
2022-10-11  0:27                         ` Lars Ingebrigtsen
2022-10-11  0:26                       ` Lars Ingebrigtsen
2022-10-05 18:17               ` Eli Zaretskii
2022-10-05 18:45                 ` Philip Kaludercic
2022-10-06  9:14                   ` Philip Kaludercic
2022-10-06  9:19                     ` Eli Zaretskii
2022-10-06 22:22                       ` Dmitry Gutov
2022-10-07  6:36                         ` Eli Zaretskii
2022-10-07 12:06                           ` Dmitry Gutov
2022-10-06 11:33               ` Robert Pluim
2022-10-06 12:38                 ` Philip Kaludercic
2022-10-06 12:58                   ` Robert Pluim
2022-10-06 14:37                     ` Philip Kaludercic
2022-10-06 14:43                       ` Robert Pluim
2022-10-06 15:54                       ` Eli Zaretskii
2022-10-06 16:27                         ` Philip Kaludercic
2022-10-07  7:58                     ` Juri Linkov
2022-10-07 11:42                       ` Philip Kaludercic
2022-10-08 10:03                         ` Philip Kaludercic
2022-10-08 19:34                         ` Juri Linkov
2022-10-09 12:15                           ` Philip Kaludercic
2022-10-10 19:03                             ` Juri Linkov
2022-10-11 12:44                               ` Philip Kaludercic
2022-10-11 13:58                                 ` Robert Pluim
2022-10-15 18:54                                 ` Juri Linkov
2022-10-16  9:40                                   ` Philip Kaludercic
2022-10-11 19:30                               ` Philip Kaludercic
2022-10-11 19:47                                 ` Juri Linkov
2022-10-11 19:49                                   ` Philip Kaludercic
2022-10-12 22:01                                   ` Richard Stallman
2022-10-13  7:04                                     ` Juri Linkov
2022-10-13 21:12                                       ` Richard Stallman
2022-10-15 19:02                                         ` Juri Linkov
2022-10-13  8:55                                   ` Philip Kaludercic
2022-10-13 17:30                                     ` Juri Linkov
2022-10-13 19:44                                       ` Philip Kaludercic
2022-10-13 20:25                                         ` Philip Kaludercic
2022-10-13 20:33                                           ` Eli Zaretskii
2022-10-13 22:05                                             ` Philip Kaludercic
2022-10-14  6:50                                               ` Eli Zaretskii
2022-10-14 21:28                                                 ` Richard Stallman
2022-10-14 21:47                                                 ` Philip Kaludercic
2022-10-15  6:57                                                   ` Eli Zaretskii [this message]
2022-10-15 11:44                                                     ` Philip Kaludercic
2022-10-15 12:20                                                       ` Eli Zaretskii
2022-10-15 15:15                                                         ` Philip Kaludercic
2022-10-15 15:16                                                           ` Eli Zaretskii
2022-10-15 15:24                                                             ` Philip Kaludercic
2022-10-10 22:01                           ` Richard Stallman
2022-10-11  5:37                             ` Eli Zaretskii
2022-10-12 21:59                               ` Richard Stallman
2022-10-06 22:10                   ` Dmitry Gutov
2022-10-07  8:03                     ` Philip Kaludercic
2022-10-07 12:56                       ` Dmitry Gutov
2022-10-07 15:30                         ` Philip Kaludercic
2022-10-07 15:47                           ` Dmitry Gutov
2022-10-07 15:54                             ` Philip Kaludercic
2022-10-08 22:34                             ` Richard Stallman
2022-10-08 12:11                         ` Philip Kaludercic
2022-10-08 12:44                           ` German Pacenza
2022-10-08 13:02                             ` Philip Kaludercic
2022-10-08 13:07                           ` Dmitry Gutov
2022-10-08 13:42                             ` Philip Kaludercic
2022-10-08 14:02                               ` Dmitry Gutov

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=83o7ud7evv.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=57400@debbugs.gnu.org \
    --cc=ane@iki.fi \
    --cc=juri@linkov.net \
    --cc=philipk@posteo.net \
    --cc=rpluim@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).