Gitextensions: Funktionsanfrage: Zweigbaumansicht

Erstellt am 27. Juli 2011  ·  29Kommentare  ·  Quelle: gitextensions/gitextensions

Es wäre schön, eine Baumansicht lokaler und entfernter Zweige zu haben, um einige davon ausblenden zu können. In unserem Repository haben wir Branches mit Namen wie:
topic/[module_name]/[task_no], public/[user_id]/[whatever] und die Möglichkeit, einige Zweige zu verstecken oder anzuzeigen, wären sehr hilfreich.
Die Baumkonfiguration könnte im Unterverzeichnis .git gespeichert werden, um verschiedene Zweige in verschiedenen Repositories sehen zu können.
Der Baum könnte Kontrollkästchen haben, um einige Zweige anzuzeigen/auszublenden, und durch Klicken auf das Blatt könnte zum ausgewählten Zweig im Revisionsdiagramm gesprungen werden.

Ich habe eine ähnliche Funktion in einigen Git-UIs für MAC gesehen und es war sehr hilfreich.

user experience feature request

Alle 29 Kommentare

So ähnlich
Tower
Überprüfen Sie hier weitere Screenshots http://www.git-tower.com/

+1 für ein Navigationsfenster wie oben gezeigt. Für mich wäre es ein großer Gewinn, mit der linken Maustaste auf einen Zweig oder ein Tag zu klicken und zu sehen, wie das Hauptraster die Auswahl zum entsprechenden Commit verschiebt.

Ich habe einige Arbeiten dazu begonnen.

Jeder Input ist erwünscht.

@bergerjac Ich habe mir deine Arbeit angesehen. Es sieht so aus, als ob versucht wird, das komplette Git-Tower-Layout zu modellieren (insbesondere das Status / Commits / Browse-Tab-Steuerelement). Ich denke, es ist einfacher, sich zuerst auf das Bedienfeld "Zweige / Tags usw." auf der linken Seite zu konzentrieren, was einfach in das aktuelle GitExt-UI-Layout passt (man könnte eine neue Schaltfläche ähnlich dem "Toggle Split View Layout" hinzufügen, um das anzuzeigen oder auszublenden Tafel).

Weitere Bemerkungen:

  • Linksklick auf einen Baum überprüft den Ast sofort. Das ist für meinen Geschmack zu viel Action. Normalerweise wählt ein Linksklick ein Element aus. Ich würde außer dem Linksklick, um den Zweig im Hauptraster auszuwählen (siehe Kommentar oben). Der Checkout könnte per Rechtsklick erfolgen, da Sie es bereits implementiert haben.
  • Warum verwenden Sie eine benutzerdefinierte Baumansicht? Ich persönlich fühle mich mit dem eingebauten TreeView in Winforms recht wohl. Dies würde Sie auch dazu bringen, kostenlos zu scrollen, wenn die Liste groß ist :). Beispielnutzung des TreeViews hier: https://github.com/feinstaub/gitextensions/commits/topic_tree_in_settings_dialog

@bergerjac Ich denke, das linke Bedienfeld wird in GitEx sehr nützlich sein, aber ich denke nicht, dass wir Registerkarten im Hauptfenster wie in GitTower klonen sollten.
Ich denke, wir haben ein gutes Commit-Fenster anstelle der Registerkarte „Status“ und der Inhalt der Registerkarte „Durchsuchen“ wird bereits im Hauptfenster angezeigt.

Es sieht so aus, als ob versucht wird, das komplette Git-Tower-Layout zu modellieren (insbesondere das Status / Commits / Browse-Tab-Steuerelement).

Für den Prototyp habe ich einfach ihr allgemeines Layout genommen und es in WinForms konvertiert. Auf jeden Fall nicht das endgültige Layout.

Linksklick auf einen Baum überprüft den Ast sofort

Dies war für schnelles Prototyping. (Ich wollte DoubleClick verwenden, aber es funktioniert nicht als Standard-Button-Ereignis.)

Warum verwenden Sie eine benutzerdefinierte Baumansicht?

