diff options
| -rw-r--r-- | git-checkout-store/main.go | 61 | ||||
| -rw-r--r-- | utils/utils.go | 63 | 
2 files changed, 65 insertions, 59 deletions
| diff --git a/git-checkout-store/main.go b/git-checkout-store/main.go index c2588e4..335bd02 100644 --- a/git-checkout-store/main.go +++ b/git-checkout-store/main.go @@ -3,73 +3,16 @@ package main  import (  	"bytes"  	"fmt" -	"io/ioutil" -	"log" +	"github.com/teddywing/git-checkout-history/utils"  	"os"  	"os/exec" -	"os/user" - -	"gopkg.in/yaml.v2"  ) -type BranchList struct { -	Branches []string -} - -func getHomeDir() string { -	usr, err := user.Current() -	if err != nil { -		log.Fatal(err) -	} -	return usr.HomeDir -} - -func OpenRCFile() (f *os.File, err error) { -	file_path := getHomeDir() + "/.git-checkout-history" -	if _, err := os.Stat(file_path); os.IsNotExist(err) { -		return os.Create(file_path) -	} else { -		return os.Open(file_path) -	} -} - -func store(branch string) { -	branchList := BranchList{} -	rcfile, err := OpenRCFile() -	if err != nil { -		log.Fatal(err) -	} -	rcfile.Close() -	 -	file_path := getHomeDir() + "/.git-checkout-history" -	data, err := ioutil.ReadFile(file_path) -	if err != nil { -		log.Fatal(err) -	} -	 -	err = yaml.Unmarshal(data, &branchList) -	if err != nil { -		log.Fatal(err) -	} -	 -	branchList.Branches = append([]string{branch}, branchList.Branches...) -	 -	data, err = yaml.Marshal(&branchList) -	if err != nil { -		log.Fatal(err) -	} -	 -	err = ioutil.WriteFile(file_path, data, 0644) -	if err != nil { -		log.Fatal(err) -	} -} -  func main() {  	args := os.Args[1:]  	if len(args) > 0 { -		store(args[0]) +		utils.Store(args[0])  		cmd := exec.Command("git", "checkout", args[0])  		var out bytes.Buffer diff --git a/utils/utils.go b/utils/utils.go new file mode 100644 index 0000000..ebb67de --- /dev/null +++ b/utils/utils.go @@ -0,0 +1,63 @@ +package utils + +import ( +	"io/ioutil" +	"log" +	"os" +	"os/user" + +	"gopkg.in/yaml.v2" +) + +type BranchList struct { +	Branches []string +} + +func getHomeDir() string { +	usr, err := user.Current() +	if err != nil { +		log.Fatal(err) +	} +	return usr.HomeDir +} + +func OpenRCFile() (f *os.File, err error) { +	file_path := getHomeDir() + "/.git-checkout-history" +	if _, err := os.Stat(file_path); os.IsNotExist(err) { +		return os.Create(file_path) +	} else { +		return os.Open(file_path) +	} +} + +func Store(branch string) { +	branchList := BranchList{} +	rcfile, err := OpenRCFile() +	if err != nil { +		log.Fatal(err) +	} +	rcfile.Close() +	 +	file_path := getHomeDir() + "/.git-checkout-history" +	data, err := ioutil.ReadFile(file_path) +	if err != nil { +		log.Fatal(err) +	} +	 +	err = yaml.Unmarshal(data, &branchList) +	if err != nil { +		log.Fatal(err) +	} +	 +	branchList.Branches = append([]string{branch}, branchList.Branches...) +	 +	data, err = yaml.Marshal(&branchList) +	if err != nil { +		log.Fatal(err) +	} +	 +	err = ioutil.WriteFile(file_path, data, 0644) +	if err != nil { +		log.Fatal(err) +	} +} | 
