Description
stash a file or a tree of files for later reuse - a bit like git stash
fstash alternatives and similar packages
Based on the "Utilities" category.
Alternatively, view fstash alternatives based on common mentions on social networks and blogs.
-
xlsx
Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. -
goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report. -
go-funk
A modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...) -
mc
Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. -
mergo
A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. -
beaver
Beaver is a real-time messaging server. With beaver you can easily build scalable in-app notifications, realtime graphs, multiplayer games, chat applications, geotracking and more in web applications and mobile apps. -
httpcontrol
Package httpcontrol allows for HTTP transport level control around timeouts and retries.
Get performance insights in less than 4 minutes
Do you think we are missing an alternative of fstash or a related project?
Popular Comparisons
README
fstash
Stash a file or a tree of files for later reuse - a bit like git stash
. Prebuilt binaries are available for Linux, Windows and Darwin. Just extract it somewhere inside your $PATH
.
It skips .git
directory.
test
Use this command:
$ go test -v *.go
usage story
Assume you write various applications and for each new project you add some initial files as the beginning skeleton. Also you replace some strings or expand some templates to add various information to the application, like author or other metadata.
This is one the of best fitting scenarios for using fstash. You create a stash from the skeleton files and then expand it whenever you are creating a new project. Also it is possible to provide the metadata to be injected into files.
As an example take a look at sample-stash
directory. In this directory there is a Go file named variables.go
. This file contains some variables that will be filled at compile time by Go compiler and come from build.sh
file. Also there are two other variables Author
and License
which will be filled when we expand this stash for a new project.
First let’s create the stash:
$ cd sample-stash/
$ fstash create -n newproject
Now let’s create a new project which skeleton will be created from that stash:
$ cd ~/Documents/
$ mkdir newapp
$ cd newapp/
$ fstash expand -n newproject variables='{"Author":"Kaveh","License":"MIT"}'
Last command expands the stash we created in previous step, into current directory. The part variables='{"Author":"Kaveh","License":"MIT"}'
indicates that variables.go
is a (Go) text template file and the provided JSON should be passed to it as model data.
Now the content of variables.go is:
package main
// build flags
var (
BuildTime string
CommitHash string
GoVersion string
GitTag string
)
// package info
const (
Author = "Kaveh"
License = "MIT"
)
Tada! :)
I hope you find this tool useful.
*Note that all licence references and agreements mentioned in the fstash README section above
are relevant to that project's source code only.