Example #1
0
 private void OnPushStatusError(PushStatusError pushStatusErrors)
 {
     Assert.True(false, string.Format("Failed to update reference '{0}': {1}",
         pushStatusErrors.Reference, pushStatusErrors.Message));
 }
Example #2
0
 private void ErrorOnppush(PushStatusError pushStatusErrors)
 {
     throw new Exception("Error Occurred in push" + pushStatusErrors.Message);
 }
Example #3
0
 private void OnPushStatusError(PushStatusError pushStatusErrors)
 {
     Console.WriteLine("Failed to update reference '{0}': {1}",
                       pushStatusErrors.Reference, pushStatusErrors.Message);
 }
Example #4
0
 private void OnPushStatusError(PushStatusError pushStatusErrors)
 {
     Assert.True(false, string.Format("Failed to update reference '{0}': {1}",
                                      pushStatusErrors.Reference, pushStatusErrors.Message));
 }
Example #5
0
 private void PushSatusErrorHandler(PushStatusError pushStatusErrors)
 {
     throw new NotImplementedException();
 }
 private void OnFail(PushStatusError error)
 {
     EditorUtility.DisplayDialog("Error while pushing", error.Message, "Ok");
 }
Example #7
0
 private void OnPushStatusError(PushStatusError pushStatusErrors)
 {
     Debug.LogError("Push errors: " + pushStatusErrors);
 }
Example #8
0
        public async Task Run(CancellationToken cancellationToken)
        {
            try
            {
                if (_inProcess)
                {
                    return;
                }

                _inProcess = true;

                CloneOrFetch();

                var successCount = 0;

                var options = new PushOptions
                {
                    CredentialsProvider = CredentialsHandler,
                    OnPushStatusError   = OnPushStatusError
                };

                using var repository = new Repository(RepositoryFolder);
                {
                    var remote = repository.Network.Remotes["origin"];

                    var forRemove = repository.Branches
                                    .Where(br => br.IsRemote)
                                    .Where(branch => !Skip(branch))
                                    .OrderBy(GetLastCommitDate)
                                    .ToArray();

                    Message?.Invoke(this, "Найдено веток для удаления: " + forRemove.Length);
                    foreach (var branch in forRemove)
                    {
                        try
                        {
                            repository.Network.Push(remote, ":" + branch.UpstreamBranchCanonicalName, options);
                            successCount++;
                            if (LastPushError != null)
                            {
                                successCount--;
                                if (LastPushError.Message.Contains("You need to have 'ForcePush'"))
                                {
                                    continue;
                                }
                                throw new Exception(LastPushError.Message);
                            }
                        }
                        finally
                        {
                            LastPushError = null;
                        }
                    }
                }

                Message?.Invoke(this, "Удалено веток: " + successCount);

                History.AddResult(DateTime.Now, true);
            }
            catch (Exception e)
            {
                if (e.Message.Contains("too many redirects or authentication replays",
                                       StringComparison.InvariantCultureIgnoreCase))
                {
                    if (CredentialsCache.ContainsKey(RepositoryHost))
                    {
                        CredentialsCache.Remove(RepositoryHost);
                    }
                }

                History.AddResult(DateTime.Now, e);
            }
            finally
            {
                _inProcess = false;
            }
        }
Example #9
0
 private void OnPushStatusError(PushStatusError pushstatuserrors)
 {
     LastPushError = pushstatuserrors;
 }
Example #10
0
 /// <summary>
 /// Implements the <see cref="PushOptions.OnPushStatusError"/> callback.
 /// </summary>
 /// <param name="error">The error message.</param>
 private static void HandlePushError(PushStatusError error)
 {
     PrintMessage(error.Message);
 }