[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-commits-diffs] net.venge.monotone.issue-209.file_attribute: 5f
From: |
code |
Subject: |
[Monotone-commits-diffs] net.venge.monotone.issue-209.file_attribute: 5f1a37961aa88c114e0ad40d8dd09a2d1b2e9f81 |
Date: |
Tue, 19 Jun 2012 13:44:29 +0200 (CEST) |
revision: 5f1a37961aa88c114e0ad40d8dd09a2d1b2e9f81
date: 2012-06-19T11:43:55
author: address@hidden
branch: net.venge.monotone.issue-209.file_attribute
changelog:
* src/merge_content.cc (resolve_merge_conflicts): require --resolve_conflicts
for all conflicts except dropped_modified. Still not quite right; don't get
proper report of conflict from merge commands, just "no resolution specified"
manifest:
format_version "1"
new_manifest [c0646258965dcbc33e6128d6ab3955de513ad76d]
old_revision [6644cff8fa909e1b9d69554b60d473571f1ad135]
patch "src/merge_content.cc"
from [acce6123a6becddeb69fd81221d85be2b372252d]
to [3cc3b3f391b7ac369cd6f9ef7afb364178b4fe35]
============================================================
--- src/merge_content.cc acce6123a6becddeb69fd81221d85be2b372252d
+++ src/merge_content.cc 3cc3b3f391b7ac369cd6f9ef7afb364178b4fe35
@@ -722,29 +722,38 @@ resolve_merge_conflicts(lua_hooks & lua,
{
result.log_conflicts();
- // Apply any conflict resolutions. If the user did not specify
- // --resolve_conflicts, there may still be some specified by attr
- // mtn:resolve_conflict.
+ if (resolutions_given)
+ {
+ // If there are any conflicts for which we don't currently support
+ // resolutions, give a nice error message.
+ char const * const msg = "conflict resolution for %s not yet supported";
- char const * const msg = "conflict resolution for %s not yet supported";
+ E(!result.missing_root_conflict, origin::user,
+ F(msg) % "missing_root_dir");
+ E(result.invalid_name_conflicts.size() == 0, origin::user,
+ F(msg) % "invalid_name_conflicts");
+ E(result.directory_loop_conflicts.size() == 0, origin::user,
+ F(msg) % "directory_loop_conflicts");
+ E(result.multiple_name_conflicts.size() == 0, origin::user,
+ F(msg) % "multiple_name_conflicts");
+ E(result.attribute_conflicts.size() == 0, origin::user,
+ F(msg) % "attribute_conflicts");
- E(!result.missing_root_conflict, origin::user,
- F(msg) % "missing_root_dir");
- E(result.invalid_name_conflicts.size() == 0, origin::user,
- F(msg) % "invalid_name_conflicts");
- E(result.directory_loop_conflicts.size() == 0, origin::user,
- F(msg) % "directory_loop_conflicts");
- E(result.multiple_name_conflicts.size() == 0, origin::user,
- F(msg) % "multiple_name_conflicts");
- E(result.attribute_conflicts.size() == 0, origin::user,
- F(msg) % "attribute_conflicts");
+ // Resolve the ones we can, if they have resolutions specified. Each
+ // conflict list is deleted once all are resolved.
+ result.resolve_orphaned_node_conflicts(lua, left_roster, right_roster, adaptor);
+ result.resolve_dropped_modified_conflicts(lua, left_roster, right_roster, adaptor, nis);
+ result.resolve_duplicate_name_conflicts(lua, left_roster, right_roster, adaptor);
- // Resolve the ones we can, if they have resolutions specified. Each
- // conflict list is deleted once all are resolved.
- result.resolve_orphaned_node_conflicts(lua, left_roster, right_roster, adaptor);
- result.resolve_dropped_modified_conflicts(lua, left_roster, right_roster, adaptor, nis);
- result.resolve_duplicate_name_conflicts(lua, left_roster, right_roster, adaptor);
- result.resolve_file_content_conflicts(lua, left_roster, right_roster, adaptor);
+ result.resolve_file_content_conflicts (lua, left_roster, right_roster, adaptor);
+ }
+ else
+ {
+ // The user did not specify --resolve_conflicts, but there may
+ // still be some specified by attr mtn:resolve_conflict. Only
+ // these conflicts support that so far.
+ result.resolve_dropped_modified_conflicts(lua, left_roster, right_roster, adaptor, nis);
+ }
}
if (result.has_non_content_conflicts())
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-commits-diffs] net.venge.monotone.issue-209.file_attribute: 5f1a37961aa88c114e0ad40d8dd09a2d1b2e9f81,
code <=