summaryrefslogtreecommitdiff
path: root/pkg/gui/stagedview.go
diff options
context:
space:
mode:
authorIbrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>2018-12-08 18:50:45 +0300
committerIbrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>2018-12-08 18:50:45 +0300
commitd95367a707ffd121e78a07f6a0d1d030fc4ac6b9 (patch)
tree7869fcdffa7d781c2c90cae249c07935b9d62aa9 /pkg/gui/stagedview.go
parentMerge remote-tracking branch 'origin/master' into develop (diff)
downloadgitbatch-d95367a707ffd121e78a07f6a0d1d030fc4ac6b9.tar.gz
git add, git reset and git stash implementation added.
Diffstat (limited to 'pkg/gui/stagedview.go')
-rw-r--r--pkg/gui/stagedview.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/pkg/gui/stagedview.go b/pkg/gui/stagedview.go
index e3684f0..bae80bd 100644
--- a/pkg/gui/stagedview.go
+++ b/pkg/gui/stagedview.go
@@ -30,6 +30,41 @@ func (gui *Gui) openStageView(g *gocui.Gui) error {
return nil
}
+func (gui *Gui) resetChanges(g *gocui.Gui, v *gocui.View) error {
+ entity := gui.getSelectedRepository()
+ files, _, err := generateFileLists(entity)
+ if err != nil {
+ return err
+ }
+ if len(files) <= 0 {
+ return nil
+ }
+ _, cy := v.Cursor()
+ _, oy := v.Origin()
+ if err := files[cy+oy].Reset(git.ResetOptions{
+
+ }); err != nil {
+ return err
+ }
+ if err := refreshAllStatusView(g, entity); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (gui *Gui) resetAllChanges(g *gocui.Gui, v *gocui.View) error {
+ entity := gui.getSelectedRepository()
+ if err := entity.ResetAll(git.ResetOptions{
+
+ }); err != nil {
+ return err
+ }
+ if err := refreshAllStatusView(g, entity); err != nil {
+ return err
+ }
+ return nil
+}
+
// refresh the main view and re-render the repository representations
func refreshStagedView(g *gocui.Gui, entity *git.RepoEntity) error {
stageView, err := g.View(stageViewFeature.Name)