mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-22 20:54:59 +00:00
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace SourceGit.Models
|
|
{
|
|
public class BranchTrackStatus
|
|
{
|
|
public List<string> Ahead { get; set; } = new List<string>();
|
|
public List<string> Behind { get; set; } = new List<string>();
|
|
|
|
public bool IsVisible => Ahead.Count > 0 || Behind.Count > 0;
|
|
|
|
public override string ToString()
|
|
{
|
|
if (Ahead.Count == 0 && Behind.Count == 0)
|
|
return string.Empty;
|
|
|
|
var track = "";
|
|
if (Ahead.Count > 0)
|
|
track += $"{Ahead.Count}↑";
|
|
if (Behind.Count > 0)
|
|
track += $" {Behind.Count}↓";
|
|
return track.Trim();
|
|
}
|
|
}
|
|
|
|
public class Branch
|
|
{
|
|
public string Name { get; set; }
|
|
public string FullName { get; set; }
|
|
public string Head { get; set; }
|
|
public bool IsLocal { get; set; }
|
|
public bool IsCurrent { get; set; }
|
|
public bool IsDetachedHead { get; set; }
|
|
public string Upstream { get; set; }
|
|
public BranchTrackStatus TrackStatus { get; set; }
|
|
public string Remote { get; set; }
|
|
public bool IsUpsteamGone { get; set; }
|
|
|
|
public string FriendlyName => IsLocal ? Name : $"{Remote}/{Name}";
|
|
}
|
|
}
|