You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Mark Eichin <ei...@gmail.com> on 2014/07/03 20:59:30 UTC

svn rm $URI mangles the commit-message-template

1.6 on ubuntu precise gets this right, 1.8 on trusty gets it wrong, the
following repro script is from trusty:

$ mkdir svnrmbug
$ cd svnrmbug
/home/eichin/tmp/svnrmbug
$ svnadmin create repo
$ U=file://$(pwd)/repo
$ svn mkdir --parents -m 'base' $U/{trunk,branches,tags,branches/me,tags/me}

Committed revision 1.
$ svn cp -m 'branch' $U/trunk $U/branches/me/bugbranch

Committed revision 2.
$ EDITOR=false VISUAL=false svn rm $U/branches/me/bugbranch
svn: E200012: system('false svn-commit.tmp') returned 256
svn: E200012: Your commit message was left in a temporary file:
svn: E200012:    'svn-commit.tmp'
$ cat svn-commit.tmp

--This line, and those below, will be ignored--

D    file:///home/eichin/tmp/svnrmbug/repo/bugbranch

Note specifically the URI to be deleted.  (Ironically, I think it really
*does* get ignored, a coworker pointed it out just recently and noone else
had seen it before...)

In a few experiments, it looks like the deletion line is consistently
(svnroot)/(basename branchpath) and that it doesn't happen with svn mkdir.
 Some quality time with trunk/CHANGES turned up only issue #1199 as being
even vaguely related (which mostly confirmed that it wasn't an intentional
change...)

-- 
_Mark_ <ei...@thok.org> <ei...@gmail.com>

Re: svn rm $URI mangles the commit-message-template

Posted by Ben Reser <be...@reser.org>.
On 7/4/14 2:15 PM, Mark Eichin wrote:
> The irony I was trying to point out is that if it's been wrong this long, the
> material beneath that line gets ignored by *human readers* as well as by the code.

I would guess that rm on URLs is a rare action and when it is done it's usually
done with -m 'Log Message' rather than via the interactive editor.  In our
project's case most of the removal via URLs is branch removals and usually a
bot is doing it.  I happened to notice it because the bot was broken and I did
some merge/branch removals manually.


Re: svn rm $URI mangles the commit-message-template

Posted by Mark Eichin <ei...@gmail.com>.
On Thu, Jul 3, 2014 at 6:24 PM, Daniel Shahaf <d....@daniel.shahaf.name>
wrote:

> Mark Eichin wrote on Thu, Jul 03, 2014 at 14:59:30 -0400:
> > 1.6 on ubuntu precise gets this right, 1.8 on trusty gets it wrong, the
> > following repro script is from trusty:
> >
> > $ mkdir svnrmbug
> > $ cd svnrmbug
> > /home/eichin/tmp/svnrmbug
> > $ svnadmin create repo
> > $ U=file://$(pwd)/repo
> > $ svn mkdir --parents -m 'base'
> $U/{trunk,branches,tags,branches/me,tags/me}
> >
> > Committed revision 1.
> > $ svn cp -m 'branch' $U/trunk $U/branches/me/bugbranch
> >
> > Committed revision 2.
> > $ EDITOR=false VISUAL=false svn rm $U/branches/me/bugbranch
> > svn: E200012: system('false svn-commit.tmp') returned 256
> > svn: E200012: Your commit message was left in a temporary file:
> > svn: E200012:    'svn-commit.tmp'
> > $ cat svn-commit.tmp
> >
> > --This line, and those below, will be ignored--
> >
> > D    file:///home/eichin/tmp/svnrmbug/repo/bugbranch
> >
>
> Allow me to clarify: it says
>
>  D    file:///home/eichin/tmp/svnrmbug/repo/bugbranch
>
> but it should have said
>
>  D    file:///home/eichin/tmp/svnrmbug/repo/branches/me/bugbranch
>
>
Correct.  My reference to (basename branchpath) below was extrapolating
from the original case and some tests against real repos that I couldn't
include.


> > Note specifically the URI to be deleted.  (Ironically, I think it really
> > *does* get ignored, a coworker pointed it out just recently and noone
> else
> > had seen it before...)
> >
>
> Yes, it does get ignored, just like it says.
>
>
The irony I was trying to point out is that if it's been wrong this long,
the material beneath that line gets ignored by *human readers* as well as
by the code.


> Daniel
>
> > In a few experiments, it looks like the deletion line is consistently
> > (svnroot)/(basename branchpath) and that it doesn't happen with svn
> mkdir.
> >  Some quality time with trunk/CHANGES turned up only issue #1199 as being
> > even vaguely related (which mostly confirmed that it wasn't an
> intentional
> > change...)
> >
> > --
> > _Mark_ <ei...@thok.org> <ei...@gmail.com>
>



-- 
_Mark_ <ei...@thok.org> <ei...@gmail.com>

Re: svn rm $URI mangles the commit-message-template

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Mark Eichin wrote on Thu, Jul 03, 2014 at 14:59:30 -0400:
> 1.6 on ubuntu precise gets this right, 1.8 on trusty gets it wrong, the
> following repro script is from trusty:
> 
> $ mkdir svnrmbug
> $ cd svnrmbug
> /home/eichin/tmp/svnrmbug
> $ svnadmin create repo
> $ U=file://$(pwd)/repo
> $ svn mkdir --parents -m 'base' $U/{trunk,branches,tags,branches/me,tags/me}
> 
> Committed revision 1.
> $ svn cp -m 'branch' $U/trunk $U/branches/me/bugbranch
> 
> Committed revision 2.
> $ EDITOR=false VISUAL=false svn rm $U/branches/me/bugbranch
> svn: E200012: system('false svn-commit.tmp') returned 256
> svn: E200012: Your commit message was left in a temporary file:
> svn: E200012:    'svn-commit.tmp'
> $ cat svn-commit.tmp
> 
> --This line, and those below, will be ignored--
> 
> D    file:///home/eichin/tmp/svnrmbug/repo/bugbranch
> 

