unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Juanma Barranquero <lekktu@gmail.com>
To: Eric Raymond <esr@thyrsus.com>
Cc: Bastien <bzg@gnu.org>, Emacs developers <emacs-devel@gnu.org>
Subject: Re: trunk r115926: In preparation for the move to git, sanitize out some Bazaar-specific names.
Date: Thu, 9 Jan 2014 10:36:45 +0100	[thread overview]
Message-ID: <CAAeL0SSR92C+dn1mW8N9K-BeqPEW62CQ6rRiSzW339LApNvd8g@mail.gmail.com> (raw)
In-Reply-To: <20140109052705.GA3424@thyrsus.com>

On Thu, Jan 9, 2014 at 6:27 AM, Eric S. Raymond <esr@thyrsus.com> wrote:

> When we change
> over to git, there won't be a local revision number because there is
> no such entity in the git universe.  This can't be fixed by anything
> in the way our LISP is named or factored.

True.

> You're making a good case for removing the obsolete alias.

No. I'm making a case for keeping both variables (and functions)
different. You've rushed a bit with the change, and currently, if you
remove the alias, you'll break my code**. The logical things would be
to keep emacs-bzr(-get)-version as they were, because we *are* still
using Bazaar, and when we switch, or just a bit before, you introduce
your new API (with "repository" or "git" names, to your liking) and
make the old ones obsolete, but *not* obsolete aliases.

**[It's broken right now, in fact; I also use emacs-bzr-get-version
from my .emacs]

> It might, if we were going to use two VCSes in parallel. That's not
> the case.  Where the rubber meets the road is: What should emacs-bug call to
> get a build version to report? There can be only one...

Yes. Currently, it's Bazaar that we are using. After the switch, it
should call your function. Having the two (but one pair as obsolete
non-aliases) does not depend of using two VCSes in parallel, depends
that the fact that you're changing an already published API. So you
have to make it obsolete, and it cannot be an alias of the new one
because both aren't compatible.

> The implementation, no. But the behavior "return a unique magic cookie
> that identifies the build" is DVCS-independent.  You're feeling pain
> because you want the magic cookie to have substructure, and *that*
> can't be guaranteed across VCSes.

Eric, the behavior of the old emacs-bzr(-get)-version was not to
"return a unique magic cookie that identifies the build". I am not
using the revno because I wanted to do weird things with the cookie.
It was *documented* as having structure and I used that fact; it's
your commits which have changed it, so you're effectively changing
that interface. Which it's perhaps the right thing to do (or not,
depending of what the cookie has I will still extract information from
it, so documenting it would be nice), but you shouldn't rewrite the
past.

So, to summarize, I think the right thing to do is:

1.- Restore emacs-bzr(-get)-version, with docstring and all.
2.- (Keep, if you want, your new and currently useless
emacs-revision(-get)-version API)
3.- Just after the switch, make obsolete the old pair with

(make-obsolete 'emacs-bzr-get-version 'emacs-repository-get-version "24.4")
(make-obsolete-variable 'emacs-bzr-version 'emacs-repository-version "24.4")

    J



  reply	other threads:[~2014-01-09  9:36 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1W124t-0007MM-P3@vcs.savannah.gnu.org>
2014-01-08 23:18 ` trunk r115926: In preparation for the move to git, sanitize out some Bazaar-specific names Glenn Morris
2014-01-08 23:34   ` Eric S. Raymond
2014-01-08 23:57     ` Juanma Barranquero
2014-01-09  0:04       ` Eric S. Raymond
2014-01-09  0:06         ` Daniel Colascione
2014-01-09  0:12           ` Eric S. Raymond
2014-01-09  0:13             ` Daniel Colascione
2014-01-09  0:09         ` Bastien
2014-01-09  0:27           ` Eric S. Raymond
2014-01-09  0:43             ` Juanma Barranquero
2014-01-09  1:25               ` Eric S. Raymond
2014-01-09  1:31                 ` Juanma Barranquero
2014-01-09  2:13                   ` Juanma Barranquero
2014-01-09  5:27                     ` Eric S. Raymond
2014-01-09  9:36                       ` Juanma Barranquero [this message]
2014-01-09 12:37                         ` Eric S. Raymond
2014-01-09 12:48                           ` Juanma Barranquero
2014-01-09 13:13                             ` Eric S. Raymond
2014-01-09 13:27                               ` Juanma Barranquero
2014-01-09 13:47                                 ` Eric S. Raymond
2014-01-09 14:05                                   ` Juanma Barranquero
2014-01-09 14:29                                     ` Eric S. Raymond
2014-01-09 14:45                                       ` Juanma Barranquero
2014-01-09 15:08                                         ` Eric S. Raymond
2014-01-09 15:21                                           ` Juanma Barranquero
2014-01-09 20:43                                             ` chad
2014-01-09 12:00                       ` Rüdiger Sonderfeld
2014-01-09 12:12                         ` Juanma Barranquero
2014-01-09 12:20                           ` Rüdiger Sonderfeld
2014-01-09 12:24                             ` Juanma Barranquero
2014-01-09  0:10         ` Juanma Barranquero
2014-01-09  3:48           ` Stephen J. Turnbull
2014-01-09  0:34     ` Glenn Morris
2014-01-09  6:36       ` Eli Zaretskii

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=CAAeL0SSR92C+dn1mW8N9K-BeqPEW62CQ6rRiSzW339LApNvd8g@mail.gmail.com \
    --to=lekktu@gmail.com \
    --cc=bzg@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=esr@thyrsus.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).