SVN local Delete, incoming delete upon update workaround

Source: Internet
Author: User

often people will say that tree conflict is a kind of conflict that is difficult to solve, in fact, once the principle of understanding, it is not difficult to solve. First look at the definition of tree conflict. tree conflict: A tree conflict occurs when a developer moves, renames, deletes a file or folder, and another developer moves, renames, deletes, or simply modifies it. When a conflict occurs, the information that is typically prompted for the conflict is what. Later we can use the SVN st to view the current state. The various states of the SVN St represent what, please refer to this post SVN st status detail. first introduce the concept

Delete: The directory structure changes, which are considered to be delete

Edit: Refers to modifying a file

Local: You are locally modified

Incoming: It's someone else's change, you want to update or merge in.

There should be 4 combinations, but the edit combination of edit should be file Conflict, which is easy to solve, not in the tree Conflict discussion range, so there are 3 combinations. There are 6 different situations where you need to differentiate between update and merge. respectively is

Local Delete, incoming edit upon updateLocal Edit, incoming delete upon updateLocal Delete, incoming delete upon updateLocal Missing, incoming edit upon mergeLocal Edit, incoming delete upon mergeLocal Delete, incoming delete upon mergeeach of these situations is explained in the following ways:1.Local Delete, incoming edit upon update (local delete, incoming modification after update)Cause: 1. A modified file foo.c submitted to the Repository, b foo.c renamed to BAR.C or deleted foo.c or directly foo.c parent directory foo directly delete 2.B update working copy will prompt the conflict, in working Copy is displayed as foo.c locally and is marked as a conflict. If it is renamed, BAR.C is marked as new, but does not include a modification. Solution: A and B to confirm whether to use a and whether to rename the change. If A is modified, and the rename is modified, the tag conflict is resolved, SVN resolved, and the last commit, and if you do not use a modification, directly tag the conflict resolution commit. 2.Local Edit, incoming delete upon update (local edit, incoming delete after update)Cause: 1. A FOO.C is renamed to BAR.C and submitted to the repository (or a changes the parent directory Foo of FOO.C to bar), and B modifies foo.c in his working copy. 2.B is updated before submission, it will prompt this error. Resolution: Also requires two people to negotiate after the modification. 3.Local Delete, incoming delete upon update (local delete, incoming delete after update)Cause: 1. A FOO.C is renamed to Bar.c, and B is renamed to BIX.C for FOO.C. 2.B updating a local working copy will prompt for the tree conflict. Workaround: Find the reason for the file to be deleted through the log, and the name will be confirmed by A and B after negotiation. 4.Local Missing, incoming edit upon merge (local missing, merge incoming modifications)Cause: 1. A modify the foo.c,b on the trunk to rename foo.c to bar.c on the branch. 2.B Merge A on the trunk of the modification. Workaround: B Tag The conflict resolution, then copy the foo.c to local, merge the modifications of a into their own files or discard A's changes directly, using their own modifications. 5.Local Edit, incoming delete upon merge (local modification, incoming delete after merging)Cause: 1. A rename the foo.c to BAR.C (or change the parent directory Foo of FOO.C to bar) and B to modify the FOO.C on the branch. 2.B Merge a changes when prompted for the conflict. BAR.C is marked as incremented and foo.c is marked as a conflict. Resolution: Also based on the log to find the source of the changes, the two people negotiated after the settlement. 6.Local Delete, incoming delete upon merge (local delete, incoming delete after merging)Cause: 1. A on the trunk, rename foo.c to bar.c,b on the branch to rename Foo.c to bix.c. 2.B Merge A will prompt a conflict when it is modified. The renamed file is marked as new and the original file is marked as a tree conflict. Resolution: Through the log to find the file is renamed the moment, two people negotiated after the settlement.

SVN local Delete, incoming delete upon update workaround

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.