internal void Commit()
        {
            var commitArgs = new Blinkbox.Events.OnCommitArgs {
                Message = this.Comments
            };

            service.NoRefresh = true;
            if (HasComments() && StageSelectedFiles())
            {
                try
                {
                    ShowStatusMessage("Committing ...");
                    var id = tracker.Commit(Comments);
                    ShowStatusMessage("Commit successfully. Commit Hash: " + id);
                    ClearUI();
                    commitArgs.Success = true;
                    commitArgs.Id      = id;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    ShowStatusMessage(ex.Message);
                }
            }
            service.NoRefresh = false;
            //service.lastTimeRefresh = DateTime.Now;
            service.NodesGlyphsDirty = true; // force refresh
            Blinkbox.Events.BlinkboxSccHooks.TriggerCommit(this, commitArgs);
        }
 /// <summary>
 /// Triggers the settings CommitSuccessful event.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The args.</param>
 internal static void TriggerCommit(object sender, OnCommitArgs args)
 {
     if (OnCommit != null)
     {
         OnCommit(sender, args);
     }
 }
 /// <summary>
 /// Triggers the settings CommitSuccessful event.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The args.</param>
 internal static void TriggerCommit(object sender, OnCommitArgs args)
 {
     if (OnCommit != null)
     {
         OnCommit(sender, args);
     }
 }