Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
 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));
 }