Den tors 1 apr. 2021 kl 16:29 skrev M Saftwerk über TortoiseSVN <
[email protected]>:

> OS: Windows 10 x64
> TortoiseSVN 1.14.1, Build 29085 - 64 Bit , 2021/02/09 16:17:02
> ipv6 enabled
> Subversion 1.14.1, -release
> apr 1.6.5
> apr-util 1.6.1
> serf 1.3.9
> OpenSSL 1.1.1i  8 Dec 2020
> zlib 1.2.11
> SQLite 3.29.0
>
> *Steps to repro*:
>
> 1. Use existing repo with lots of files and folders.
> 2. 'SVN commit...' and 'SVN Update' are working fine, so all local files
> are up to date. (green)
>

I can't reproduce this by following the steps exactly (ie, updating in the
root of the WC). I have to add the following step:

2b. Change an existing file and commit.

DON'T do an SVN Update after this step.


> 3. Create any demo file with unwanted extension like 'hello.txtbad'.
> 4. Click 'TortoiseSVN' > 'Add to ignore list...' > 'hello.txtbad'.
> 5. Close message box: "Added the file pattern(s) 'hello.txtbad' to the
> ignore list."
> 6. Modify an existing file which state is green. e.g.: "myDiary.txt" will
> change state to red.
> 7. At root folder click 'SVN commit' and the normal Commit dialog appears.
>

What is listed in the commit dialog? I would presume that "myDiary.txt" and
the folder containing "hello.txtbad" are listed, but not "hello.txtbad"
itself. If this is correct, then TortoiseSVN is honoring the ignore list as
it should.

What do you select in the commit dialog? Only the "myDiary.txt" file or
also the changed folder? If you don't select the changed folder (only
"myDiary.txt") you should be able to commit. If you select the changed
folder then you run into a limitation with Subversion's "mixed revision
working copies", see the paragraph starting with "Second, ..." in the
Subversion Book:
http://svnbook.red-bean.com/en/1.7/svn.basic.in-action.html#svn.basic.in-action.mixedrevs.limits

It is step 2b above that introduces the mixed revision working copy. If you
do an SVN Update as step 2c, then you are back to a single revision working
copy and the remaining steps will succeed even if you commit both the file
and the changed folder.

8. Click OK
>
> *Result*:
> Command: Commit to *****
> Modified: C:\Project\myDiary.txt
> Modified: C:\Project\files
> Error: Commit failed (details follow):
> Error: Directory 'C:\Project\files' is out of date
> Completed!:
>
> Now you can click 'OK' and another dialog appears: "Command failed -
> Update needed. Shall I update the working copy and retry?" <Update> <Cancel>
>
> *Expceted*:
> The command '*Commit*' should handle the local changed '*ignore list*'
> since nothing was changed on server.
> [image: 2021-04-01.png]
>

TortoiseSVN is doing its best to help you resolve the situation with the
mixed revision revision working copy. If you accept the update you should
get back to the commit dialog and be able to retry the commit (which should
now succeed).

The same situation happen with the Subversion command line client:

[[[
$ svnadmin create ms_repo
$ svn co file:///home/daniel/ms_repo/ ms
Checked out revision 0.
$ cd ms
$ touch file1
$ svn add file1
A         file1
$ svn ci file1 -m 'committing file1'
Adding         file1
Transmitting file data .done
Committing transaction...
Committed revision 1.
$ svn propset svn:ignore bad.file .
property 'svn:ignore' set on '.'
$ echo "modify">file1
$ svn status
 M      .
M       file1
$ svn ci -m 'changes'
Sending        .
svn: E155011: Commit failed (details follow):
svn: E155011: Directory '/home/daniel/ms' is out of date
svn: E160028: Directory '/' is out of date
$
]]]

Above is same error as shown by TortoiseSVN when I try to commit both the
changed file and the changed property. If I commit only the file, the
commit succeeds.

[[[
$  svn ci file1 -m 'changes only committing file'
Sending        file1
Transmitting file data .done
Committing transaction...
Committed revision 2.
$
]]]

If I'm missing out something in your reproduction receipt or what you are
trying to do (for example if you are only selecting the file in step 7,
then please report back in this mailing list.

If you have questions about Subversion's handling of mixed revision working
copies, then you will probably get better help from the Subversion
project's mailing lists ([email protected], see
http://subversion.apache.org/mailing-lists.html).

Kind regards
Daniel

-- 
You received this message because you are subscribed to the Google Groups 
"TortoiseSVN" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tortoisesvn/CAMHy98MHE%2BYwH2tGLjiFt9VnSjjT2xTUfCJJt3X5g4maNR_YrQ%40mail.gmail.com.

Reply via email to