Allow me to clarify: it says

 D    file:///home/eichin/tmp/svnrmbug/repo/bugbranch

but it should have said

 D    file:///home/eichin/tmp/svnrmbug/repo/branches/me/bugbranch

> Note specifically the URI to be deleted.  (Ironically, I think it really
> *does* get ignored, a coworker pointed it out just recently and noone else
> had seen it before...)
> 

Yes, it does get ignored, just like it says.

Daniel

> In a few experiments, it looks like the deletion line is consistently
> (svnroot)/(basename branchpath) and that it doesn't happen with svn mkdir.
>  Some quality time with trunk/CHANGES turned up only issue #1199 as being
> even vaguely related (which mostly confirmed that it wasn't an intentional
> change...)
> 
> -- 
> _Mark_ <ei...@thok.org> <ei...@gmail.com>

Re: svn rm $URI mangles the commit-message-template

Posted by Ben Reser <be...@reser.org>.
On 7/3/14 2:50 PM, Ben Reser wrote:
> This was resolved by my commit in r1591123.  It's currently nominated for
> backport in the 1.8.x STATUS file and is currently missing one vote (stsp: hint
> hint).

I probably should have mentioned this is a regression that started in 1.7.9, so
there's also a nomination to backport the same fix to 1.7.x.  So it's not
exactly a new problem.


Re: svn rm $URI mangles the commit-message-template

Posted by Ben Reser <be...@reser.org>.
On 7/4/14 2:23 PM, Mark Eichin wrote:
> Ah, does that imply that it's far enough along that it doesn't need a ticket?
>  (or does it cause http://subversion.tigris.org/issues/show_bug.cgi?id=1199 to
> be reopened, since that was, I assume, what introduced it?)

No need for a ticket and Issue #1199 is not where we caused that regression.
It was caused by the fix for Issue #4332.  Details here for the curious:
http://subversion.tigris.org/issues/show_bug.cgi?id=4332

> (I am still surprised that it isn't
> in http://svn.apache.org/repos/asf/subversion/trunk/CHANGES but I guess it is
> minor relative to many of the things there.)

CHANGES on trunk is not always up to date, it gets updated sporadically.  You
can only really rely on CHANGES to be accurate in released code.  As it is
trunk's CHANGES file is probably unusually up to date right now because we've
put out a 1.9.0-alpha release.

Re: svn rm $URI mangles the commit-message-template

Posted by Mark Eichin <ei...@gmail.com>.
On Thu, Jul 3, 2014 at 5:50 PM, Ben Reser <be...@reser.org> wrote:

> On 7/3/14 2:16 PM, Stefan Sperling wrote:
> > Thanks for your report.
> >
> > This is definitely not intentional. I can reproduce this on 1.8.x but not
> > on trunk. Not sure yet when it was fixed on trunk.
>
> This was resolved by my commit in r1591123.  It's currently nominated for
> backport in the 1.8.x STATUS file and is currently missing one vote (stsp:
> hint
> hint).
>

Ah, does that imply that it's far enough along that it doesn't need a
ticket?  (or does it cause
http://subversion.tigris.org/issues/show_bug.cgi?id=1199 to be reopened,
since that was, I assume, what introduced it?)

(I am still surprised that it isn't in
http://svn.apache.org/repos/asf/subversion/trunk/CHANGES but I guess it is
minor relative to many of the things there.)

-- 
_Mark_ <ei...@thok.org> <ei...@gmail.com>

Re: svn rm $URI mangles the commit-message-template

Posted by Ben Reser <be...@reser.org>.
On 7/3/14 2:16 PM, Stefan Sperling wrote:
> Thanks for your report.
> 
> This is definitely not intentional. I can reproduce this on 1.8.x but not
> on trunk. Not sure yet when it was fixed on trunk.

This was resolved by my commit in r1591123.  It's currently nominated for
backport in the 1.8.x STATUS file and is currently missing one vote (stsp: hint
hint).

Re: svn rm $URI mangles the commit-message-template

Posted by Stefan Sperling <st...@elego.de>.
On Thu, Jul 03, 2014 at 02:59:30PM -0400, Mark Eichin wrote:
> $ cat svn-commit.tmp
> 
> --This line, and those below, will be ignored--
> 
> D    file:///home/eichin/tmp/svnrmbug/repo/bugbranch
> 
> Note specifically the URI to be deleted.  (Ironically, I think it really
> *does* get ignored, a coworker pointed it out just recently and noone else
> had seen it before...)
> 
> In a few experiments, it looks like the deletion line is consistently
> (svnroot)/(basename branchpath) and that it doesn't happen with svn mkdir.
>  Some quality time with trunk/CHANGES turned up only issue #1199 as being
> even vaguely related (which mostly confirmed that it wasn't an intentional
> change...)

Thanks for your report.

This is definitely not intentional. I can reproduce this on 1.8.x but not
on trunk. Not sure yet when it was fixed on trunk.

If you'd like, please file an issue.