[PATCH] Makefile: add support for git svn clones

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] Makefile: add support for git svn clones

Felipe Balbi
git has an interface for cloning SVN repositories into git which
some users might decide to use. For those users' surprise, the
repository will always fail to build on svnonly target and it will
exit early.

The problem is simple enough to fix by just checking if a .git
directory exists in top_builddir and, if so, call git svn info insstead
of svn info.

Signed-off-by: Felipe Balbi <[hidden email]>
---

Resending the patch as I believe the previous version didn't
reach the mailing list.

 Makefile.in | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Makefile.in b/Makefile.in
index 44b0a3b4b99f..221c437972ad 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -9,6 +9,9 @@ top_builddir = .
 
 include $(top_builddir)/Makeconf
 
+GIT := $(shell if [ -d "$(top_builddir)/.git" ]; then \
+ echo "git"; fi)
+
 distdir = $(PACKAGE)-$(VERSION)
 INSTFILES = COPYING
 NON_SVN_INSTFILES = SVN-REVISION
@@ -104,7 +107,7 @@ svnonly:
  @if test ! -f "$(srcdir)/doc/FAQ" || test -f non-tarball ; then \
   (cd doc/manual && $(MAKE) front-matter html-non-svn) ; \
   touch non-tarball ; \
-  (cd $(srcdir); LC_ALL=C TZ=GMT svn info || $(ECHO) "Revision: -99") 2> /dev/null \
+  (cd $(srcdir); LC_ALL=C TZ=GMT $(GIT) svn info || $(ECHO) "Revision: -99") 2> /dev/null \
     | sed -n -e '/^Revision/p' -e '/^Last Changed Date/'p \
     | cut -d' ' -f1,2,3,4 > SVN-REVISION-tmp ; \
   if test "`cat SVN-REVISION-tmp`" = "Revision: -99"; then \
--
2.2.0

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Duncan Murdoch-2
On 19/01/2015 2:33 PM, Felipe Balbi wrote:
> git has an interface for cloning SVN repositories into git which
> some users might decide to use. For those users' surprise, the
> repository will always fail to build on svnonly target and it will
> exit early.
>
> The problem is simple enough to fix by just checking if a .git
> directory exists in top_builddir and, if so, call git svn info insstead
> of svn info.
>

I think we are unlikely to accept this change.  Nobody in R Core uses
git this way, so it would never be tested, and would likely soon fail.
Indeed, it already fails if someone were to try it on Windows, since you
didn't patch the makefiles for that platform.

The R sources are kept in an SVN repository, and as long as that's true,
we're only likely to support direct SVN access.

Duncan Murdoch




> Signed-off-by: Felipe Balbi <[hidden email]>
> ---
>
> Resending the patch as I believe the previous version didn't
> reach the mailing list.
>
>  Makefile.in | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile.in b/Makefile.in
> index 44b0a3b4b99f..221c437972ad 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -9,6 +9,9 @@ top_builddir = .
>  
>  include $(top_builddir)/Makeconf
>  
> +GIT := $(shell if [ -d "$(top_builddir)/.git" ]; then \
> + echo "git"; fi)
> +
>  distdir = $(PACKAGE)-$(VERSION)
>  INSTFILES = COPYING
>  NON_SVN_INSTFILES = SVN-REVISION
> @@ -104,7 +107,7 @@ svnonly:
>   @if test ! -f "$(srcdir)/doc/FAQ" || test -f non-tarball ; then \
>    (cd doc/manual && $(MAKE) front-matter html-non-svn) ; \
>    touch non-tarball ; \
> -  (cd $(srcdir); LC_ALL=C TZ=GMT svn info || $(ECHO) "Revision: -99") 2> /dev/null \
> +  (cd $(srcdir); LC_ALL=C TZ=GMT $(GIT) svn info || $(ECHO) "Revision: -99") 2> /dev/null \
>      | sed -n -e '/^Revision/p' -e '/^Last Changed Date/'p \
>      | cut -d' ' -f1,2,3,4 > SVN-REVISION-tmp ; \
>    if test "`cat SVN-REVISION-tmp`" = "Revision: -99"; then \
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Felipe Balbi
Hi,

On Mon, Jan 19, 2015 at 03:06:11PM -0500, Duncan Murdoch wrote:

