[jira] [Updated] (SVN-4680) obstructing working copy after clean update to a revision

2017-05-08 Thread Johan Corveleyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/SVN-4680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Johan Corveleyn updated SVN-4680:
-
Priority: Minor  (was: Major)

Lowering priority to "Minor". This is a bit of an edge case bug IMHO, and there 
is a workaround.

> obstructing working copy after clean update to a revision
> -
>
> Key: SVN-4680
> URL: https://issues.apache.org/jira/browse/SVN-4680
> Project: Subversion
>  Issue Type: Bug
>Affects Versions: 1.9.5
> Environment: windows 7 x64, tortoise svn tools
>Reporter: Andrey
>Priority: Minor
>  Labels: obstructing
> Attachments: test_update_issue.bat
>
>
> If try to move some directory into new place and make external on the old 
> place of the moved directory with the same name, then the svn stops update 
> this external properly if execute backward update into revision below the 
> commit with new external.
> See the windows batch script in the attachment for reproduction.
> The output is:
> {quote}
> Checked out revision 0.
> svn: Skipping argument: E200025: 'test_repo_root/.svn' ends in a reserved name
> A test_repo_root\dir1
> A test_repo_root\dir1\file1.txt
> A test_repo_root\dir2
> A test_repo_root\dir2\file2.txt
> Adding test_repo_root\dir1
> Adding test_repo_root\dir1\file1.txt
> Adding test_repo_root\dir2
> Adding test_repo_root\dir2\file2.txt
> Transmitting file data ..done
> Committing transaction...
> Committed revision 1.
> Updating 'test_repo_root':
> At revision 1.
> A test_repo_root\ext
> A test_repo_root\ext\dir2
> D test_repo_root\dir2
> D test_repo_root\dir2\file2.txt
> property 'svn:externals' set on 'test_repo_root'
> Sendingtest_repo_root
> Deleting   test_repo_root\dir2
> Adding test_repo_root\ext
> Adding test_repo_root\ext\dir2
> Committing transaction...
> Committed revision 2.
> Updating 'test_repo_root':
> Fetching external item into 'test_repo_root\dir2':
> Atest_repo_root\dir2\file2.txt
> Updated external to revision 2.
> At revision 2.
> Updating 'test_repo_root':
> Dtest_repo_root\ext
> Skipped 'test_repo_root\dir2' -- An obstructing working copy was found
>  U   test_repo_root
> Removed external 'test_repo_root\dir2'
> Updated to revision 1.
> Summary of conflicts:
>   Skipped paths: 1
> {quote}
> I know this is old issue, but why a clean copy could not be so as clean 
> updated?
> Why the externals does not process for remove before the update to a 
> revision? If you do so this error would not happen.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (SVN-4680) obstructing working copy after clean update to a revision

