Re: [JGIT PATCH/RFC] Removed possibility to change stderr for ssh sessions
- From
- Constantine Plotnikov <constantine.plotnikov@gmail.com>
- Date
- Apr 22, 2009, 15:55 UTC
- Message-ID
- <85647ef50904220855g62890de0r4fee4ea8503aa348@mail.gmail.com>
- In-Reply-To
- <20090422154657.GK23604@spearce.org>
On Wed, Apr 22, 2009 at 7:46 PM, Shawn O. Pearce <spearce@spearce.org> wrote:
Show 12 quoted lines
> Constantine Plotnikov <constantine.plotnikov@gmail.com> wrote: >> The current implementation allowed to change stderr for the >> ssh sessions. However this functionality is broken. > > Good catch. > > I applied this, but two comments. > > One, your patch was line wrapped, I had to manually unwrap it > to apply. So your MUA is still not able to send patches right. > Thought you'd like to know. >
It looks like both gmail and thunderbird both have a problem. I will look how opera works next time.
Show 26 quoted lines
> Two,
>
>> + * The method does not have to be implemented and will be removed in
>> future versions.
>> *
>> * @return an OutputStream to receive the SSH error stream.
>> */
>> - public abstract OutputStream getErrorStream();
>> + @Deprecated
>> + public OutputStream getErrorStream() {
>> + throw new UnsupportedOperationException("This method should not be called.");
>> + }
>> }
>
> I think deprecation here is silly. I just deleted the method.
>
> Nobody should be calling this except TransportGitSsh, as you
> discovered.
>
> If they are, getting UnsupportedOperationException at runtime is
> as bad as NoSuchMethodError at runtime, and either is a lot less
> friendly than a no such method error at compile time.
>
> Given the method is being broken, I'd rather just remove it outright.
> So I removed it from your patch when I applied it.
>No problem with it. I have left it for the the case if someone overrides it with @Override annotation. Deprecation would have given a warning rather then an error on annotation.
Constantine