> On 19/01/2015 2:33 PM, Felipe Balbi wrote:
> > git has an interface for cloning SVN repositories into git which
> > some users might decide to use. For those users' surprise, the
> > repository will always fail to build on svnonly target and it will
> > exit early.
> >
> > The problem is simple enough to fix by just checking if a .git
> > directory exists in top_builddir and, if so, call git svn info insstead
> > of svn info.
> >
>
> I think we are unlikely to accept this change.  Nobody in R Core uses
> git this way, so it would never be tested, and would likely soon fail.
it will be tested by anybody using git svn clone, right ?

> Indeed, it already fails if someone were to try it on Windows, since you
> didn't patch the makefiles for that platform.

yeah, sorry about that, I wasn't aware there were windows-specific
Makefiles with duplicated logic in the repository.

> The R sources are kept in an SVN repository, and as long as that's true,
> we're only likely to support direct SVN access.

Fair enough. But don't you think it's a bit odd to couple the repository
compilation with the availability of a specific SCM tool ?

I mean, R just won't build unless you have svn info available, I think
that's pretty odd. Printing a warning would be another possibility, but
exitting build is almost an overreaction.

But fair enough, no need to spend days discussing $subject if the
community doesn't want to support git svn clone ;-)

cheers

--
balbi

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Duncan Murdoch-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 19/01/2015 3:20 PM, Felipe Balbi wrote:

> Hi,
>
> On Mon, Jan 19, 2015 at 03:06:11PM -0500, Duncan Murdoch wrote:
>> On 19/01/2015 2:33 PM, Felipe Balbi wrote:
>>> git has an interface for cloning SVN repositories into git
>>> which some users might decide to use. For those users'
>>> surprise, the repository will always fail to build on svnonly
>>> target and it will exit early.
>>>
>>> The problem is simple enough to fix by just checking if a .git
>>>  directory exists in top_builddir and, if so, call git svn
>>> info insstead of svn info.
>>>
>>
>> I think we are unlikely to accept this change.  Nobody in R Core
>> uses git this way, so it would never be tested, and would likely
>> soon fail.
>
> it will be tested by anybody using git svn clone, right ?
>
>> Indeed, it already fails if someone were to try it on Windows,
>> since you didn't patch the makefiles for that platform.
>
> yeah, sorry about that, I wasn't aware there were windows-specific
>  Makefiles with duplicated logic in the repository.
>
>> The R sources are kept in an SVN repository, and as long as
>> that's true, we're only likely to support direct SVN access.
>
> Fair enough. But don't you think it's a bit odd to couple the
> repository compilation with the availability of a specific SCM
> tool ?
>
> I mean, R just won't build unless you have svn info available, I
> think that's pretty odd. Printing a warning would be another
> possibility, but exitting build is almost an overreaction.

That's just false.  Build from a tarball, and you can store it anyway
you like.

Duncan Murdoch

>
> But fair enough, no need to spend days discussing $subject if the
> community doesn't want to support git svn clone ;-)
>
> cheers
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJUvWmkAAoJEHE2Kz23YMZyRJYIALwb51h1lpauxg3UN5gTzZg6
LIDyvK0s40wfVrXFLTPq43Zvisuzkp55+o2/3GMUDNjXqgESkODtk/uRBaMdON+b
875mzqNVYHGs3a2oGMlDpZJ3qfVmb4vdNPs7G6T5xuz+Xx29RjchKCWUFZ6L96y9
r69yYTh/18dlGk1KogwLdEfT2x+4qC4cukJ4YBuphY0gdm+zO6U/fsfsN1NG6bi5
Ogt89RslpMdKZ4sIG55XiW2S9qK2BJgXhlb2Lf/+sbkoXFOXsX3LVC3fLWr3gQtY
Ll+h2NW9fC2fHxXsECHY47sVtVV6kY5MQM3xWkJ9BIYN7Bw1glAdJS3NHNpqJzI=
=pxOh
-----END PGP SIGNATURE-----

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Felipe Balbi
Hi,

On Mon, Jan 19, 2015 at 03:31:32PM -0500, Duncan Murdoch wrote:

