subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bert Huijben <>
Subject RE: [RFE] Make 'svn patch' read from STDIN
Date Sun, 07 Feb 2016 12:56:12 GMT
Well.. Perhaps ^D works on your platform, but you will need other keys on other platforms.
And ^D doesn’t abort, but signals successful EOF, so you need a different description else.

Creating a temporary file from the calling process/shell is most likely not much harder than
in Subversion itself. And given that the diff parse code has to read the file multiple times
we will need a tempfile anyway.


Sent from Outlook Mail for Windows 10 phone

From: Daniel Shahaf
Sent: zondag 7 februari 2016 01:22
To: Andreas Scherer;
Subject: Re: [RFE] Make 'svn patch' read from STDIN

Stefan Sperling wrote on Mon, Feb 01, 2016 at 10:51:39 +0100:
> On Sun, Jan 31, 2016 at 11:48:26AM +0100, Andreas Scherer wrote:
> > I suggest to extend 'svn patch' so that it supports usage in a pipe like
> > 
> >     gzip -dc patch-0042.gz | svn patch -P patch-0042 -
> > 
> > This would permit using 'svn patch' directly as a drop-in replacement for
> > 
> >    gzip -dc patch-0042.gz | patch
> > 
> > An example use case is the '%autosetup -S [SCM]' feature of RPM
> > (,introducedinversion4.11;

That link 404s; I think you meant

> Also, I think we should preserve the following behaviour if stdin is
> indeed a terminal:
>   $ svn patch
>   svn: E205001: Try 'svn help patch' for more information
>   svn: E205001: Not enough arguments provided
> This is consistent with other svn subcommands, and avoids giving the
> impression that 'svn patch' "hangs" when the user doesn't pass a patch
> on stdin. This avoids confusing casual command line users line who might
> not know about file redirection and pipes (I know we have such users,
> based on my personal interactions with many of them).

Let's not throw the baby out with the bathwater.  Simply printing an
informative message "svn: Reading a patch from standard input; press ^D
to abort" should address the confusion without breaking the use-case of
people who run 'patch' without arguments and then paste a patch from the



View raw message