diff options
author | n-peugnet <n.peugnet@free.fr> | 2021-10-18 16:31:54 +0200 |
---|---|---|
committer | n-peugnet <n.peugnet@free.fr> | 2021-10-18 16:34:02 +0200 |
commit | 65d747171ecc4dab437aecb2573e6d25c2922730 (patch) | |
tree | 362bce97f26f9218c3584fb58a789f825c072aae | |
parent | bd1681cfe3554075b1b0827563b76c6b95bf8b94 (diff) | |
download | dna-backup-65d747171ecc4dab437aecb2573e6d25c2922730.tar.gz dna-backup-65d747171ecc4dab437aecb2573e6d25c2922730.zip |
update todo and add CLI optionswork/export
-rw-r--r-- | TODO.md | 24 | ||||
-rw-r--r-- | main.go | 16 |
2 files changed, 28 insertions, 12 deletions
@@ -9,14 +9,26 @@ priority 1 - [x] better tests for `(*Repo).Commit` - [x] remove errored files from `fileList` - [ ] export in `dir` format - - [ ] add superblock. - - [ ] add version blocks. + - [ ] add superblock (this is related to the `init` cmd). + - [x] add version blocks (these are filled with the recipe and files if + there is space left) - [x] command line with subcommands (like, hmm... git ? for instance). -- experiences: - - [ ] compare against UDF (this will not be possible, unless we use a real - CR-ROM) - - [ ] make multiple repo versions with multiple parameters +- [ ] experiences: + - [x] compare against UDF (this will not be possible, unless we use a real + CR-ROM) (we used git storage for an approximation) + - [x] make multiple repo versions with multiple parameters - smaller block size + - [ ] use export in bench to compare the performance when all chunks are + compressed at once. +- [ ] `init` command to initialize repo + - [ ] remove `chunkSize` parameter from all commands, keep it only on `init` + - [ ] `init` would save the important parameters of the repo, such as: + - the bloc size + - the delta algorithm + - the compression algorithm + - the sketch parameters + - ...and almost every value of the `NewRepo` constructor + - [ ] these parameters would be loaded in the `*Repo.Init()` function priority 2 ---------- @@ -40,10 +40,12 @@ const ( ) var ( - logLevel int - chunkSize int - format string - trackSize int + logLevel int + chunkSize int + format string + poolCount int + trackSize int + tracksPerPool int ) var Commit = command{flag.NewFlagSet("commit", flag.ExitOnError), commitMain, @@ -79,7 +81,9 @@ func init() { s.Flag.IntVar(&chunkSize, "c", 8<<10, "chunk size") } Export.Flag.StringVar(&format, "format", "dir", "format of the export (dir, csv)") + Export.Flag.IntVar(&poolCount, "pools", 96, "number of pools") Export.Flag.IntVar(&trackSize, "track", 1020, "size of a DNA track") + Export.Flag.IntVar(&tracksPerPool, "tracks-per-pool", 10000, "number of tracks per pool") } func main() { @@ -138,10 +142,10 @@ func exportMain(args []string) error { r := repo.NewRepo(source, chunkSize) switch format { case "dir": - exporter := dna.New(dest, 96, trackSize, 10000) + exporter := dna.New(dest, poolCount, trackSize, tracksPerPool) r.Export(exporter) case "csv": - fmt.Println("csv") + fmt.Println("not yet implemented") default: logger.Errorf("unknown format %s", format) } |