dotfm

My dotfile manager
git clone git://src.gearsix.net/dotfm
Log | Files | Refs | Atom | README | LICENSE

CHANGELOG (5110B)


      1 
      2 <details><summary><h3 style="display: inline;">CHANGELOG</h3></summary>
      3 
      4 **v2.4.1**
      5 
      6 - bugfix
      7 
      8 **v2.4.0**
      9 
     10 - added shorthand commands names
     11 - added 'link, ln' command
     12 - updated man
     13 - fix to valid command names
     14 
     15 **v2.3.1**
     16 
     17 - Bugfix
     18 
     19 **v2.3.0**
     20 
     21 - Added aliases for all commands:
     22   - install, in
     23   - edit, ed
     24   - list, ls
     25   - remove, rm
     26   - update, up
     27 - Updated README
     28 
     29 **v2.2.2**
     30 
     31 - Bugfix when a blank line is found in the installed.csv file
     32 - Bugfix when the installed.csv directory does not exist on first run
     33 - Bugfix to behaviour when installing a dotfile source path that matches it's destination path
     34 - Bugfix when using `~` in the path of a prompted install location
     35 
     36 **v2.2.1**
     37 
     38 - minor fix to _Makefile#link_
     39 
     40 **v2.2.0**
     41 
     42 - total refactored on most of the code to tidyup some mess that'd been in for a while
     43 	- logging is more consistent
     44 	- no more duplicates in the installed.csv file
     45 	- overall behaviour is more consistent and tidy
     46 - added sfeed to known dotfiles
     47 - added txtnish to known dotfiles
     48 - added '-s', '--skip' option, which will skip any prompts and use pre-defined defaults if available
     49 - user is now prompted for a dotfile location even if dotfm knows it (found myself wanting to use install init.vim as ~/.vimrc), the pre-defined location is used as a default
     50 
     51 ---
     52 
     53 **v2.1.2**
     54 
     55 - added `-p` to mkdir calls in Makefile to avoid failure when path exists
     56 - tidied up logging
     57 - bugfix when returned input prompt value is empty
     58 
     59 ---
     60 
     61 **v2.1.1**
     62 
     63 - updated the CHANGELOG
     64 - `dotfm remove` now calls `rm -iv` (previously `rm -v`), to be safe(r).
     65 
     66 ---
     67 
     68 **v2.1.0**
     69 
     70 - added the `dotfm update` command for updating a dotfile's source location
     71 
     72 ---
     73 
     74 **v2.0.5**
     75 
     76 - added banner.svg
     77 
     78 ---
     79 
     80 **v2.0.4**
     81 
     82 - updated the README & man file
     83 - formatting fixed in the README
     84 
     85 ---
     86 
     87 **v2.0.3**
     88 
     89 - compressed logo.png
     90 
     91 ---
     92 
     93 **v2.0.2**
     94 
     95 - updated LICENSE to ISC
     96 - added awesome logo from [Marta Dias](https://www.instagram.com/marta.dias.z/)
     97 - minor fix in Makefile
     98 
     99 ---
    100 
    101 **v2.0.1**
    102 
    103 - updated the "list" command to use unix system commands: printf, cat, column. Provides a neater, more reliable printout and makes the implementation tidier.
    104 - DOTFM CSV FILE lines are now terminated with '\n' (previously '\r\n')
    105 - Install & Uninstall (with Makefile) will now prompt for overwriting & removing files
    106 
    107 ---
    108 
    109 **v2.0.0**
    110 
    111 - The quiet arg works properly now
    112 - Added code comment header documenting the dotfm functions 
    113 - Now the DOTFILE arg can specify multiple dotfiles
    114 - updated the README
    115 - added a manpage (src/dotfm.1), which is installed with dotfm in the Makefile
    116 
    117 _DOTFM CSV FILE_
    118 
    119 dotfm now tracks dotfiles that it installs symlinks for in a file. This file is currently stored at _~/.local/dotfm/installed.csv_. The file has the following structure:
    120 
    121 	<location>,<alias>,<alias>,....
    122 
    123 **location** is the location dotfm installed the dotfile to (the symlink pointing to the source dotfile).
    124 
    125 **alias** these are strings that dotfm uses to recognise the related dotfile (e.g. you could use "brc" as an alias for your bashrc and call "dotfm edit brc")
    126 
    127 _KNOWN DOTFILES_
    128 
    129 _DOTFILE LOCATIONS_ has been refactored into _KNOWN DOTFILES_, it follows the same structure as the DOTFM CSV FILE (see above).
    130 
    131 The purpose of this array is now to act as a knowledge base for all the location to install dotfiles to and any names that they sohuld be recognised under that dotfm recognises.
    132 
    133 If a dotfile is within this array, dotfm will know where to install the relevant dotfile automatically and allow you to call it with the preset aliases. Don't be scared to modify this array to modify this to your hearts content.
    134 
    135 If a dotfile is not present within this array then you'll be prompted for the install location of the dotfile and any aliases you want to allow dotfm to recognise it under.
    136 This won't be added to KNOWN DOTFILES, but _will_ be appended to DOTFM CSV FILE.
    137 
    138 _dotfm init_
    139 
    140 This is a function that runs at the start of every runtime, it checks if the _DOTFM CSV FILE_ is present:
    141 If it is, it's contents are loaded into memory;
    142 If it isn't, then the user is prompted where they would like to create it and the file is created with itself as the first entry.
    143 
    144 _dotfm install_
    145 
    146 Now if a dotfile is not recognsied in the KNOWN\_DOTFILES array, the user will be prompted asking where to install it to and what aliases to recognise it under.
    147 
    148 Multiple dotfiles can be passed to _dotfm install_, e.g.
    149 
    150 	dotfm install ./bashrc ./profile ./tmux.conf
    151 
    152 _dotfm remove_
    153 
    154 dotfm remove will now also remove the file from the _DOTFM CSV FILE_
    155 
    156 _dotfm list_
    157 
    158 Minor changes to dotfm list printout format. Will also print even if running in quiet mode.
    159 
    160 dotfm list now **lists all installed dotfiles by default**, and only lists specifc dotfiles if specified.
    161 
    162 ---
    163 
    164 **v1.0.3**
    165 
    166 - added "-q", "--quiet" argument, using it reduces printed logs
    167   "dotfm list" will still print the file location (one line each), e.g.:
    168 	
    169 	/home/gearsix/.bashrc
    170 	/home/gearsix/.profile
    171 	/home/gearsix/.bash\_profile
    172 	...
    173 
    174 - added CHANGELOG
    175 - updated LICENSE to BSD 4-Clause
    176 - added sfeed to DOTFILE\_LOCATIONS
    177 - added TODO items
    178 
    179 </details>