You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Dirk Heinrichs <di...@capgemini.com> on 2011/05/24 09:14:11 UTC

Possible bug: --stop-on-copy stops too early

Hi,

I'm trying to get the base revision of a branch using "svn log --stop-on-
copy". However, the output of this command stops a couple of revisions too 
early:

svn log -v 
https://sdmpudpagport.sdm.de/pu/dpagpalis/svn/repository/software/branches/dhe_oracle_tablespaces_fuer_appcom
------------------------------------------------------------------------
r1954 | hardt | 2011-05-19 13:51:17 +0200 (Thu, 19 May 2011) | 1 line
Changed paths:
   D /PALISNC
   A /software (from /PALISNC:1953)

renamed software statt PALISNC
------------------------------------------------------------------------
r1950 | dheinric | 2011-05-18 09:02:13 +0200 (Wed, 18 May 2011) | 1 line
Changed paths:
   M 
/PALISNC/branches/dhe_oracle_tablespaces_fuer_appcom/database/install/10.2.0/linux/config/config.sh
   A 
/PALISNC/branches/dhe_oracle_tablespaces_fuer_appcom/sources/pack/feacfgva/setup/config/af7ll197.properties

Anpassung der Tablespaces f?\195?\188r AppCom Umgebung.
------------------------------------------------------------------------
r1947 | dheinric | 2011-05-17 07:38:35 +0200 (Tue, 17 May 2011) | 1 line
Changed paths:
   A /PALISNC/branches/dhe_oracle_tablespaces_fuer_appcom (from 
/PALISNC/branches/dhe_oracle_tablespaces_f?\195?\188r_appcom:1946)
   D /PALISNC/branches/dhe_oracle_tablespaces_f?\195?\188r_appcom

Branch umbenannt.
------------------------------------------------------------------------
r1946 | dheinric | 2011-05-17 07:36:55 +0200 (Tue, 17 May 2011) | 1 line
Changed paths:
   A /PALISNC/branches/dhe_oracle_tablespaces_f?\195?\188r_appcom (from 
/PALISNC/tags/PALIS_3.8.4_ENT_00:1945)

Branch erzeugt.
------------------------------------------------------------------------
[More output snipped off]

As can be seen here, the branch "dhe_oracle_tablespaces_für_appcom" has been 
created in rev 1946, and then renamed to "dhe_oracle_tablespaces_fuer_appcom" 
to remove the german ü umlaut from the name. So I'd expect the base rev. of 
the branch to be 1946.

But when I use "svn log --stop-on-copy", it stops at a different one:

svn log -q --stop-on-copy 
https://sdmpudpagport.sdm.de/pu/dpagpalis/svn/repository/software/branches/dhe_oracle_tablespaces_fuer_appcom
------------------------------------------------------------------------
r1954 | hardt | 2011-05-19 13:51:17 +0200 (Do, 19. Mai 2011)
------------------------------------------------------------------------

This is the very first revision as shown in the previous command.

