dmusican / elegit Goto Github PK
View Code? Open in Web Editor NEWA GUI client for people who want to learn Git.
License: MIT License
A GUI client for people who want to learn Git.
License: MIT License
Right now you can open a repository from GitHub that requires a username and password.
What if you don't need to enter that information?
Custom cells?
As of now, you can only add files... What if files get deleted!?
Use more colors in commit squares, especially to depict branches
Since the program tries to load the most recently opened repo, it breaks if that repo is no longer there.
Indicate whether a branch is strictly local, strictly remote, or local with a corresponding remote branch that it is tracking.
With other researchers on campus?
Use JUnit
This is low priority.
Leave comments everywhere
The button ends up saying something like "git st..."
If anything, it would be better to have the repo name get truncated. The button should be constant.
Add the ability to make a new branch or delete a branch.
I believe it has something to do with file deletion. However, if you use the command line to checkout to the branch and then back, the gui will work if you try again.
Things to put in the menu:
So, when you make a local commit, the push button might go from "Push (3)" to "Push (4)" or something
Found this while working in the GUI.
Exception in thread "Graph Layout (x = 689.0)" java.lang.IndexOutOfBoundsException: Index: 407, Size: 407
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:89)
at com.sun.javafx.collections.VetoableListDecorator.get(VetoableListDecorator.java:306)
at javafx.scene.Parent.computePrefHeight(Parent.java:997)
at javafx.scene.layout.Region.computePrefHeight(Region.java:1528)
at javafx.scene.Parent.prefHeight(Parent.java:918)
at javafx.scene.layout.Region.prefHeight(Region.java:1435)
at javafx.scene.Node.autosize(Node.java:2866)
at javafx.scene.Parent.layoutChildren(Parent.java:1105)
at javafx.scene.Group.layoutChildren(Group.java:226)
at javafx.scene.Parent.layout(Parent.java:1076)
at javafx.scene.Group.impl_computeLayoutBounds(Group.java:164)
at javafx.scene.Node$12.computeBounds(Node.java:3202)
at javafx.scene.Node$LazyBoundsProperty.get(Node.java:9285)
at javafx.scene.Node$LazyBoundsProperty.get(Node.java:9255)
at javafx.beans.binding.ObjectExpression.getValue(ObjectExpression.java:50)
at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:356)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.scene.Node$LazyBoundsProperty.invalidate(Node.java:9295)
at javafx.scene.Node.impl_layoutBoundsChanged(Node.java:3380)
at javafx.scene.Node.impl_notifyLayoutBoundsChanged(Node.java:3793)
at javafx.scene.Node.impl_geomChanged(Node.java:3744)
at javafx.scene.Parent.childBoundsChanged(Parent.java:1746)
at javafx.scene.Node.notifyParentOfBoundsChange(Node.java:3815)
at javafx.scene.Node.transformedBoundsChanged(Node.java:3777)
at javafx.scene.Node.localBoundsChanged(Node.java:3759)
at javafx.scene.Node.impl_geomChanged(Node.java:3745)
at javafx.scene.Parent.childVisibilityChanged(Parent.java:1759)
at javafx.scene.Node$5.invalidated(Node.java:1138)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
at javafx.beans.property.BooleanPropertyBase.access$000(BooleanPropertyBase.java:49)
at javafx.beans.property.BooleanPropertyBase$Listener.invalidated(BooleanPropertyBase.java:245)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
at edugit.treefx.Cell.lambda$new$4(Cell.java:84)
at edugit.treefx.Cell$$Lambda$95/1824667276.changed(Unknown Source)
at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.IntegerPropertyBase.fireValueChangedEvent(IntegerPropertyBase.java:106)
at javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:113)
at javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:147)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:95)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCellAndChildColumn(TreeLayout.java:112)
at edugit.treefx.TreeLayout$1.relocateCells(TreeLayout.java:66)
at edugit.treefx.TreeLayout$1.call(TreeLayout.java:45)
at edugit.treefx.TreeLayout$1.call(TreeLayout.java:31)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:745)
Perhaps use a right-click context menu in the working tree directory panel.
Perfect the animations.
If possible (when horizontal), add motion to the line when a new commit appears
Right now they don't have a "commit action"
If you branch isn't up-to-date and you push, nothing happens.
Deal with this better.
Linux, Windows
(with dropdown)
Encrypt login info and store it with the Java Preferences API.
Or something like that.
It comes up every now and then. From where?!
Current bug: owner = null.
Also: check for files that are both conflicting and modified!
would be nice
Caused by: org.eclipse.jgit.errors.CheckoutConflictException: Checkout conflict with files:
This was raised when I tried to checkout a new branch on a repo that presumably had conflicting files with another branch.
Handle it with grace.
Specifically:
TransportationError:
Uncaught NoOwnerInfoException:
When you checkout a remote branch, then name turns into a scary bunch of letters and numbers
Right now, if you have two files with the same name but different directories, the working tree will just show their name and you can't tell which is which.
Show parent directory maybe.
Local and remote panels will now be horizontal
To indicate directionality of push, commit, merge, fetch in relation to the local and remote panels.
instead of having an empty space where they are supposed to go
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.