[Rcpp-devel] On mailing list defaults, and suggested patch submission

Romain Francois romain at r-enthusiasts.com
Fri Aug 20 08:27:50 CEST 2010


Le 19/08/10 17:24, Dominick Samperi a écrit :
> On Thu, Aug 19, 2010 at 10:12 AM, Dominick Samperi <djsamperi at gmail.com
> <mailto:djsamperi at gmail.com>> wrote:
>
>         Just like any other open source project, we prefer _patches_
>         (and see [1] if
>         you are unclear as to what these are -- they are not _modified
>         copies_)
>         rather than copies. If you want us to consider your work, the
>         onus is on you
>         to demonstrate a) what goal the change is meant to achieve and
>         b) to clearly
>         delineate what changes are to be made.  Patches do the latter,
>         whereas copies
>         don't. Additional info on the motivation for the patch (clearer
>         code, better
>         performance, more foo, ...) also helps.
>
>
> To place things in context, here is my rejected contribution without the
> source attachments.

I have not seen any of these files. But note that, as Dirk said before, 
please send patches rather than full copy of modified files.

 From some directory of your modified Rcpp tree, just do :

$ svn diff > mypatch.diff

and send that file, that should be ok.

If you want to add files with this mechanism, you can. Just do

$ svn add whatever/file
$ svn diff > mypatch.diff

The only thing you cannot do is svn commit.

> Before making these (trivial) changes I downloaded the latest SVN copies
> of all files, and
> as I said, the only difference is a few ifdef's (_MSC_VER).
>
> So how does one determine what SVN revisions went into a particular CRAN
> release?

One does not. We have not seen the need for that.
If you want the code that was in on particular version, get it from CRAN.

If you want to contribute a patch, do it against the current svn 
revision. If you want to patch a previously released version, you're on 
your own.

> Is
> it possible to use svn to checkout the files that were used for a
> particular release?

We don't do branching and tagging if this is what you mean. One 
empirical thing you can do is track changes of the DESCRIPTION file, 
which is usually the last file that is modified before a release.

$ svn log DESCRIPTION
------------------------------------------------------------------------
r1869 | edd | 2010-07-25 18:37:44 +0200 (Dim, 25 jul 2010) | 2 lines

release 0.8.5

------------------------------------------------------------------------
....
------------------------------------------------------------------------
r1851 | edd | 2010-07-09 16:57:03 +0200 (Ven, 09 jul 2010) | 2 lines

Release 0.8.4

------------------------------------------------------------------------


What do you want to do with the svn revision number of a particular 
version ?






> Rejected contribution:

If as you say, this does not impact how people usually use Rcpp, then 
perhaps this is ok. I don't know, I have not seen your patches, I don't 
know if this adds a lot of #ifdef/#endif paths to follow, etc ... and I 
certainly have no way or intention to test if this actually works as you 
advertise.

I'm just curious though about the use case, what does this give you ? 
For this to be useful, you would need to compile R with MSVC right ? do 
you ? What do I miss ?

Anyway, send a __patch__ and I'll look at it.

> I'm attahcing patches for MS Visual C++ Express (only
> tested 2008 version). Everything is ifdef-ed _MSC_VER
> so this should have no impact on the CRAN
> builds (including winbuilder).
>
> The ifdef in XPtr.h is required because MSVC and
> g++ apparently disagree on the interpretation of this
> code (fixing one causes and error in the other).
>
> Files modified:
>    src/RcppCommon.cpp
>    src/Date.cpp
>    inst/include/RcppCommon.h
>    inst/include/Rcpp/XPtr.h
>
> New files: (needed due to missing stuff under MSVC)
>    src/msvcmath.cpp
>    inst/include/msvc/math.h
>    inst/include/msvc/stdint.h (this is provided with MSVC 2010)
>    inst/include/msvc/unistd.h
>
> Need to use MSVC compiler flags:
> HAVE_LOGP1
> HAVE_EXPM1
> HAVE_WORKING_EXPM1
>
> The new/modifed files are attached.
>
> It would be great if this zero-impact code could be added in
> the next release so I don't have to maintain separate versions.
>
> BTW, I don't see any branches or tags in the rcpp svn
> repository. How does one identify the SVN version that
> corresponds with the CRAN versions?
>
> Thanks,
> Dominick


-- 
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://bit.ly/bzoWrs : Rcpp svn revision 2000
|- http://bit.ly/b8VNE2 : Rcpp at LondonR, oct 5th
`- http://bit.ly/aAyra4 : highlight 0.2-2



More information about the Rcpp-devel mailing list