2017-05-07 Thread Andrey (JIRA)

 [ 
https://issues.apache.org/jira/browse/SVN-4680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey updated SVN-4680:

Description: 
If try to move some directory into new place and make external on the old place 
of the moved directory with the same name, then the svn stops update this 
external properly if execute backward update into revision below the commit 
with new external.

See the windows batch script in the attachment for reproduction.

The output is:
{quote}
Checked out revision 0.
svn: Skipping argument: E200025: 'test_repo_root/.svn' ends in a reserved name
A test_repo_root\dir1
A test_repo_root\dir1\file1.txt
A test_repo_root\dir2
A test_repo_root\dir2\file2.txt
Adding test_repo_root\dir1
Adding test_repo_root\dir1\file1.txt
Adding test_repo_root\dir2
Adding test_repo_root\dir2\file2.txt
Transmitting file data ..done
Committing transaction...
Committed revision 1.
Updating 'test_repo_root':
At revision 1.
A test_repo_root\ext
A test_repo_root\ext\dir2
D test_repo_root\dir2
D test_repo_root\dir2\file2.txt
property 'svn:externals' set on 'test_repo_root'
Sendingtest_repo_root
Deleting   test_repo_root\dir2
Adding test_repo_root\ext
Adding test_repo_root\ext\dir2
Committing transaction...
Committed revision 2.
Updating 'test_repo_root':

Fetching external item into 'test_repo_root\dir2':
Atest_repo_root\dir2\file2.txt
Updated external to revision 2.

At revision 2.
Updating 'test_repo_root':
Dtest_repo_root\ext
Skipped 'test_repo_root\dir2' -- An obstructing working copy was found
 U   test_repo_root
Removed external 'test_repo_root\dir2'
Updated to revision 1.
Summary of conflicts:
  Skipped paths: 1
{quote}

I know this is old issue, but why a clean copy could not be so as clean updated?
Why the externals does not process for remove before the update to a revision? 
If you do so this error would not happen.


  was:
If try to move some directory into new place and make external on the old place 
of the moved directory with the same name, then the svn stops update this 
external properly if execute backward update into revision below the commit 
with new external.

See the windows batch script for reproduction:
{quote}
@echo off

set REPODIR=test_repo
set "REPOROOT=%~dp0%REPODIR%"
set "REPOURL=file:///%REPOROOT:\=/%"
set WCROOT=%REPODIR%_root

if exist "%REPOROOT%\" ( rmdir /S /Q "%REPOROOT%" || goto :EOF )
if exist "%WCROOT%\" ( rmdir /S /Q "%WCROOT%" || goto :EOF )

mkdir "%REPOROOT%"
svnadmin create "%REPOROOT%" || goto :EOF
mkdir "%WCROOT%"

svn co "%REPOURL%" "%WCROOT%" || goto :EOF

rem creating tree w/o externals
mkdir "%WCROOT%/dir1" || goto :EOF
type nul > "%WCROOT%/dir1/file1.txt" || goto :EOF
mkdir "%WCROOT%/dir2" || goto :EOF
type nul > "%WCROOT%/dir2/file2.txt" || goto :EOF

svn add "%WCROOT%/*.*" || goto :EOF

svn ci "%WCROOT%" -m "rev1" || goto :EOF

rem update to the head
svn up "%WCROOT%"

rem move /dir2 into /ext
mkdir "%WCROOT%/ext" || goto :EOF
svn add  "%WCROOT%/ext" || goto :EOF
svn mv "%WCROOT%/dir2" "%WCROOT%/ext" || goto :EOF

svn pset svn:externals "^/ext/dir2 dir2" "%WCROOT%"

svn ci "%WCROOT%" -m "rev2" || goto :EOF

rem update to the head
svn up "%WCROOT%"

rem conflict: 'test_repo_root\dir2' -- An obstructing working copy was found
svn up -r 1 "%WCROOT%"

rem dir2 is not properly updated after this point

exit /b
{quote}

The output is:
{quote}
Checked out revision 0.
svn: Skipping argument: E200025: 'test_repo_root/.svn' ends in a reserved name
A test_repo_root\dir1
A test_repo_root\dir1\file1.txt
A test_repo_root\dir2
A test_repo_root\dir2\file2.txt
Adding test_repo_root\dir1
Adding test_repo_root\dir1\file1.txt
Adding test_repo_root\dir2
Adding test_repo_root\dir2\file2.txt
Transmitting file data ..done
Committing transaction...
Committed revision 1.
Updating 'test_repo_root':
At revision 1.
A test_repo_root\ext
A test_repo_root\ext\dir2
D test_repo_root\dir2
D test_repo_root\dir2\file2.txt
property 'svn:externals' set on 'test_repo_root'
Sendingtest_repo_root
Deleting   test_repo_root\dir2
Adding test_repo_root\ext
Adding test_repo_root\ext\dir2
Committing transaction...
Committed revision 2.
Updating 'test_repo_root':

Fetching external item into 'test_repo_root\dir2':
Atest_repo_root\dir2\file2.txt
Updated external to revision 2.

At revision 2.
Updating 'test_repo_root':
Dtest_repo_root\ext
Skipped 'test_repo_root\dir2' -- An obstructing working copy was found
 U   test_repo_root
Removed external 'test_repo_root\dir2'
Updated to revision 1.
Summary of conflicts:
  Skipped paths: 1
{quote}

I know this is old issue, but why a clean copy could not be so as clean updated?
Why the externals does not process for remove before the update to a 

[jira] [Updated] (SVN-4680) obstructing working copy after clean update to a revision

2017-05-07 Thread Andrey (JIRA)

 [ 
https://issues.apache.org/jira/browse/SVN-4680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey updated SVN-4680:

Attachment: test_update_issue.bat

the reporoduction script

> obstructing working copy after clean update to a revision
> -
>
> Key: SVN-4680
> URL: https://issues.apache.org/jira/browse/SVN-4680
> Project: Subversion
>  Issue Type: Bug
>Affects Versions: 1.9.5
> Environment: windows 7 x64, tortoise svn tools
>Reporter: Andrey
>  Labels: obstructing
> Attachments: test_update_issue.bat
>
>
> If try to move some directory into new place and make external on the old 
> place of the moved directory with the same name, then the svn stops update 
> this external properly if execute backward update into revision below the 
> commit with new external.
> See the windows batch script for reproduction:
> {quote}
> @echo off
> set REPODIR=test_repo
> set "REPOROOT=%~dp0%REPODIR%"
> set "REPOURL=file:///%REPOROOT:\=/%"
> set WCROOT=%REPODIR%_root
> if exist "%REPOROOT%\" ( rmdir /S /Q "%REPOROOT%" || goto :EOF )
> if exist "%WCROOT%\" ( rmdir /S /Q "%WCROOT%" || goto :EOF )
> mkdir "%REPOROOT%"
> svnadmin create "%REPOROOT%" || goto :EOF
> mkdir "%WCROOT%"
> svn co "%REPOURL%" "%WCROOT%" || goto :EOF
> rem creating tree w/o externals
> mkdir "%WCROOT%/dir1" || goto :EOF
> type nul > "%WCROOT%/dir1/file1.txt" || goto :EOF
> mkdir "%WCROOT%/dir2" || goto :EOF
> type nul > "%WCROOT%/dir2/file2.txt" || goto :EOF
> svn add "%WCROOT%/*.*" || goto :EOF
> svn ci "%WCROOT%" -m "rev1" || goto :EOF
> rem update to the head
> svn up "%WCROOT%"
> rem move /dir2 into /ext
> mkdir "%WCROOT%/ext" || goto :EOF
> svn add  "%WCROOT%/ext" || goto :EOF
> svn mv "%WCROOT%/dir2" "%WCROOT%/ext" || goto :EOF
> svn pset svn:externals "^/ext/dir2 dir2" "%WCROOT%"
> svn ci "%WCROOT%" -m "rev2" || goto :EOF
> rem update to the head
> svn up "%WCROOT%"
> rem conflict: 'test_repo_root\dir2' -- An obstructing working copy was found
> svn up -r 1 "%WCROOT%"
> rem dir2 is not properly updated after this point
> exit /b
> {quote}
> The output is:
> {quote}
> Checked out revision 0.
> svn: Skipping argument: E200025: 'test_repo_root/.svn' ends in a reserved name
> A test_repo_root\dir1
> A test_repo_root\dir1\file1.txt
> A test_repo_root\dir2
> A test_repo_root\dir2\file2.txt
> Adding test_repo_root\dir1
> Adding test_repo_root\dir1\file1.txt
> Adding test_repo_root\dir2
> Adding test_repo_root\dir2\file2.txt
> Transmitting file data ..done
> Committing transaction...
> Committed revision 1.
> Updating 'test_repo_root':
> At revision 1.
> A test_repo_root\ext
> A test_repo_root\ext\dir2
> D test_repo_root\dir2
> D test_repo_root\dir2\file2.txt
> property 'svn:externals' set on 'test_repo_root'
> Sendingtest_repo_root
> Deleting   test_repo_root\dir2
> Adding test_repo_root\ext
> Adding test_repo_root\ext\dir2
> Committing transaction...
> Committed revision 2.
> Updating 'test_repo_root':
> Fetching external item into 'test_repo_root\dir2':
> Atest_repo_root\dir2\file2.txt
> Updated external to revision 2.
> At revision 2.
> Updating 'test_repo_root':
> Dtest_repo_root\ext
> Skipped 'test_repo_root\dir2' -- An obstructing working copy was found
>  U   test_repo_root
> Removed external 'test_repo_root\dir2'
> Updated to revision 1.
> Summary of conflicts:
>   Skipped paths: 1
> {quote}
> I know this is old issue, but why a clean copy could not be so as clean 
> updated?
> Why the externals does not process for remove before the update to a 
> revision? If you do so this error would not happen.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)