Project

tartlet

0.0
No commit activity in last 3 years
No release in over 3 years
Tartlet is a command line utility that can be called with a single command (compress or extract) and a list of files to run tar without the headache.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 0.9.2
>= 0

Runtime

~> 1.2.6
 Project Readme

Tartlet

A wrapper for tar that provides sensible defaults

Description

Tar horror stories. Everyone has one. You used the wrong flags and accidentally overwrote one of your source files without a backup. Or you extracted a tarball over your current directory and deleted half the updates to your project. You spent 30 minutes scouring Google for the right set of flags to extract a zipped tarball instead of an unzipped one. Why are there so many flags!?!

Enter Tartlet. Tartlet is a small commandline wrapper around tar that handles the obnoxious flags for you. Need to extract an archive?

tartlet extract thinmints.tar.gz

Mmmmmmm. Delicious extracted cookies. Need to compress a set of files?

tartlet compress butter sugar flour --output cookie

Mmmmmmmmm. Chocolaty compressed cookies. Tartlet makes it easy to make archives (and apparently I'm craving cookies- please hold).

Installation

Install via gem as:

$ gem install tartlet

Usage

Tartlet takes a command and then a list of files, with optional flags thrown anywhere.

Commands

  • compress - takes a list of files, and by default compresses them into gzipped tarball archive.tar.gz

    ex:

      $ tartlet compress foo bar baz
    
  • extract - takes a single zipped tarball and extracts it into the current directory

    ex:

      $ tartlet extract archive.tar.gz
    

Options

Options can be placed anywhere in the command, eg. tartlet -d compress -o target file1 file2 is the same as tartlet compress file1 file2 -d -o target which is the same as tartlet compress -d file1 -o target file2. I prefer to put -d before the command, -t after the command but before the files, and -o at the very end, but put them in whatever order makes sense to you.

  • -o VALUE, --output VALUE - instead of using the default output (archive.tar.gz or the current directory), direct output to VALUE. For compression archive name, tartlet will automatically append the proper file suffix (.tar or .tar.gz) if it is not already provided.

    ex:

      # extract contents of archive into folder 'dirname'
      $ tartlet extract archive.tar.gz -o dirname
    
      # compress list of files into tarball 'files.tar.gz'
      $ tartlet compress foo bar baz -o files.tar.gz
      -- or --
      $ tartlet compress foo bar baz -o files
    
  • --tarball, -tar, or -t - treat tarball as not-gzipped, e.g. archive.tar (vs the default assumption of a gzipped tarball, eg archive.tar.gz)

    ex:

      # extract contents of archive into current directory
      $ tartlet extract --tarball archive.tar
    
      # compress files into non-zipped tarball
      $ tartlet compress --tarball foo bar baz
    
  • --dry-run, --dry, -d - don't execute any commands, simply print to stdout the tar command that would be produced by tartlet

    ex:

      $ tartlet --dry compress foo bar baz --tarball -o files
      tar -cf files.tar foo bar baz
    
      $ tartlet extract --dry-run lotsoffiles.tar.gz -o safefolder
      tar -xzf lotsoffiles.tar.gz -C safefolder
    

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

TODO Features:

  • Clobber Checks:

    • compress - Make sure that the target archive doesn't already exist before creating the file.

    • extract - Make sure that the files in the tarball don't already exist in the output directory.

  • Multiple Extract:

    Allow a list of files to extract, and extract all of them into separate directories

  • RDoc Comments:

    Comments. Comments everywhere.