Of course, if I now use this revision to find out what has changed on the 
branch, I won't get any output although one file has been modified and one has 
been changed (in rev 1950.

svn client version info:

% svn --version
svn, version 1.6.12 (r955767)
   compiled Mar 22 2011, 19:47:54

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet 
(http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

Don't know the server version, though.

Bye...

	Dirk
-- 
Dirk Heinrichs          | Tel:  +49 (0)211 56623 316
Configuration Manager   | Fax:  +49 (0)211 56623 450
Capgemini Deutschland   | Mail: dirk.heinrichs@capgemini.com
Wanheimerstraße 68      | Web:  http://www.de.capgemini.com
D-40468 Düsseldorf      | ICQ#: 110037733
GPG Public Key C2E467BB | Keyserver: wwwkeys.pgp.net

Re: Possible bug: --stop-on-copy stops too early

Posted by Dirk Heinrichs <di...@capgemini.com>.
Am Dienstag, 24. Mai 2011, 16:36:11 schrieb Varnau, Steve (Neoview):

> > Hmm, if it stops on any copy, then maybe "svn log --stop-on-copy" is
> > the wrong command for finding the base rev of a branch. Is there a
> > better alternative?
> 
> I find it is better for this use case to log from past forward to find this
> info. This is my trusty command to find a branch point:
> 
> svn log -qv -r0:HEAD -l1 --stop-on-copy  <URL to branch>

Sorry, but this also doesn't work for me (gives the wrong revision as per my 
first mail).

Bye...

	Dirk
-- 
Dirk Heinrichs          | Tel:  +49 (0)211 56623 316
Configuration Manager   | Fax:  +49 (0)211 56623 450
Capgemini Deutschland   | Mail: dirk.heinrichs@capgemini.com
Wanheimerstraße 68      | Web:  http://www.de.capgemini.com
D-40468 Düsseldorf      | ICQ#: 110037733
GPG Public Key C2E467BB | Keyserver: wwwkeys.pgp.net

RE: Possible bug: --stop-on-copy stops too early

Posted by "Varnau, Steve (Neoview)" <st...@hp.com>.
> -----Original Message-----
> From: Dirk Heinrichs [mailto:dirk.heinrichs@capgemini.com]
> Sent: Tuesday, May 24, 2011 3:31 AM
> To: users@subversion.apache.org
> Subject: Re: Possible bug: --stop-on-copy stops too early
> 
> Am Dienstag, 24. Mai 2011, 12:22:44 schrieb Stephen Butler:
> 
> > The "A", along with the "from <path>:<rev>", means that /software was
> > copied from /PALISNC in this revision, so 'svn log --stop-on-copy'
> > stops at this revision.
> >
> > I searched for "--stop-on-copy" in the bug tracker, and turned up
> >
> >   http://subversion.tigris.org/issues/show_bug.cgi?id=2518
> >   "Allow --stop-on-copy to traverse a fixed number of copies > 1"
> >
> > Unfortunately no one's picked it up yet.  There's an interesting
> > suggestion in the comments: the log shouldn't stop if the copy-source
> > was deleted in the same revision.  Of course, that assumes that the
> > delete and the copy (the two halves of the renaming) were committed in
> the same revision.
> 
> Hmm, if it stops on _any_ copy, then maybe "svn log --stop-on-copy" is
> the wrong command for finding the base rev of a branch. Is there a
> better alternative?

I find it is better for this use case to log from past forward to find this info.
This is my trusty command to find a branch point:

svn log -qv -r0:HEAD -l1 --stop-on-copy  <URL to branch>

-Steve


> 
> Bye...
> 
> 	Dirk
> --
> Dirk Heinrichs          | Tel:  +49 (0)211 56623 316
> Configuration Manager   | Fax:  +49 (0)211 56623 450
> Capgemini Deutschland   | Mail: dirk.heinrichs@capgemini.com
> Wanheimerstraße 68      | Web:  http://www.de.capgemini.com
> D-40468 Düsseldorf      | ICQ#: 110037733
> GPG Public Key C2E467BB | Keyserver: wwwkeys.pgp.net

Re: Possible bug: --stop-on-copy stops too early

Posted by Dirk Heinrichs <di...@capgemini.com>.
Am Dienstag, 24. Mai 2011, 12:22:44 schrieb Stephen Butler:

> The "A", along with the "from <path>:<rev>", means that /software was
> copied from /PALISNC in this revision, so 'svn log --stop-on-copy' stops
> at this revision.
> 
> I searched for "--stop-on-copy" in the bug tracker, and turned up 
> 
>   http://subversion.tigris.org/issues/show_bug.cgi?id=2518
>   "Allow --stop-on-copy to traverse a fixed number of copies > 1"
> 
> Unfortunately no one's picked it up yet.  There's an interesting suggestion
> in the comments: the log shouldn't stop if the copy-source was deleted in
> the same revision.  Of course, that assumes that the delete and the copy
> (the two halves of the renaming) were committed in the same revision.

Hmm, if it stops on _any_ copy, then maybe "svn log --stop-on-copy" is the 
wrong command for finding the base rev of a branch. Is there a better 
alternative?

Bye...

	Dirk
-- 
Dirk Heinrichs          | Tel:  +49 (0)211 56623 316
Configuration Manager   | Fax:  +49 (0)211 56623 450
Capgemini Deutschland   | Mail: dirk.heinrichs@capgemini.com
Wanheimerstraße 68      | Web:  http://www.de.capgemini.com
D-40468 Düsseldorf      | ICQ#: 110037733
GPG Public Key C2E467BB | Keyserver: wwwkeys.pgp.net

Re: Possible bug: --stop-on-copy stops too early

Posted by Stephen Butler <sb...@elego.de>.
On May 24, 2011, at 9:14 , Dirk Heinrichs wrote:

> Hi,
> 
> I'm trying to get the base revision of a branch using "svn log --stop-on-
> copy". However, the output of this command stops a couple of revisions too 
> early:
> 
> svn log -v 
> https://sdmpudpagport.sdm.de/pu/dpagpalis/svn/repository/software/branches/dhe_oracle_tablespaces_fuer_appcom
> ------------------------------------------------------------------------
> r1954 | hardt | 2011-05-19 13:51:17 +0200 (Thu, 19 May 2011) | 1 line
> Changed paths:
>   D /PALISNC
>   A /software (from /PALISNC:1953)

The "A", along with the "from <path>:<rev>", means that /software was copied
from /PALISNC in this revision, so 'svn log --stop-on-copy' stops at this revision.

I searched for "--stop-on-copy" in the bug tracker, and turned up 

  http://subversion.tigris.org/issues/show_bug.cgi?id=2518
  "Allow --stop-on-copy to traverse a fixed number of copies > 1"

Unfortunately no one's picked it up yet.  There's an interesting suggestion in
the comments: the log shouldn't stop if the copy-source was deleted in the
same revision.  Of course, that assumes that the delete and the copy (the two
halves of the renaming) were committed in the same revision.

Regards,
Steve

> 
> renamed software statt PALISNC
> ------------------------------------------------------------------------
> r1950 | dheinric | 2011-05-18 09:02:13 +0200 (Wed, 18 May 2011) | 1 line
> Changed paths:
>   M 
> /PALISNC/branches/dhe_oracle_tablespaces_fuer_appcom/database/install/10.2.0/linux/config/config.sh
>   A 
> /PALISNC/branches/dhe_oracle_tablespaces_fuer_appcom/sources/pack/feacfgva/setup/config/af7ll197.properties
> 
> Anpassung der Tablespaces f?\195?\188r AppCom Umgebung.
> ------------------------------------------------------------------------
> r1947 | dheinric | 2011-05-17 07:38:35 +0200 (Tue, 17 May 2011) | 1 line
> Changed paths:
>   A /PALISNC/branches/dhe_oracle_tablespaces_fuer_appcom (from 
> /PALISNC/branches/dhe_oracle_tablespaces_f?\195?\188r_appcom:1946)
>   D /PALISNC/branches/dhe_oracle_tablespaces_f?\195?\188r_appcom
> 
> Branch umbenannt.
> ------------------------------------------------------------------------
> r1946 | dheinric | 2011-05-17 07:36:55 +0200 (Tue, 17 May 2011) | 1 line
> Changed paths:
>   A /PALISNC/branches/dhe_oracle_tablespaces_f?\195?\188r_appcom (from 
> /PALISNC/tags/PALIS_3.8.4_ENT_00:1945)
> 
> Branch erzeugt.
> ------------------------------------------------------------------------
> [More output snipped off]
> 
> As can be seen here, the branch "dhe_oracle_tablespaces_für_appcom" has been 
> created in rev 1946, and then renamed to "dhe_oracle_tablespaces_fuer_appcom" 
> to remove the german ü umlaut from the name. So I'd expect the base rev. of 
> the branch to be 1946.
> 
> But when I use "svn log --stop-on-copy", it stops at a different one:
> 
> svn log -q --stop-on-copy 
> https://sdmpudpagport.sdm.de/pu/dpagpalis/svn/repository/software/branches/dhe_oracle_tablespaces_fuer_appcom
> ------------------------------------------------------------------------
> r1954 | hardt | 2011-05-19 13:51:17 +0200 (Do, 19. Mai 2011)
> ------------------------------------------------------------------------
> 
> This is the very first revision as shown in the previous command.
> 
> Of course, if I now use this revision to find out what has changed on the 
> branch, I won't get any output although one file has been modified and one has 
> been changed (in rev 1950.
> 
> svn client version info:
> 
> % svn --version
> svn, version 1.6.12 (r955767)
>   compiled Mar 22 2011, 19:47:54
> 
> Copyright (C) 2000-2009 CollabNet.
> Subversion is open source software, see http://subversion.tigris.org/
> This product includes software developed by CollabNet 
> (http://www.Collab.Net/).
> 
> The following repository access (RA) modules are available:
> 
> * ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
>  - handles 'http' scheme
>  - handles 'https' scheme
> * ra_svn : Module for accessing a repository using the svn network protocol.
>  - with Cyrus SASL authentication
>  - handles 'svn' scheme
> * ra_local : Module for accessing a repository on local disk.
>  - handles 'file' scheme
> 
> Don't know the server version, though.
> 
> Bye...
> 
> 	Dirk
> -- 
> Dirk Heinrichs          | Tel:  +49 (0)211 56623 316
> Configuration Manager   | Fax:  +49 (0)211 56623 450
> Capgemini Deutschland   | Mail: dirk.heinrichs@capgemini.com
> Wanheimerstraße 68      | Web:  http://www.de.capgemini.com
> D-40468 Düsseldorf      | ICQ#: 110037733
> GPG Public Key C2E467BB | Keyserver: wwwkeys.pgp.net

--
Stephen Butler | Senior Consultant
elego Software Solutions GmbH
Gustav-Meyer-Allee 25 | 13355 Berlin | Germany
tel: +49 30 2345 8696 | mobile: +49 163 25 45 015
fax: +49 30 2345 8695 | http://www.elegosoft.com
Geschäftsführer: Olaf Wagner | Sitz der Gesellschaft: Berlin
Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194



Re: Possible bug: --stop-on-copy stops too early

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Dirk Heinrichs wrote on Tue, May 24, 2011 at 09:14:11 +0200:
> Hi,
> 
> I'm trying to get the base revision of a branch using "svn log --stop-on-
> copy". However, the output of this command stops a couple of revisions too 
> early:
> 
> svn log -v 
> https://sdmpudpagport.sdm.de/pu/dpagpalis/svn/repository/software/branches/dhe_oracle_tablespaces_fuer_appcom
> ------------------------------------------------------------------------
> r1954 | hardt | 2011-05-19 13:51:17 +0200 (Thu, 19 May 2011) | 1 line
> Changed paths:
>    D /PALISNC
>    A /software (from /PALISNC:1953)
> 

This is a copy of the ancestor of the branch, so 'svn log' stops on it.
Nothing surprising here given the underlying design (--stop-on-copy
doesn't know where in the tree branch boundaries are).

Try

U=https://sdmpudpagport.sdm.de/pu/dpagpalis/svn/repository/software/branches/dhe_oracle_tablespaces_fuer_appcom
svn log --stop-on-copy $U -r 1953:1
svn log --stop-on-copy ${U/software/PALISNC}@1953

> renamed software statt PALISNC
> ------------------------------------------------------------------------