> >>> git has an interface for cloning SVN repositories into git
> >>> which some users might decide to use. For those users'
> >>> surprise, the repository will always fail to build on svnonly
> >>> target and it will exit early.
> >>>
> >>> The problem is simple enough to fix by just checking if a .git
> >>>  directory exists in top_builddir and, if so, call git svn
> >>> info insstead of svn info.
> >>>
> >>
> >> I think we are unlikely to accept this change.  Nobody in R Core
> >> uses git this way, so it would never be tested, and would likely
> >> soon fail.
> >
> > it will be tested by anybody using git svn clone, right ?
> >
> >> Indeed, it already fails if someone were to try it on Windows,
> >> since you didn't patch the makefiles for that platform.
> >
> > yeah, sorry about that, I wasn't aware there were windows-specific
> >  Makefiles with duplicated logic in the repository.
> >
> >> The R sources are kept in an SVN repository, and as long as
> >> that's true, we're only likely to support direct SVN access.
> >
> > Fair enough. But don't you think it's a bit odd to couple the
> > repository compilation with the availability of a specific SCM
> > tool ?
> >
> > I mean, R just won't build unless you have svn info available, I
> > think that's pretty odd. Printing a warning would be another
> > possibility, but exitting build is almost an overreaction.
>
> That's just false.  Build from a tarball, and you can store it anyway
> you like.
I'm talking about the SVN repository. Building from a tarball prevents
me from tracking R's revisions, don't you think ? But as I said, if the
community doesn't want to support a git svn clone, that's all fine and
dandy.

--
balbi

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Kevin Ushey
On Mon, Jan 19, 2015 at 12:34 PM, Felipe Balbi <[hidden email]> wrote:

> Hi,
>
> On Mon, Jan 19, 2015 at 03:31:32PM -0500, Duncan Murdoch wrote:
>> >>> git has an interface for cloning SVN repositories into git
>> >>> which some users might decide to use. For those users'
>> >>> surprise, the repository will always fail to build on svnonly
>> >>> target and it will exit early.
>> >>>
>> >>> The problem is simple enough to fix by just checking if a .git
>> >>>  directory exists in top_builddir and, if so, call git svn
>> >>> info insstead of svn info.
>> >>>
>> >>
>> >> I think we are unlikely to accept this change.  Nobody in R Core
>> >> uses git this way, so it would never be tested, and would likely
>> >> soon fail.
>> >
>> > it will be tested by anybody using git svn clone, right ?
>> >
>> >> Indeed, it already fails if someone were to try it on Windows,
>> >> since you didn't patch the makefiles for that platform.
>> >
>> > yeah, sorry about that, I wasn't aware there were windows-specific
>> >  Makefiles with duplicated logic in the repository.
>> >
>> >> The R sources are kept in an SVN repository, and as long as
>> >> that's true, we're only likely to support direct SVN access.
>> >
>> > Fair enough. But don't you think it's a bit odd to couple the
>> > repository compilation with the availability of a specific SCM
>> > tool ?
>> >
>> > I mean, R just won't build unless you have svn info available, I
>> > think that's pretty odd. Printing a warning would be another
>> > possibility, but exitting build is almost an overreaction.
>>
>> That's just false.  Build from a tarball, and you can store it anyway
>> you like.
>
> I'm talking about the SVN repository. Building from a tarball prevents
> me from tracking R's revisions, don't you think ? But as I said, if the
> community doesn't want to support a git svn clone, that's all fine and
> dandy.

