private void UpdateCommand(RemoteRefUpdate u)
 {
     try
     {
         dest.WriteRef(u.GetRemoteName(), u.GetNewObjectId());
         newRefs.Put(u.GetRemoteName(), new ObjectIdRef.Unpeeled(RefStorage.LOOSE, u.GetRemoteName
                                                                     (), u.GetNewObjectId()));
         u.SetStatus(RemoteRefUpdate.Status.OK);
     }
     catch (IOException e)
     {
         u.SetStatus(RemoteRefUpdate.Status.REJECTED_OTHER_REASON);
         u.SetMessage(e.Message);
     }
 }
        // Ignore the deletion failure. We probably are
        // already failing and were just trying to pick
        // up after ourselves.
        private void DeleteCommand(RemoteRefUpdate u)
        {
            Ref r = Sharpen.Collections.Remove(newRefs, u.GetRemoteName());

            if (r == null)
            {
                // Already gone.
                //
                u.SetStatus(RemoteRefUpdate.Status.OK);
                return;
            }
            if (r.GetStorage().IsPacked())
            {
                packedRefUpdates.AddItem(u);
            }
            if (r.GetStorage().IsLoose())
            {
                try
                {
                    dest.DeleteRef(u.GetRemoteName());
                    u.SetStatus(RemoteRefUpdate.Status.OK);
                }
                catch (IOException e)
                {
                    u.SetStatus(RemoteRefUpdate.Status.REJECTED_OTHER_REASON);
                    u.SetMessage(e.Message);
                }
            }
            try
            {
                dest.DeleteRefLog(u.GetRemoteName());
            }
            catch (IOException e)
            {
                u.SetStatus(RemoteRefUpdate.Status.REJECTED_OTHER_REASON);
                u.SetMessage(e.Message);
            }
        }
Beispiel #3
0
        public virtual void TestFindRemoteRefUpdatesNoWildcardNoTracking()
        {
            transport = NGit.Transport.Transport.Open(db, remoteConfig);
            ICollection <RemoteRefUpdate> result = transport.FindRemoteRefUpdatesFor(Collections
                                                                                     .NCopies(1, new RefSpec("refs/heads/master:refs/heads/x")));

            NUnit.Framework.Assert.AreEqual(1, result.Count);
            RemoteRefUpdate rru = result.Iterator().Next();

            NUnit.Framework.Assert.IsNull(rru.GetExpectedOldObjectId());
            NUnit.Framework.Assert.IsFalse(rru.IsForceUpdate());
            NUnit.Framework.Assert.AreEqual("refs/heads/master", rru.GetSrcRef());
            NUnit.Framework.Assert.AreEqual(db.Resolve("refs/heads/master"), rru.GetNewObjectId
                                                ());
            NUnit.Framework.Assert.AreEqual("refs/heads/x", rru.GetRemoteName());
        }
		private void UpdateCommand(RemoteRefUpdate u)
		{
			try
			{
				dest.WriteRef(u.GetRemoteName(), u.GetNewObjectId());
				newRefs.Put(u.GetRemoteName(), new ObjectIdRef.Unpeeled(RefStorage.LOOSE, u.GetRemoteName
					(), u.GetNewObjectId()));
				u.SetStatus(RemoteRefUpdate.Status.OK);
			}
			catch (IOException e)
			{
				u.SetStatus(RemoteRefUpdate.Status.REJECTED_OTHER_REASON);
				u.SetMessage(e.Message);
			}
		}
		// Ignore the deletion failure. We probably are
		// already failing and were just trying to pick
		// up after ourselves.
		private void DeleteCommand(RemoteRefUpdate u)
		{
			Ref r = Sharpen.Collections.Remove(newRefs, u.GetRemoteName());
			if (r == null)
			{
				// Already gone.
				//
				u.SetStatus(RemoteRefUpdate.Status.OK);
				return;
			}
			if (r.GetStorage().IsPacked())
			{
				packedRefUpdates.AddItem(u);
			}
			if (r.GetStorage().IsLoose())
			{
				try
				{
					dest.DeleteRef(u.GetRemoteName());
					u.SetStatus(RemoteRefUpdate.Status.OK);
				}
				catch (IOException e)
				{
					u.SetStatus(RemoteRefUpdate.Status.REJECTED_OTHER_REASON);
					u.SetMessage(e.Message);
				}
			}
			try
			{
				dest.DeleteRefLog(u.GetRemoteName());
			}
			catch (IOException e)
			{
				u.SetStatus(RemoteRefUpdate.Status.REJECTED_OTHER_REASON);
				u.SetMessage(e.Message);
			}
		}