/// <summary> /// Rename an existing reference with a new name /// </summary> /// <param name="currentName">The canonical name of the reference to rename.</param> /// <param name="newName">The new canonical name.</param> /// <param name="signature">The identity used for updating the reflog</param> /// <param name="logMessage">The optional message to log in the <see cref="ReflogCollection"/></param> /// <param name="allowOverwrite">True to allow silent overwriting a potentially existing reference, false otherwise.</param> /// <param name="refsColl">The <see cref="ReferenceCollection"/> being worked with.</param> /// <returns>A new <see cref="Reference"/>.</returns> public static Reference Rename(this ReferenceCollection refsColl, string currentName, string newName, Signature signature = null, string logMessage = null, bool allowOverwrite = false) { Ensure.ArgumentNotNullOrEmptyString(currentName, "currentName"); Reference reference = refsColl[currentName]; if (reference == null) { throw new LibGit2SharpException( string.Format(CultureInfo.InvariantCulture, "Reference '{0}' doesn't exist. One cannot move a non existing reference.", currentName)); } return(refsColl.Rename(reference, newName, signature, logMessage, allowOverwrite)); }
public static Reference Move(this ReferenceCollection refsColl, string currentName, string newName, Signature signature = null, string logMessage = null, bool allowOverwrite = false) { return(refsColl.Rename(currentName, newName, signature, logMessage, allowOverwrite)); }