Hauptsächlich, um eine individuellere Ansicht zu haben (z. B. Kopfzeilen und Abstände). Ich denke jedoch, dass Sie sehr darauf hinweisen, dass die WinForms-Baumansicht großartige Funktionen bieten wird.

Ich denke, dass das linke Bedienfeld in GitEx sehr nützlich sein wird, aber ich denke nicht, dass wir Registerkarten im Hauptfenster wie in GitTower klonen sollten.
Ich denke, wir haben ein gutes Commit-Fenster anstelle der Registerkarte „Status“ und der Inhalt der Registerkarte „Durchsuchen“ wird bereits im Hauptfenster angezeigt.

Gute Argumente.

Also, denkt ihr, es wäre lohnenswert, ein Panel auf der linken Seite mit Folgendem zu implementieren:

  • Branches, Tags, Remotes, ?Stashes?, ??
  • Split-View-Layout umschalten
  • Standard-WinForms-Baumansicht
  • Kontextmenüs
  • Doppelklicken Sie auf einen Zweig, um den Zweig auszuchecken
  • Doppelklicken Sie auf ein Stash, um es auf das Stash anzuwenden

Branches, Tags, Remotes, ?Stashes?, ??

und Submodule

Zweige und Tags sollten das Baumlayout für Namen mit / unterstützen, wie z. B. dev/shopping_cart im Screenshot

Übrigens haben die meisten Git-Clients für Mac dieses linke Bedienfeld:

+1 für die Doppelklickfunktion (die anderen sind auch in Ordnung)

Der Fortschritt kann hier verfolgt werden (im Zweig _left-panel/-main_).

Wie in der README-Datei angegeben, bin ich nicht begeistert von _Tags_ und _Submodules_, daher könnte ein anderer Mitwirkender diese Teile (oder einen Einblick in die UX) beschleunigen.

Es sieht schon sehr schön aus! Gute Arbeit!

Das Update sieht super aus. Ich mag auch die Anzahl der Elemente in Klammern der Node-Node-Labels.

Genial! Funktioniert das auf Mono? Ich werde es testen

Gute Arbeit!

Genial. Dies würde auch #1285 über das Filtern von Zweigen obsolet machen.

aktualisieren

Der größte Teil des Frameworks für Remotes ist vollständig.

Es gibt noch viele kleine Dinge, die erledigt werden müssen ( GitHub-Probleme , Code-TODOs und NotImplementedException ). Allerdings kann ich nicht so weitermachen wie früher.

Ich werde mich anderen Projekten zuwenden.

Abgesehen davon denke ich, dass ich eine solide Grundlage dafür geschaffen habe, was GitEx werden könnte (mit dem linken Bedienfeld). Leider konnte ich keine Basis-UI für Benachrichtigungen implementieren; Die Klassenstrukturen und Logik haben jedoch einen guten Start. _left-panel_ Branches sind definitiv in einem Fork-fähigen Zustand. (Ich finde, dass die Klassen gut gestaltet und gründlich kommentiert sind.)

@KindDragon das ist interessant. Eine Sache, die GitEx (zusätzlich zur Linux-Unterstützung) auszeichnen könnte, ist die Implementierung der Drag-Drop- und Kontextaktionen. SourceTree (v0.9.0.5) unterstützt derzeit KEIN Drag-Drop für seine Knoten.

Könnten Sie Änderungen am GitExtensionsTest-Submodul pushen? Commit 7712ba92e36702e29f5a7313e94b4c8cb802fbbf fehlt.

+1

+1

+1

Sehen Sie sich den Zweig auf der linken Seite an

Am Montag, 28. September 2015, 8:52 Uhr schrieb EbenZhang [email protected] :

+1


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/gitextensions/gitextensions/issues/538#issuecomment -143736057
.

Verzeihung. Dachte, dies sei ein neues Problem aus meiner E-Mail.

+1

+1

Falls jemand mal testen möchte, hier habe ich eine Freigabe für den linken Baumbereich.

image

Getestet (eigentlich sogar funktioniert) schon seit einiger Zeit mit Version von @EbenZhang (meine aktuelle Version ist ein Merge zwischen seiner und meiner eigenen basierend auf Master). Das linke Panel ist ziemlich stabil, kann seine Implementierung uneingeschränkt empfehlen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen