Subject: Re: [PATCH] t/lib-cvs: cvsimport no longer works without Python >= 2.7

From: Michael Haggerty <[email-masked]>
Date: Sat, 12 Jan 2013 16:27:36 +0100

I have the feeling I'm only seeing one side of this conversation...

On 01/12/2013 09:40 AM, Junio C Hamano wrote:
> The new cvsimport requires at least Python 2.7 to work; do not fail
> the cvsimport tests on platforms without one.
> 
> Signed-off-by: Junio C Hamano <[email-masked]>
> ---
> 
>  Junio C Hamano <[email-masked]> writes:
> 
>  > http://docs.python.org/2/library/subprocess.html tells me that
>  > check_output has first become available in 2.7.
>  >
>  > So... does this mean that we now set the minimum required version of
>  > Python to 2.7?  I dunno.

It would be unfortunate to set the minimum Python version to 2.7 if "git
cvsimport" is considered an integral part of git.

>  Even if we were to rip out the fallback code that uses the 2.7-only
>  subprocess.check_output() on "cvsps -V", the function is also used
>  for doing the real work interacting with cvsps-3.x, so I think this
>  patch will be necessary.  Unless new cvsimport is tweaked not to
>  use the method, that is.
> 
>  A suggestion for a better alternative is of course very much
>  appreciated.

If the only reason to require Python 2.7 is subprocess.check_output(),
it would be easy to reimplement it (it is only 12 lines of
straightforward code, plus a few lines to define the exception type
CalledProcessError).  According to [1], the Python license is
GPL-compatible; therefore these lines could even be copied into
git-cvsimport.

Michael

[1] http://www.gnu.org/licenses/license-list.html#Python

-- 
Michael Haggerty
[email-masked]
http://softwareswirl.blogspot.com/