public addVersion ( string previousVersion, |
||
previousVersion | string | |
newNode | ||
return |
public Node addVersion(string previousVersion, Node newNode)
{
// Update this doc with a new version
if (previousVersion == currentVersion)
{
string nextVersion = Convert.ToString(Convert.ToInt32(currentVersion) + 1);
Debug.WriteLine("Version incremented to: " + nextVersion);
revision.Add(nextVersion, newNode);
currentVersion = nextVersion;
}
else
{
Debug.WriteLine("addVersion(node) - incompatible version being added: ");
Debug.WriteLine("Previous version: " + previousVersion + " , current version: " + currentVersion);
}
return newNode;
}
Node::addVersion ( string data, long sequence ) : |
|
Node::addVersion ( string data, long sequence, string rev_id ) : |
|
Node::addVersion ( string previousVersion, string rev_id, long sequence ) : |
|
Node::addVersion ( string version, string sequence, string rev_id ) : |
public void Test2() { // Test case 2 - merge with conflicting edits var rootNode1 = new Node("docId","data",0); rootNode1.addVersion("data1",1); rootNode1.addVersion("data2",2); //Console.WriteLine(rootNode1.toString()); var rootNode2 = new Node("docId2", "data",3); rootNode2.addVersion("data1",4); rootNode2.addVersion("rootnode2-data2",5); rootNode2.addVersion("rootnode2-data3",6); //Console.WriteLine(rootNode2.toString()); List<Node> conflicts = rootNode1.merge(rootNode2); Console.WriteLine(); Console.WriteLine("Conflicts"); Console.WriteLine("========="); foreach (Node node in conflicts) { Console.WriteLine(node.rev_id); } Console.WriteLine(); Console.WriteLine("Result"); Console.WriteLine("======"); //Console.WriteLine(rootNode1.toString()); Console.WriteLine(new[] { 1, 2, 3 }.ToJson()); Console.WriteLine(rootNode1.revision.ToJson<Dictionary<string, Node>>()); //Console.WriteLine(rootNode1.ToString()); }