SVN Endless Loop - [file] “does not exist in repository”

前端 未结 3 1661
予麋鹿
予麋鹿 2021-02-18 23:08

This has been plaguing me for a week.

SVN keeps telling me that a certain file \"does not exist in repository\".

Fine. Let\'s just delete it. Forg

相关标签:
3条回答
  • 2021-02-18 23:12

    It seems most likely that you have corrupted your local working copy, e.g. by moving folders or some other manipulation that you did with windows explorer but should have done through the TortoiseSVN context menu. The information inside the .svn folders now no longer matches the state of the working copy, which is confusing Subversion.

    To fix this, delete the parent folder ("Originals") in your working copy with windows explorer (NOT with TortoiseSVN). Then do a TortoiseSVN "update" at the root of your working copy. This should restore the folder in working order.

    Another option is to discard your working copy entirely and do a fresh checkout.

    Note that the next release of Subversion (1.7) will reduce the opportunities for corrupting your working copy by centralizing all metadata in a single .svn folder at the root.

    0 讨论(0)
  • 2021-02-18 23:29

    I had faced a similar problem wherein i had a folder, for example "FolderA" which consistently shows in svn update even though I had deleted it. It would not even show in the folder list but svn would still recognise it as if it exists.

    I followed below steps:

    1.Create same folder name for which svn was giving error in the same file location
    2.Added it to svn checkout. Since it gave conflict errors, i resolved it using the svn option to resolve.
    3.Deleted the folder and committed my svn.

    Error was resolved

    0 讨论(0)
  • 2021-02-18 23:39

    I've had similar problems with corrupted working copies. Sometimes the working copies have a lot of pending changes but unable to checkin. To resolve this, I use the following approach (svn 1.7+):

    1. Checkout a fresh working copy into a new directory (path2)
    2. In the fresh working copy, if the offending file is there, delete it if needed.
    3. Commit the fresh working copy
    4. In the fresh working copy, delete everything except the .svn directory
    5. Copy everything from the old working copy except the .svn directory into the fresh working copy.
    6. Commit the fresh working copy again
    7. Delete (or backup) the old working copy
    8. Rename the fresh working to the old working copy (path2 to path)
    0 讨论(0)
提交回复
热议问题