Re: svn: E160013: File not found: transaction '41-1j'
Hi Daniel and Nathan Thanks for your replies. The client is svn 1.13.0 The server is 1.14.0 Protocol is http Before the rename I see: $ ls 'Traffic Steering' drafts The svn mv yields: $ svn mv Traffic%20Steering RIC_Initial_Use_Case_Analysis svn: E155010: Path '/home//SVNProj/mnd-ric/Feasibility Studies/Use Case Analysis/TML/Traffic%20Steering' does not exist Is that helpful? Best regards David On Fri, Jul 16, 2021 at 1:31 PM Daniel Shahaf wrote: > Nathan Hartman wrote on Thu, Jul 15, 2021 at 16:52:18 -0400: > > Also, you might try using %20 in place of spaces and see if that makes > > a difference. Perhaps by mistake one of those spaces is a different > > codepoint, so looks like a regular space, but isn't. > > Good idea, but there's no reason to try blindly; running «svn ls» on the > containing directory and «svn info» on the file, both of which you have > suggested above, is sufficient to rule this out. > > Speaking of which, going back to the original error message, there's > something I didn't notice at first: > > > > > > svn: E160013: File not found: transaction '41-1j', path > '/Feasibility%20Studies/Use%20Case%20Analysis/TML/RIC_Initial_Use_Case_Analysis' > > This is a libsvn_fs_fs error message, and the path is percent-escaped. > However, libsvn_fs_fs shouldn't be seeing percent-escaped paths at all. > > What's the version number on the client and server? > > > If it's a httpd-based server, do httpd's logs show anything that seems > > significant? > > As mentioned upthread, svnserve has logs too, and successful commits > would also show up in «svn log ^/». > > > Dumb question: Could the server be low on disk space? > > I don't see how that could cause an E160013? > > Cheers, > > Daniel >
Re: svn: E160013: File not found: transaction '41-1j'
Nathan Hartman wrote on Thu, Jul 15, 2021 at 16:52:18 -0400: > Also, you might try using %20 in place of spaces and see if that makes > a difference. Perhaps by mistake one of those spaces is a different > codepoint, so looks like a regular space, but isn't. Good idea, but there's no reason to try blindly; running «svn ls» on the containing directory and «svn info» on the file, both of which you have suggested above, is sufficient to rule this out. Speaking of which, going back to the original error message, there's something I didn't notice at first: > > > > svn: E160013: File not found: transaction '41-1j', path > > > > '/Feasibility%20Studies/Use%20Case%20Analysis/TML/RIC_Initial_Use_Case_Analysis' This is a libsvn_fs_fs error message, and the path is percent-escaped. However, libsvn_fs_fs shouldn't be seeing percent-escaped paths at all. What's the version number on the client and server? > If it's a httpd-based server, do httpd's logs show anything that seems > significant? As mentioned upthread, svnserve has logs too, and successful commits would also show up in «svn log ^/». > Dumb question: Could the server be low on disk space? I don't see how that could cause an E160013? Cheers, Daniel
Re: svn: E160013: File not found: transaction '41-1j'
David Aldrich wrote on Thu, Jul 15, 2021 at 17:18:47 +0100: > Another team member had attempted the rename earlier today but it failed > with a permissions error. That's probably unrelated, but still, please quote the error message. > Could there be some incomplete transaction lurking in the database that is > causing a tree conflict? No. What you're seeing isn't a tree conflict. Conflicts are a client-side concept and are triggered by update/switch/merge operations. Besides, if an incomplete transaction _could_ somehow cause a conflict, then it could also be updated to, and we'd have noticed that. (Background reading pointers for interested devs: svn_fs_root_t; NODES.op_depth.) Cheers, Daniel
Re: svn: E160013: File not found: transaction '41-1j'
David Aldrich wrote on Thu, Jul 15, 2021 at 15:54:00 +0100: > I'm trying to rename a directory and I get this error on commit: > > Adding TML/RIC_Initial_Use_Case_Analysis > svn: E155011: Commit failed (details follow): > svn: E155011: Directory '//Feasibility Studies/Use Case > Analysis/TML/RIC_Initial_Use_Case_Analysis' is out of date > svn: E160013: File not found: transaction '41-1j', path > '/Feasibility%20Studies/Use%20Case%20Analysis/TML/RIC_Initial_Use_Case_Analysis' Hang on. "Feasibility Studies" is a child of the root in the E160013 error message, but child of something other than the root in the second E155011 line. Is that indeed so, or did you redact the two messages differently? > I guess the problem is associated with the fact that the path contains > spaces. > > Any advice on how to resolve this please? Review your start-commit and pre-commit hooks. Review your server's logs for any concurrent commit attempts. (This applies to everything except file://, not only to http/https. If you use file://, you can implement logging in pre-commit, or look at revisions that have in fact been committed right around the time of the failed commit attempt.) Cheers, Daniel
Re: svn: E160013: File not found: transaction '41-1j'
On Thu, Jul 15, 2021 at 12:18 PM David Aldrich wrote: > > Hi Nathan > > Thanks for your answer. I didn't make this clear, but I do understand the > concept of Update and had updated the working copy before attempting the > rename. > > I have, just now, made a clean checkout and repeated the rename, but I get a > similar result. > > Another team member had attempted the rename earlier today but it failed with > a permissions error. > > Could there be some incomplete transaction lurking in the database that is > causing a tree conflict? > > Or some other problem, possibly associated with the use of spaces? > > Best regards > David Hello David, The E155011 "Directory ... is out of date" error is Subversion trying to be helpful by wrapping what could be an obscure commit error with a more friendly one; however in this case it wasn't helpful. The E160013 "File not found: transaction..." error is the important one in this case. I doubt that spaces in the path are causing the issue; my $employer's repo contains filenames and directories with spaces and we have renamed things many times without issues; however I won't completely discount that possibility. There might be some edge case. Let's try to narrow down the cause: Do you know which version of Subversion is running on the server? Is it a *nix or Windows based server? What type of server is it -- if unsure you can tell by the URL you're using to access it: local (file://), svnserve (svn://), or httpd-based (http:// or https://). Is the item in question pulled in via svn:externals? Is it a symlink? Can you see the file listed if you run 'svn ls' using the server-side URL, e.g., if your server is svnserve, something like: $ svn ls "svn:Feasibility Studies/Use Case Analysis/TML/RIC_Initial_Use_Case_Analysis" (Remember to enclose the path in quotes.) If that's not found, gradually remove one item at a time from the end of the path: $ svn ls "svn:Feasibility Studies/Use Case Analysis/TML/" You can also run 'svn info' with the same URLs, with spaces, and then you should see the URL encoded with %20 in place of spaces. Also, you might try using %20 in place of spaces and see if that makes a difference. Perhaps by mistake one of those spaces is a different codepoint, so looks like a regular space, but isn't. Have you (or colleagues) attempted other commit operations in the meantime and have they succeeded or failed? If it's a httpd-based server, do httpd's logs show anything that seems significant? Dumb question: Could the server be low on disk space? As a possible workaround: You could perhaps try the rename as a server-side operation? i.e., 'svn mv' giving the old and new server-side URL and a commit message. Let us know... Nathan P.S., You asked if any stale transactions might be lurking. You can check with the 'svnadmin' subcommand 'lstxns'. That would need to be run on the server. It is described here: https://svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.diskspace.deadtxns (Search for "lxtxns" on that page; I suggest not to rush to delete any you might find, in case they offer some helpful clues.)
Re: svn: E160013: File not found: transaction '41-1j'
Hi Nathan Thanks for your answer. I didn't make this clear, but I do understand the concept of Update and had updated the working copy before attempting the rename. I have, just now, made a clean checkout and repeated the rename, but I get a similar result. Another team member had attempted the rename earlier today but it failed with a permissions error. Could there be some incomplete transaction lurking in the database that is causing a tree conflict? Or some other problem, possibly associated with the use of spaces? Best regards David On Thu, Jul 15, 2021 at 4:38 PM Nathan Hartman wrote: > On Thu, Jul 15, 2021 at 10:54 AM David Aldrich > wrote: > > > > I'm trying to rename a directory and I get this error on commit: > > > > Adding TML/RIC_Initial_Use_Case_Analysis > > svn: E155011: Commit failed (details follow): > > svn: E155011: Directory '//Feasibility Studies/Use Case > Analysis/TML/RIC_Initial_Use_Case_Analysis' is out of date > > svn: E160013: File not found: transaction '41-1j', path > '/Feasibility%20Studies/Use%20Case%20Analysis/TML/RIC_Initial_Use_Case_Analysis' > > > > I guess the problem is associated with the fact that the path contains > spaces. > > > > Any advice on how to resolve this please? > > > Normally the "out of date" error means that the repository contains > newer changes that your working copy does not have yet, such as, for > example, modifications to files inside the directory you are trying to > rename. Normally your working copy must be up-to-date with the > repository before you commit, at least for all items that are touched > by any kind of modifications in your working copy. > > Practically speaking, this means that you would need to 'update' your > working copy first; since you have renamed a directory, you may have > to resolve a tree conflict. Alternatively, if renaming the directory > is the only change you're making, it might just be simpler to 'revert' > that change in your working copy, then 'update', then rename the > directory, and then 'commit'. > > There's better documentation in the SVN book: > > https://svnbook.red-bean.com/en/1.7/svn.tour.treeconflicts.html > > Search for "is out of date" on that page to jump straight to it. > > Hope this helps, > Nathan >
Re: svn: E160013: File not found: transaction '41-1j'
On Thu, Jul 15, 2021 at 10:54 AM David Aldrich wrote: > > I'm trying to rename a directory and I get this error on commit: > > Adding TML/RIC_Initial_Use_Case_Analysis > svn: E155011: Commit failed (details follow): > svn: E155011: Directory '//Feasibility Studies/Use Case > Analysis/TML/RIC_Initial_Use_Case_Analysis' is out of date > svn: E160013: File not found: transaction '41-1j', path > '/Feasibility%20Studies/Use%20Case%20Analysis/TML/RIC_Initial_Use_Case_Analysis' > > I guess the problem is associated with the fact that the path contains spaces. > > Any advice on how to resolve this please? Normally the "out of date" error means that the repository contains newer changes that your working copy does not have yet, such as, for example, modifications to files inside the directory you are trying to rename. Normally your working copy must be up-to-date with the repository before you commit, at least for all items that are touched by any kind of modifications in your working copy. Practically speaking, this means that you would need to 'update' your working copy first; since you have renamed a directory, you may have to resolve a tree conflict. Alternatively, if renaming the directory is the only change you're making, it might just be simpler to 'revert' that change in your working copy, then 'update', then rename the directory, and then 'commit'. There's better documentation in the SVN book: https://svnbook.red-bean.com/en/1.7/svn.tour.treeconflicts.html Search for "is out of date" on that page to jump straight to it. Hope this helps, Nathan
svn: E160013: File not found: transaction '41-1j'
I'm trying to rename a directory and I get this error on commit: Adding TML/RIC_Initial_Use_Case_Analysis svn: E155011: Commit failed (details follow): svn: E155011: Directory '//Feasibility Studies/Use Case Analysis/TML/RIC_Initial_Use_Case_Analysis' is out of date svn: E160013: File not found: transaction '41-1j', path '/Feasibility%20Studies/Use%20Case%20Analysis/TML/RIC_Initial_Use_Case_Analysis' I guess the problem is associated with the fact that the path contains spaces. Any advice on how to resolve this please?