ESS 12.04 --- VERSION / ess-custom.el <-> ess-revision still brittle

Martin Maechler maechler at stat.math.ethz.ch
Sat Apr 7 15:05:34 CEST 2012


On Fri, Apr 6, 2012 at 14:13, Vitalie Spinu <spinuvit at gmail.com> wrote:
>>>>> Martin Maechler <maechler at stat.math.ethz.ch>
>>>>> on Fri, 6 Apr 2012 02:20:59 +0200 wrote:
>
>  > HOWEVER, if you remove the *.elc and then build from the
>  > tarball, then 'svn up' is tried to be used for building VERSION
>  > and  lisp/ess-custom.el
>  > and it does destroy the correct ess-revision and replace it by a
>  > pseudo one ("12.04-rexported") for me.
>
> I've realized only now what the change was about. Make is now messing
> with ess-custom.el. This could not be right. I cannot use git properly
> anymore, as gitsvn would not allow me to fetch new revisions unless I
> have all my changes stashed or committed. So each time, after make, and
> before fetching I have to do "git reset HEAD --hard" to undo the make
> change.
>
> For SVN users: assume X committed his ess-custom.el, and Y (having his
> own change in ess-custom.el) is updating. Then Y will get an unmerged
> conflict, right?

yes, possibly.
I agree that *committing*  ess-custom.el  after practically every change to ESS
is clearly "wrong".
Rather, the "ess-revision" should not be stored in *.el
but in a toplevel (as opposed to ./lisp/ ) file, say  SVN-REVISION  --
analogous to the current VERSION -- which is *NOT* part of svn, but is
auto-regenerated by make
and is part of the "downloads" make target and hence part of every
*tar / *zip distribution.
We can really learn from R  here.
Consequently, on startup, ESS reads that file and populates the ess-revision ...
(and do that in a fail-safe way so that ess-revision may be "unknown"
when SVN-REVISION does not exist or is so wrong it cannot be safely
read).
So people refusing to run make will not get real problems (but remain
to keep a suboptimal output from M-x ess-version).

I should get time implementing this after the Easter holiday.

As Rodney says, we now have a bit of time for "tinkering".
Martin



More information about the ESS-Debian mailing list