Esempio n. 1
0
            public override void VisitEntry(TreeEntry treeEntry, GitIndex.Entry indexEntry, FilePath
				 file)
            {
                if (treeEntry == null)
                {
                    this._enclosing.indexOnlyEntriesVisited.AddItem(indexEntry.GetName());
                }
                else
                {
                    if (indexEntry == null)
                    {
                        this._enclosing.treeOnlyEntriesVisited.AddItem(treeEntry.GetFullName());
                    }
                    else
                    {
                        this._enclosing.bothVisited.AddItem(indexEntry.GetName());
                    }
                }
            }
			/// <exception cref="System.IO.IOException"></exception>
			public override void VisitEntry(TreeEntry m, GitIndex.Entry i, FilePath file)
			{
				if (m != null)
				{
					if (!file.IsFile())
					{
						this._enclosing.CheckConflictsWithFile(file);
					}
				}
				else
				{
					if (file.Exists())
					{
						this._enclosing.removed.AddItem(i.GetName());
						this._enclosing.conflicts.Remove(i.GetName());
					}
				}
			}
		/// <exception cref="System.IO.IOException"></exception>
		internal virtual void ProcessEntry(TreeEntry h, TreeEntry m, GitIndex.Entry i)
		{
			ObjectId iId = (i == null ? null : i.GetObjectId());
			ObjectId mId = (m == null ? null : m.GetId());
			ObjectId hId = (h == null ? null : h.GetId());
			string name = (i != null ? i.GetName() : (h != null ? h.GetFullName() : m.GetFullName
				()));
			if (i == null)
			{
				if (h == null)
				{
					updated.Put(name, mId);
				}
				else
				{
					if (m == null)
					{
						removed.AddItem(name);
					}
					else
					{
						updated.Put(name, mId);
					}
				}
			}
			else
			{
				if (h == null)
				{
					if (m == null || mId.Equals(iId))
					{
						if (HasParentBlob(merge, name))
						{
							if (i.IsModified(root, true))
							{
								conflicts.AddItem(name);
							}
							else
							{
								removed.AddItem(name);
							}
						}
					}
					else
					{
						conflicts.AddItem(name);
					}
				}
				else
				{
					if (m == null)
					{
						if (hId.Equals(iId))
						{
							if (i.IsModified(root, true))
							{
								conflicts.AddItem(name);
							}
							else
							{
								removed.AddItem(name);
							}
						}
						else
						{
							conflicts.AddItem(name);
						}
					}
					else
					{
						if (!hId.Equals(mId) && !hId.Equals(iId) && !mId.Equals(iId))
						{
							conflicts.AddItem(name);
						}
						else
						{
							if (hId.Equals(iId) && !mId.Equals(iId))
							{
								if (i.IsModified(root, true))
								{
									conflicts.AddItem(name);
								}
								else
								{
									updated.Put(name, mId);
								}
							}
						}
					}
				}
			}
		}
Esempio n. 4
0
		/// <exception cref="System.IO.IOException"></exception>
		private void VisitEntry(TreeEntry t1, TreeEntry t2, GitIndex.Entry i)
		{
			// assert t1 != null || t2 != null || i != null :
			// org.eclipse.jgit.JGitText.get().needsAtLeastOneEntry;
			// assert root != null : JGitText.get().needsWorkdir;
			if (t1 != null && t1.GetParent() == null)
			{
				t1 = null;
			}
			if (t2 != null && t2.GetParent() == null)
			{
				t2 = null;
			}
			FilePath f = null;
			if (i != null)
			{
				f = new FilePath(root, i.GetName());
			}
			else
			{
				if (t1 != null)
				{
					f = new FilePath(root, t1.GetFullName());
				}
				else
				{
					if (t2 != null)
					{
						f = new FilePath(root, t2.GetFullName());
					}
				}
			}
			if (t1 != null || t2 != null || i != null)
			{
				if (threeTrees)
				{
					visitor.VisitEntry(t1, t2, i, f);
				}
				else
				{
					visitor.VisitEntry(t1, i, f);
				}
			}
		}