Vixen
feb85697
csharp
public record class SourceControlDiff

What changed in one file, at one revision or since the last commit.

Read the guide page for this →

Remarks

⚠ The flag is the whole design decision, and it is the one the issue said had to be made first. Most of a game project is not text: a diff line for a .png, a mesh or a compiled .vxscene is a promise the viewer breaks the first time somebody uses it. So a binary asset's diff is not a patch with the bytes elided — it is one honest sentence saying it is binary and how its size moved, which is what git's own --stat says about one and is the most any viewer can say without a per-format comparer.

⚠ And that is why IsText is a field rather than something a reader infers. A panel that decided by looking for a leading @@ would call an empty diff binary, and a text file whose only change is a trailing newline produces exactly that.

Fields and properties (2)

  • public bool IsText

    Whether Text is a patch or a sentence about one.

  • public string Text

    The unified diff, or what there is to say when there cannot be one.

Methods (1)

  • public SourceControlDiff(bool IsText, string Text)

    What changed in one file, at one revision or since the last commit.

Used by (11)

  • AssetRevisionsVixen.Editor.App
  • CancellingVixen.Editor.App.Tests
  • FakeVixen.Editor.App.Tests
  • FixedVixen.Editor.App.Tests
  • GitSourceControlVixen.Editor.App
  • GitSourceControlTestsVixen.Editor.App.Tests
  • ISourceControlVixen.Editor.Assets
  • ISourceControlProviderVixen.Editor.App
  • ProjectSourceControlVixen.Editor.App
  • RecordingVixen.Editor.App.Tests
  • RevisionsViewVixen.Editor.App