Get rid of obsolete yama profiles
This commit is contained in:
		
							parent
							
								
									a11961e930
								
							
						
					
					
						commit
						e209aea318
					
				@ -1,9 +1,13 @@
 | 
				
			|||||||
# Getting Started
 | 
					# Getting Started
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Currently, you are unlikely to want to interact much with `yama` except to create a pile for use with `datman`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Installation
 | 
					## Installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TODO `cargo install`
 | 
					TODO `cargo install`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Creating a Pile
 | 
					## Creating a Pile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Change to a desired pile directory and use `yama init`.
 | 
					Change to a desired pile directory and use `yama init`.
 | 
				
			||||||
@ -16,29 +20,10 @@ A `yama.toml` file such as the following will be created:
 | 
				
			|||||||
yama_version = "0.3.1"
 | 
					yama_version = "0.3.1"
 | 
				
			||||||
storage = "SqliteIndexedBloblog"
 | 
					storage = "SqliteIndexedBloblog"
 | 
				
			||||||
compression = 12
 | 
					compression = 12
 | 
				
			||||||
 | 
					 | 
				
			||||||
[profiles]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[remotes]
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This pile has compression enabled (with level 12), and is using SQLite-indexed bloblogs for storage. (No other storage mechanisms are currently recommended.)
 | 
					This pile has compression enabled (with level 12), and is using SQLite-indexed bloblogs for storage. (No other storage mechanisms are currently recommended.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Adding a Profile
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Add a profile by specifying the directory that you wish to back up. *Not sure if profile functionality will stay around forever; Datman may take over this role.*
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```toml
 | 
					 | 
				
			||||||
[profiles]
 | 
					 | 
				
			||||||
myprofile = "/home/xyz/files"
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Storing to a Profile
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Now use `yama store myprofile` to store the files in to the Yama pile.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This command will automatically use the latest pointer for this profile as the parent pointer (if one exists) so that incremental storage is performed.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Retrieving
 | 
					## Retrieving
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -46,10 +31,7 @@ Retrieving is currently a bit more difficult.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Use `yama debug lsp` to list the pointers stored in the database.
 | 
					Use `yama debug lsp` to list the pointers stored in the database.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Then use `yama retrieve-adv (pointer ID) dest-path` to retrieve files from the pile and put them into `dest-path`.
 | 
					Then use `yama retrieve-adv pointer-ID dest-path` to retrieve files from the pile (from pointer `pointer-ID`) and put them into `dest-path`.
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
TODO this guide still needs work. Once yama is done.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Check
 | 
					## Check
 | 
				
			||||||
 | 
				
			|||||||
@ -46,10 +46,7 @@ struct Opts {
 | 
				
			|||||||
enum PileCommand {
 | 
					enum PileCommand {
 | 
				
			||||||
    /// Initialise a yama pile in this directory.
 | 
					    /// Initialise a yama pile in this directory.
 | 
				
			||||||
    Init {},
 | 
					    Init {},
 | 
				
			||||||
    /// Store files into the yama pile, under a named profile.
 | 
					
 | 
				
			||||||
    Store {
 | 
					 | 
				
			||||||
        // TODO NEEDS ADVANCEMENT
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    /// Retrieve a pointer from the yama pile, using a named pointer name.
 | 
					    /// Retrieve a pointer from the yama pile, using a named pointer name.
 | 
				
			||||||
    Retrieve {
 | 
					    Retrieve {
 | 
				
			||||||
        /// Name of the pointer to retrieve.
 | 
					        /// Name of the pointer to retrieve.
 | 
				
			||||||
@ -66,6 +63,7 @@ enum PileCommand {
 | 
				
			|||||||
        #[clap(long)]
 | 
					        #[clap(long)]
 | 
				
			||||||
        num_workers: Option<u8>,
 | 
					        num_workers: Option<u8>,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Check this yama pile for corruption.
 | 
					    /// Check this yama pile for corruption.
 | 
				
			||||||
    Check {
 | 
					    Check {
 | 
				
			||||||
        #[clap(long)]
 | 
					        #[clap(long)]
 | 
				
			||||||
@ -80,6 +78,7 @@ enum PileCommand {
 | 
				
			|||||||
        #[clap(long)]
 | 
					        #[clap(long)]
 | 
				
			||||||
        shallow: bool,
 | 
					        shallow: bool,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Enter a debug prompt for manually operating on the yama pile.
 | 
					    /// Enter a debug prompt for manually operating on the yama pile.
 | 
				
			||||||
    Debug,
 | 
					    Debug,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -107,45 +106,6 @@ fn main() -> anyhow::Result<()> {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    match &opts.command {
 | 
					    match &opts.command {
 | 
				
			||||||
        PileCommand::Store { .. } => {
 | 
					 | 
				
			||||||
            /*let (pdesc, pile) = open_pile()?;
 | 
					 | 
				
			||||||
            let root_dir = pdesc
 | 
					 | 
				
			||||||
                .profiles
 | 
					 | 
				
			||||||
                .get(profile_name)
 | 
					 | 
				
			||||||
                .ok_or_else(|| anyhow!("Profile not found."))?;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            let new_pointer_name = get_pointer_name_at(profile_name.clone(), Utc::now());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            info!("Will save as {:?}", new_pointer_name);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if pile.read_pointer(&new_pointer_name)?.is_some() {
 | 
					 | 
				
			||||||
                bail!("{:?} already exists. Stopping.", new_pointer_name);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            let root_node = tree::scan(root_dir)?
 | 
					 | 
				
			||||||
                .ok_or_else(|| anyhow!("{:?} doesn't seem to exist.", root_dir))?;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            let mut parent: Option<String> = None;
 | 
					 | 
				
			||||||
            let prefix = get_pointer_parent_search_prefix(profile_name.clone());
 | 
					 | 
				
			||||||
            for pointer in pile.list_pointers()?.iter() {
 | 
					 | 
				
			||||||
                if pointer.starts_with(&prefix) {
 | 
					 | 
				
			||||||
                    match parent.as_ref() {
 | 
					 | 
				
			||||||
                        None => {
 | 
					 | 
				
			||||||
                            parent = Some(pointer.to_owned());
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                        Some(cur_parent) => {
 | 
					 | 
				
			||||||
                            if cur_parent < pointer {
 | 
					 | 
				
			||||||
                                parent = Some(pointer.to_owned());
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            store_fully(&pile, &root_dir, &new_pointer_name, root_node, parent)?;
 | 
					 | 
				
			||||||
             */
 | 
					 | 
				
			||||||
            unimplemented!()
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        PileCommand::Retrieve {
 | 
					        PileCommand::Retrieve {
 | 
				
			||||||
            pointer_name,
 | 
					            pointer_name,
 | 
				
			||||||
            subset,
 | 
					            subset,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user