marstr / baronial Goto Github PK
View Code? Open in Web Editor NEWgit-inspired command line budgeting application
License: GNU General Public License v3.0
git-inspired command line budgeting application
License: GNU General Public License v3.0
Creating the command rebase
will allow users to replay transactions on top of another branch. In cases where two people have ingested two independent accounts, this should be a very useful command.
Adding a command baronial merge {RefSpec}
should allow for users to reconcile differences between two transactions, and create a merge transaction.
Depends on marstr/envelopes#5
Version: v0.1.0-modified System: linux/amd64 Go: go1.12.5 Source Revision: 6b9ff93f8ffce67ea359beee4ab38ab36af3d96f
Create a branch using baronial branch myName
, then execute baronial checkout myName
.
The state of the index should be replaced with the state of the transaction pointed to by the branch specified.
The branch myName
isn't recognized, and tries to be interpreted directly as a commit ID.
FATA[0000] encoding/hex: invalid byte: U+006D 'm'
When providing rev-parse
a refspec that overshoots the end of transactions, there is an ugly panic that pops up. The cause of the panic should be fixed, and a formatted error should be printed instead.
Version: v0.1.0-modified System: linux/amd64 Go: go1.12.5 Source Revision: da783cf2009ac6f75a8cfa74529ca921ef70ec8e
If one is just trying to figure out what options they have for checking out, and they'd like to know what branches are present, there should be a simple command for this. The syntax baronial branch
seems sufficient.
When running baronial log
in a terminal, it is super annoying to have to remember to pipe the result into less
or Out-Host
yourself. This command should be able to detect that it is connected to an interactive session and do this for you.
When it is not connected to an interactive session, paging shouldn't be used.
Version: v0.1.0-modified System: linux/amd64 Go: go1.12.5 Source Revision: 05632a81f6a19a425a115968ece5c855434c5390
Stage transactions, then execute baronial commit
.
Commit updates the branch currently checked-out.
Commit updates current.txt
directly, putting the user back in headless mode.
After committing a transaction, if you run baronial show <id>
on that first transaction id, you get the following error message:
FATA[0000] open C:\Users\flub\finances/.baronial/objects/0000000000000000000000000000000000000000.json: The system cannot find the file specified.
Version: v0.2.0-modified System: windows/amd64 Go: go1.15.5 Source Revision: 26f4536fb5d055965e1f30acae1be8ad16438d25
I tried to commit a transaction - but I accidentally used the "-a" flag instead of the "-t" flag to indicate the "Actual Time" of the transaction.
An error message indicating which argument was invalid, what it got, what it expected, that kinda thing.
Error text that looks like its straight from the Go libraries error
value showed up. Super unhelpful to a user, caused the author of this tool some pause, imagine what it would be like for other people.
FATA[0000] unable to find balance in text
Tags are like branches, but immutable. A command should be available for creating a new tag. The syntax baronial tag {name} [RefSpec]
where HEAD is the implict RefSpec
feels appropriate.
At time of writing, make.bat
only productes cross-compiled binaries. If you want to actually play around with something distro-specific (working with the packaging, for example.) You'd have to manually build the docker images.
Version: v0.1.1-modified System: windows/amd64 Go: go1.12.7 Source Revision: af91355be2f7c0d8e5ec5ea2843d2964b7ab0ff9
baronial log .\accounts\my_bank\myaccount\
The transactions impacting my account should have been printed.
No transactions were found.
When I rearranged the input to mimic a unix-based command, i.e.
baronial log accounts/my_bank/myaccounts
I got the expected results.
Version: v0.1.0-modified System: windows/amd64 Go: go1.12.7 Source Revision: 05632a81f6a19a425a115968ece5c855434c5390
baronial checkout {a transactionid}
The index should have been updated to hold the values of the state after a particular transaction.
The operation failed with some error text.
WARN[0000] checking out a RefSpec that isn't a branch can cause data loss FATA[0000] remove {cash.txt location}: The process cannot access the file because it is being used by another process.
Version: v0.2.0-alpha-modified System: linux/amd64 Go: go1.14.2 Source Revision: 16abc7be5a5ad17a0aeb0f1a7815f5e13a67bd1b
baronial init
mkdir accounts/checking
mkdir -p budget/food/grocery
baronial credit 10.89 ./accounts/checking/ ./budget/food/grocery/
baronial diff
A summary of the 10.89 being added to the checking account and grocery budget should have been printed.
An error message was spat out, complaining that 0000000000000000000000000000000000000000.json doesn't exist.
ERRO[0000] open /home/marstr/.tmp/tmp.7w3FkcD1mq/.baronial/objects/0000000000000000000000000000000000000000.json: no such file or directory Error: exec: not started Usage: baronial diff [refspec] [refspec] [flags]Flags:
-h, --help help for diffexec: not started
Version Information:
Version: v0.1.2-modified
System: windows/amd64
Go: go1.13.3
Source Revision: c6011b0
When you provide any arguments to the diff
command, the following stack trace pops up:
[signal 0xc0000005 code=0x0 addr=0x18 pc=0x82633c]
goroutine 1 [running]:
c000076010, 0xc00008c090, 0x28, ...)
C:/Users/marstr/go/pkg/mod/github.com/marstr/[email protected]/persist/refspec.go:164 +0x18c
github.com/marstr/envelopes/persist.RefSpecResolver.Resolve(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9e8420, 0xc000076010, 0xc00008c090, 0x28, ...)
C:/Users/marstr/go/pkg/mod/github.com/marstr/[email protected]/persist/refspec.go:59 +0xac
github.com/marstr/baronial/cmd.diffCmd.processArgs(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
C:/code/github.com/marstr/baronial/cmd/diff.go:73 +0x135
github.com/spf13/cobra.(*Command).ValidateArgs(...)
C:/Users/marstr/go/pkg/mod/github.com/spf13/[email protected]/command.go:880
github.com/spf13/cobra.(*Command).execute(0xc0002a6000, 0xc000053a80, 0x1, 0x1, 0xc0002a6000, 0xc000053a80)
C:/Users/marstr/go/pkg/mod/github.com/spf13/[email protected]/command.go:735 +0x5e0
github.com/spf13/cobra.(*Command).ExecuteC(0xcf22a0, 0x43e3a1, 0xcb45a0, 0xc00004ff50)
C:/Users/marstr/go/pkg/mod/github.com/spf13/[email protected]/command.go:852 +0x2f1
github.com/spf13/cobra.(*Command).Execute(...)
C:/Users/marstr/go/pkg/mod/github.com/spf13/[email protected]/command.go:800
github.com/marstr/baronial/cmd.Execute()
C:/code/github.com/marstr/baronial/cmd/root.go:47 +0x38
main.main()
C:/code/github.com/marstr/baronial/main.go:21 +0x27
I still think that just baronial diff
is the most important command, but this should get fixed up before v0.1.3
Fedora 31 is slated to be released in late October, 2019. At time of writing, baronial is built for Fedora 29 and 30. Fedora 29 should be dropped, and Fedora 31 should be adopted.
Version: v0.1.1-modified System: windows/amd64 Go: go1.12.5 Source Revision: 64e63948e75a5205c535d2dd0a983e650acaed8a
Execute the following command:
baronial show HEAD
A summary of the most recent committed transaction on the currently checked out branch should have been printed.
An error message is returned, because it can't recognize the letter 'H' as a hex digit.
FATA[0000] encoding/hex: invalid byte: U+0048 'H'
Azure Pipelines can't seem to handle modules for some reason. I've got to figure something out.
Syntax should be something like baronial branch {name}
If one types baronial tags
it should print out the name of all tags that are noted in the repository.
Version: v0.1.1-modified System: windows/amd64 Go: go1.12.7 Source Revision: e36b2587bf45fd06a2863ec5eb5ad57c0f2cb51d
Run baronial init
.
Baronial should create a repository using the default branch.
The repository is created in headless mode.
This will be a simpler case of rebase
, and is scoped to applying the impacts of a transaction onto a different branch.
Related to #36.
Run baronial commit -h
or any other command that automatically determines a transaction's amount. The result will always be zero.
Environment information:
Version: v0.1.0-modified
System: windows/amd64
Go: go1.12.5
Source Revision: 18100832d695898189fb7b8d8d47371ed91ae6ed
Similar to how an RPM spec exists in the packaging directory today, I'd like to have creating Debian packages be part of each master
build. I really like the way I have it setup for Red Hat based distributions to also produce a couple of container images, and to use those to build the actual binary and source packages.
The hope is to make it super trivial for folks who don't have Go installed on their Debian/Ubuntu systems, or don't want to build this project from source to try the project.
To call this item complete, we should be able to build both source and binary packages as part of each Azure DevOps build.
Version: v0.1.1-modified System: windows/amd64 Go: go1.12.7 Source Revision: e36b2587bf45fd06a2863ec5eb5ad57c0f2cb51d
On a computer that freshly has OneDrive installed, but without any of the files downloaded yet, I ran baronial bal
.
While it might take a while, I expect baronial bal
to behave as normal and start the requests for all of the files it needs to be pulled.
The context passed to it expired after a few seconds, and it terminated. Note, I ran baronial log
and it behaved as expected, it just took half an hour to pull down all of history.
Version: v0.1.1-modified System: windows/amd64 Go: go1.12.7 Source Revision: af91355be2f7c0d8e5ec5ea2843d2964b7ab0ff9
Clone this repository onto a Windows machine that does not have a perl install, and execute .\make.bat install
make.bat
should fail and report that perl must be installed to continue.
perl is invoked, but the installation continues anyway. This can lead to system information being reported that doesn't capture version/revision information, or even worse garbage being used for those values.
[Copy&Paste the error message that you got here.]
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.