public bool TryGetValue(string key, out RavenJToken value) { value = null; RavenJToken unsafeVal; if (LocalChanges != null && LocalChanges.TryGetValue(key, out unsafeVal)) { if (unsafeVal == DeletedMarker) { return(false); } value = unsafeVal; return(true); } if (parentSnapshot == null || !parentSnapshot.TryGetValue(key, out unsafeVal) || unsafeVal == DeletedMarker) { return(false); } value = unsafeVal; return(true); }
public FormCheckoutRemoteBranch(string branch, LocalChanges changes) : this(branch) { rbReset.Checked = changes == LocalChanges.Reset; rbMerge.Checked = changes == LocalChanges.Merge; rbDontChange.Checked = changes == LocalChanges.DontChange; }
public bool Remove(string key) { if (isSnapshot) { throw new InvalidOperationException("Cannot modify a snapshot, this is probably a bug"); } count = -1; bool parentHasIt = false; RavenJToken token; if (!LocalChanges.TryGetValue(key, out token)) { parentHasIt = parentSnapshot == null || !parentSnapshot.TryGetValue(key, out token); if (parentHasIt == false) { return(false); } } if (token == DeletedMarker) { return(false); } if (parentHasIt) { LocalChanges[key] = DeletedMarker; } return(LocalChanges.Remove(key)); }
public IEnumerator <KeyValuePair <string, RavenJToken> > GetEnumerator() { if (parentSnapshot != null) { foreach (var item in parentSnapshot) { if (item.Key == null) { continue; } if (LocalChanges.ContainsKey(item.Key)) { continue; } yield return(item); } } foreach (var localChange in LocalChanges) { if (localChange.Value == DeletedMarker) { continue; } yield return(localChange); } }
public bool Remove(string key) { if (IsSnapshot) { throw new InvalidOperationException("Cannot modify a snapshot, this is probably a bug"); } RavenJToken parentToken = null; bool parentHasIt = parentSnapshot != null && parentSnapshot.TryGetValue(key, out parentToken); RavenJToken token; if (LocalChanges.TryGetValue(key, out token) == false) { if (parentHasIt && parentToken != DeletedMarker) { LocalChanges[key] = DeletedMarker; count -= 1; return(true); } return(false); } if (token == DeletedMarker) { return(false); } count -= 1; LocalChanges[key] = DeletedMarker; return(true); }
public void CopyTo(KeyValuePair <string, RavenJToken>[] array, int arrayIndex) { if (parentSnapshot != null) { parentSnapshot.CopyTo(array, arrayIndex); arrayIndex += parentSnapshot.Count; } LocalChanges.CopyTo(array, arrayIndex); }
public static string CheckoutCmd(string branchOrRevisionName, LocalChanges changes) { string args = ""; switch (changes) { case LocalChanges.Merge: args = " --merge"; break; case LocalChanges.Reset: args = " --force"; break; } return string.Format("checkout{0} \"{1}\"", args, branchOrRevisionName); }