The community does; R-Core doesn't. See
https://github.com/wch/r-source/wiki for information on workarounds,
and feel free to add your own workarounds for building R on Windows
from a git checkout (if you have such a thing -- get in touch with
Winston and he'd be happy to modify the wiki)

>
> --
> balbi
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Duncan Murdoch-2
In reply to this post by Felipe Balbi
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 19/01/2015 3:34 PM, Felipe Balbi wrote:

> Hi,
>
> On Mon, Jan 19, 2015 at 03:31:32PM -0500, Duncan Murdoch wrote:
>>>>> git has an interface for cloning SVN repositories into git
>>>>>  which some users might decide to use. For those users'
>>>>> surprise, the repository will always fail to build on
>>>>> svnonly target and it will exit early.
>>>>>
>>>>> The problem is simple enough to fix by just checking if a
>>>>> .git directory exists in top_builddir and, if so, call git
>>>>> svn info insstead of svn info.
>>>>>
>>>>
>>>> I think we are unlikely to accept this change.  Nobody in R
>>>> Core uses git this way, so it would never be tested, and
>>>> would likely soon fail.
>>>
>>> it will be tested by anybody using git svn clone, right ?
>>>
>>>> Indeed, it already fails if someone were to try it on
>>>> Windows, since you didn't patch the makefiles for that
>>>> platform.
>>>
>>> yeah, sorry about that, I wasn't aware there were
>>> windows-specific Makefiles with duplicated logic in the
>>> repository.
>>>
>>>> The R sources are kept in an SVN repository, and as long as
>>>> that's true, we're only likely to support direct SVN access.
>>>
>>> Fair enough. But don't you think it's a bit odd to couple the
>>> repository compilation with the availability of a specific SCM
>>> tool ?
>>>
>>> I mean, R just won't build unless you have svn info available,
>>> I think that's pretty odd. Printing a warning would be another
>>>  possibility, but exitting build is almost an overreaction.
>>
>> That's just false.  Build from a tarball, and you can store it
>> anyway you like.
>
> I'm talking about the SVN repository. Building from a tarball
> prevents me from tracking R's revisions, don't you think ? But as I
> said, if the community doesn't want to support a git svn clone,
> that's all fine and dandy.
>

So why not make your patch locally, and publish it for any other git
user to incorporate?  If some change to the master copy breaks it,
you'll see it, and you'll fix it.  Then everyone's happy.  One of the
purported advantages of git is the fact that it doesn't require a
central repository for everything.

Duncan Murdoch
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJUvWy9AAoJEHE2Kz23YMZyHpsH/0qDIdD2ScjvK3HNC9icGhi/
yx0elSt7CuGI1zC35UNRewMHr9VAR+CfGKV6mtwulMKpbbEm6QEED7y6fV3z3g3L
uhW6adCiUBop/Q51SbjkBp30LJ4hjkvLPwuBjJfvjYm2XqbPkf5O1RYVDWgHDWGB
/GIsbHs/VOFDc8As6KzejuiUfL1yVK+SSyU/WaQ5SINRZdVLzDALt9DDOZooH4a8
l4zKGE/z12SfTRH1yaCK6zc5nTwCBCNU++xApAj4yjjw01sryTZQfIAgkUmoQJ2i
HpULugjVVsSvQ9tvs4GoYHHHLoeo5RmZ6/Al0gQMvkm2TSliFWfGi0FaMMXhrfI=
=f0N3
-----END PGP SIGNATURE-----

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Felipe Balbi
Hi,

On Mon, Jan 19, 2015 at 03:44:45PM -0500, Duncan Murdoch wrote:

> >>>>> git has an interface for cloning SVN repositories into git
> >>>>>  which some users might decide to use. For those users'
> >>>>> surprise, the repository will always fail to build on
> >>>>> svnonly target and it will exit early.
> >>>>>
> >>>>> The problem is simple enough to fix by just checking if a
> >>>>> .git directory exists in top_builddir and, if so, call git
> >>>>> svn info insstead of svn info.
> >>>>>
> >>>>
> >>>> I think we are unlikely to accept this change.  Nobody in R
> >>>> Core uses git this way, so it would never be tested, and
> >>>> would likely soon fail.
> >>>
> >>> it will be tested by anybody using git svn clone, right ?
> >>>
> >>>> Indeed, it already fails if someone were to try it on
> >>>> Windows, since you didn't patch the makefiles for that
> >>>> platform.
> >>>
> >>> yeah, sorry about that, I wasn't aware there were
> >>> windows-specific Makefiles with duplicated logic in the
> >>> repository.
> >>>
> >>>> The R sources are kept in an SVN repository, and as long as
> >>>> that's true, we're only likely to support direct SVN access.
> >>>
> >>> Fair enough. But don't you think it's a bit odd to couple the
> >>> repository compilation with the availability of a specific SCM
> >>> tool ?
> >>>
> >>> I mean, R just won't build unless you have svn info available,
> >>> I think that's pretty odd. Printing a warning would be another
> >>>  possibility, but exitting build is almost an overreaction.
> >>
> >> That's just false.  Build from a tarball, and you can store it
> >> anyway you like.
> >
> > I'm talking about the SVN repository. Building from a tarball
> > prevents me from tracking R's revisions, don't you think ? But as I
> > said, if the community doesn't want to support a git svn clone,
> > that's all fine and dandy.
> >
>
> So why not make your patch locally, and publish it for any other git
> user to incorporate?  If some change to the master copy breaks it,
heh, that's what I'll have to do of course.

> you'll see it, and you'll fix it.  Then everyone's happy.  One of the
> purported advantages of git is the fact that it doesn't require a

it's not purported, it's a real advantage, but this is not subject of
discussion in this forum

> central repository for everything.

Right, that's all fine, it'll still be an "unofficial" change.

I just thought that such a small patch which causes no visible change to
SVN users and allow for git users to build R would be acceptable, but if
it isn't, that's fine too.

--
balbi

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Nathan Kurz
On Mon, Jan 19, 2015 at 1:00 PM, Felipe Balbi <[hidden email]> wrote:
> I just thought that such a small patch which causes no visible change to
> SVN users and allow for git users to build R would be acceptable, but if
> it isn't, that's fine too.

Felipe ---

It would appear that you are unaware that you are walking a minefield
of entrenched positions and personality conflicts.  For those like
myself who are mystified by the positions taken in this thread, a
partial back story may be helpful.

In 2012, Han-Tak Leung reported a problem compiling the development
version of R that he had checked out using git's svn compability
feature: https://stat.ethz.ch/pipermail/r-devel/2012-October/065133.html

In 2013, Brian Ripley applied a patch with the comment "trap HK Leung
misuse" explicitly to prevent users from being able to do this:
https://github.com/wch/r-source/commit/4f13e5325dfbcb9fc8f55fc6027af9ae9c7750a3

Shortly thereafter, Han-Tak tried to start discussion on this list
about that patch, suggesting that preventing the use of non-SVN
mirrors reduced the frequency with which development versions would be
tested:
https://stat.ethz.ch/pipermail/r-devel/2013-March/066128.html

The opinions expressed on the thread were universally against Leung.
Peter Dalgaard summarized as:
"The generic point is that you are given access to a working tool that
is internal to the core R developers. We are not putting restrictions
on what you do with that access, but if you want to play the game by
other rules than we do, you need to take the consequences. If things
don't work and you start complaining about them being "broken", steps
may be taken to make it clearer who broke them."
https://stat.ethz.ch/pipermail/r-devel/2013-March/066131.html

As a newcomer hoping to contribute to R who had already encountered
this same compilation issue and considered it was a bug, I am
astounded to learn that it is instead desired and intentional
behavior.

--nate

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Joshua Ulrich
On Mon, Jan 19, 2015 at 3:13 PM, Nathan Kurz <[hidden email]> wrote:

> On Mon, Jan 19, 2015 at 1:00 PM, Felipe Balbi <[hidden email]> wrote:
>> I just thought that such a small patch which causes no visible change to
>> SVN users and allow for git users to build R would be acceptable, but if
>> it isn't, that's fine too.
>
> Felipe ---
>
> It would appear that you are unaware that you are walking a minefield
> of entrenched positions and personality conflicts.  For those like
> myself who are mystified by the positions taken in this thread, a
> partial back story may be helpful.
>
> In 2012, Han-Tak Leung reported a problem compiling the development
> version of R that he had checked out using git's svn compability
> feature: https://stat.ethz.ch/pipermail/r-devel/2012-October/065133.html
>
You forgot to mention that, in February of 2013, Hin-Tak reported that
Matrix did not build with the R trunk since October, 2012; but it
turned out not to build because he didn't have a subversion checkout.
https://mailman.stat.ethz.ch/pipermail/r-devel/2013-February/065858.html

> In 2013, Brian Ripley applied a patch with the comment "trap HK Leung
> misuse" explicitly to prevent users from being able to do this:
> https://github.com/wch/r-source/commit/4f13e5325dfbcb9fc8f55fc6027af9ae9c7750a3
>
> Shortly thereafter, Han-Tak tried to start discussion on this list
> about that patch, suggesting that preventing the use of non-SVN
> mirrors reduced the frequency with which development versions would be
> tested:
> https://stat.ethz.ch/pipermail/r-devel/2013-March/066128.html
>
> The opinions expressed on the thread were universally against Leung.
> Peter Dalgaard summarized as:
> "The generic point is that you are given access to a working tool that
> is internal to the core R developers. We are not putting restrictions
> on what you do with that access, but if you want to play the game by
> other rules than we do, you need to take the consequences. If things
> don't work and you start complaining about them being "broken", steps
> may be taken to make it clearer who broke them."
> https://stat.ethz.ch/pipermail/r-devel/2013-March/066131.html
>
> As a newcomer hoping to contribute to R who had already encountered
> this same compilation issue and considered it was a bug, I am
> astounded to learn that it is instead desired and intentional
> behavior.
>
> --nate
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



--
Joshua Ulrich  |  about.me/joshuaulrich
FOSS Trading  |  www.fosstrading.com

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Duncan Murdoch-2
In reply to this post by Nathan Kurz
On 19/01/2015 4:13 PM, Nathan Kurz wrote:

> On Mon, Jan 19, 2015 at 1:00 PM, Felipe Balbi <[hidden email]> wrote:
>> I just thought that such a small patch which causes no visible change to
>> SVN users and allow for git users to build R would be acceptable, but if
>> it isn't, that's fine too.
>
> Felipe ---
>
> It would appear that you are unaware that you are walking a minefield
> of entrenched positions and personality conflicts.  For those like
> myself who are mystified by the positions taken in this thread, a
> partial back story may be helpful.

I don't think there should be anything particularly mystifying here.
The people who would have to maintain the patch can't test it.  The
people who can test it can apply it themselves.  It's just a matter of
efficiency.  There's a very easy way for you to use the svn checkout,
and that is to check it out using svn.  If you want to use a tool that's
never tested, then you're on your own.

In another reply to you, Joshua pointed out one of the problems that
using untested tools causes.  It wasted a lot of Hin-Tak's and other
people's time.  That time could have been spent in a productive way, but
it wasn't.

Duncan Murdoch


>
> In 2012, Han-Tak Leung reported a problem compiling the development
> version of R that he had checked out using git's svn compability
> feature: https://stat.ethz.ch/pipermail/r-devel/2012-October/065133.html
>
> In 2013, Brian Ripley applied a patch with the comment "trap HK Leung
> misuse" explicitly to prevent users from being able to do this:
> https://github.com/wch/r-source/commit/4f13e5325dfbcb9fc8f55fc6027af9ae9c7750a3
>
> Shortly thereafter, Han-Tak tried to start discussion on this list
> about that patch, suggesting that preventing the use of non-SVN
> mirrors reduced the frequency with which development versions would be
> tested:
> https://stat.ethz.ch/pipermail/r-devel/2013-March/066128.html
>
> The opinions expressed on the thread were universally against Leung.
> Peter Dalgaard summarized as:
> "The generic point is that you are given access to a working tool that
> is internal to the core R developers. We are not putting restrictions
> on what you do with that access, but if you want to play the game by
> other rules than we do, you need to take the consequences. If things
> don't work and you start complaining about them being "broken", steps
> may be taken to make it clearer who broke them."
> https://stat.ethz.ch/pipermail/r-devel/2013-March/066131.html
>
> As a newcomer hoping to contribute to R who had already encountered
> this same compilation issue and considered it was a bug, I am
> astounded to learn that it is instead desired and intentional
> behavior.
>
> --nate
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Dirk Eddelbuettel

On 19 January 2015 at 17:11, Duncan Murdoch wrote:
| The people who would have to maintain the patch can't test it.  

I don't understand this.

The patch, as we may want to recall, was all of

   +GIT := $(shell if [ -d "$(top_builddir)/.git" ]; then \
   + echo "git"; fi)
   +

and

   -  (cd $(srcdir); LC_ALL=C TZ=GMT svn info || $(ECHO) "Revision: -99") 2> /dev/null \
   +  (cd $(srcdir); LC_ALL=C TZ=GMT $(GIT) svn info || $(ECHO) "Revision: -99") 2> /dev/null \

I believe you can test that builds works before applying the patch, and
afterwards---even when you do not have git, or in this case a git checkout.
The idiom of expanding a variable to "nothing" if not set is used all over
the R sources and can be assumed common.  And if (hypothetically speaking)
the build failed when a .git directory was present?  None of R Core's concern
either as git was never supported.

I really do not understand the excitement over this.  The patch is short,
clean, simple, and removes an entirely unnecessary element of friction.

Dirk

--
http://dirk.eddelbuettel.com | @eddelbuettel | [hidden email]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

R devel mailing list
Fellipe,

CXXR development has moved to github, and we haven't fixed up the build for
using git yet.  Could you send a pull request with your change to the repo
at https://github.com/cxxr-devel/cxxr/?

Also, this patch may be useful for pqR too.
https://github.com/radfordneal/pqR

Thanks

On Mon, Jan 19, 2015 at 2:35 PM, Dirk Eddelbuettel <[hidden email]> wrote:

>
> On 19 January 2015 at 17:11, Duncan Murdoch wrote:
> | The people who would have to maintain the patch can't test it.
>
> I don't understand this.
>
> The patch, as we may want to recall, was all of
>
>    +GIT := $(shell if [ -d "$(top_builddir)/.git" ]; then \
>    +    echo "git"; fi)
>    +
>
> and
>
>    -      (cd $(srcdir); LC_ALL=C TZ=GMT svn info || $(ECHO) "Revision:
> -99") 2> /dev/null \
>    +      (cd $(srcdir); LC_ALL=C TZ=GMT $(GIT) svn info || $(ECHO)
> "Revision: -99") 2> /dev/null \
>
> I believe you can test that builds works before applying the patch, and
> afterwards---even when you do not have git, or in this case a git checkout.
> The idiom of expanding a variable to "nothing" if not set is used all over
> the R sources and can be assumed common.  And if (hypothetically speaking)
> the build failed when a .git directory was present?  None of R Core's
> concern
> either as git was never supported.
>
> I really do not understand the excitement over this.  The patch is short,
> clean, simple, and removes an entirely unnecessary element of friction.
>
> Dirk
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | [hidden email]
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Felipe Balbi
Hi,

On Mon, Jan 19, 2015 at 04:33:15PM -0800, Karl Millar wrote:
> Felipe,
>
> CXXR development has moved to github, and we haven't fixed up the build for
> using git yet.  Could you send a pull request with your change to the repo at 
> https://github.com/cxxr-devel/cxxr/?
>
> Also, this patch may be useful for pqR too.  https://github.com/radfordneal/pqR

I'll have a look tomorrow.

--
balbi

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Makefile: add support for git svn clones

Martin Maechler
In reply to this post by Dirk Eddelbuettel
>>>>> Dirk Eddelbuettel <[hidden email]>
>>>>>     on Mon, 19 Jan 2015 16:35:31 -0600 writes:

    > On 19 January 2015 at 17:11, Duncan Murdoch wrote:
    > | The people who would have to maintain the patch can't test it.  

I agree that this is good reason to not add delicate code to the
R sources, indeed,  however, read on ..

    > I don't understand this.

    > The patch, as we may want to recall, was all of

    > +GIT := $(shell if [ -d "$(top_builddir)/.git" ]; then \
    > + echo "git"; fi)
    > +

    > and

    > -  (cd $(srcdir); LC_ALL=C TZ=GMT svn info || $(ECHO) "Revision: -99") 2> /dev/null \
    > +  (cd $(srcdir); LC_ALL=C TZ=GMT $(GIT) svn info || $(ECHO) "Revision: -99") 2> /dev/null \

the other thing needed -- apart from a similar patch to the Windows Makefile
is to make the above "portable" in the sense that it works for
standard make as opposed to just GNU make....
This requirement also helps portability to (albeit rare I think) platforms.
AFAICS, this simply needs replacement of  
        $(shell  <stuff>)
by      ` <stuff> `

    > I believe you can test that builds works before applying the patch, and
    > afterwards---even when you do not have git, or in this case a git checkout.

    > The idiom of expanding a variable to "nothing" if not set is used all over
    > the R sources and can be assumed common.  And if (hypothetically speaking)
    > the build failed when a .git directory was present?  None of R Core's concern
    > either as git was never supported.

    > I really do not understand the excitement over this.  The patch is short,
    > clean, simple, and removes an entirely unnecessary element of friction.

I agree partly - as I agree with Duncan's points -
and for this case, in spite of good reasons why such a patch can
be problematic to accept, I'm tending to think of  "sponsoring"
it, i.e., putting
it in *and* maintain it (if that maintenance is close to "nil" :-),
notably after you add the changes mentioned above.  

As, indeed, I don't see how it can harm, and you, the git users
among us (= "the people interested in tracking R development
sources") would keep some responsibility with it.

I would like to keep us in a good "community" spirit of
collaborating and focused on the advancement of Free Software in
general and of R in particular, and so help each other as much
as possible with the limited resources we have....

Best,
Martin

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel