1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367
|
Please read the INSTALL file for installation instructions, particularly if
you are installing on a non-Linux machine.
This is a handy little utility to display a tree view of directories that
I wrote some time ago and just added color support to. I've decided that
since no one else has done something similar I would go ahead and release
it, even though it's barely a 1st year CS student hack. I've found it damn
handy to peruse a directory tree though, especially when someone is trying to
hide something from you.
The main distribution site for tree is here:
http://oldmanprogrammer.net/source.php?dir=projects/tree
Backup GIT sites are:
https://gitlab.com/OldManProgrammer/unix-tree
https://github.com/Old-Man-Programmer/tree
Current e-mail address to reach me at: steve.baker.llc@gmail.com
If you don't like the way it looks let me know how you think it should be
formatted. Feel free to suggest modifications and additions.
Thanks go out so the following people who have helped bring tree to the
pinnacle of perfection that it is: ;)
Francesc Rocher
- Added HTML output (-H).
- Added options -o, -L and -R.
Gerald Scheidl
- Added -S option to print ASCII graphics lines for use under linux
console when an alternate console font has been selected (might also
work under DOS telnet).
Guido Socher (and others)
- Made tree more portable. Should compile under solaris.
Mitja Lacen
- Discovered bug where tree will segmentation fault on long pathnames.
- Discovered in -L argument processing.
Nathaniel Delage
- Discovered problem with recursive symlink detection
A. Karthik
- Suggested option to remove file and directory report at end of tree
listing.
Roger Luethi
- Spotted memory over-allocation bug in read_dir().
- Submitted several patches to fix various memory leaks.
Daniel Lee
- Reported that Tru64 defines TRUE/FALSE in sys/types.h (OSF1 standard?)
Paolo Violini
- Found bug in tree that caused it to seg-fault if 50 file arguments where
given and directory coloring was turned on.
Mitsuaki Masuhara
- Discovered tree crashed on missing arguments.
- Discovered that tree did not properly encode characters in filenames
when used as URLs when using the -H option.
- Fixed issue with --charset option processing.
Johan Fredrik
- Pointed out that tree did not list large files.
Ted Tiberio
- Submitted patch which fixed a compiler issue and cleaned up HTML and CSS
code, applied CSS to all output, and fixed up HTML to 4.01 strict
standards.
David MacMahon
- Added '|' support to the pattern matching routines.
Dan Jacobson
- Pointed out that -t did not sort properly for files with the same
timestamp.
- Suggested option to change HTML title and H1 string.
- Suggested -r option for reversed alphanumeric sort ala 'ls -r'.
Kyosuke Tokoro
- Provided patch to support OS/2, fix HTML encoding, provide charset
support. Added to authors list.
Florian Ernst
- Debian maintainer who pointed out problems and applied fire to feet to fix
stuff.
Jack Cuyler
- Suggested -h option for human readable output for -s, ala ls -lh.
Jonathon Cranford
- Supplied patch to make tree under cygwin.
Richard Houser
- Provided patch to fix a colorization bug when dealing with special
files and directories that seem to have an extension.
Zurd (?)
- Suggested removing trailing slash on user supplied directory names if -f
option is used.
John Nintendud
- Pointed out broken HTML output in 1.5.1.
Mark Braker
- Suggested --filelimit option.
Michael Vogt
- Suggested -v option (version sort).
Wang Quanhong
- Provided build options for Solaris.
Craig McDaniel
- Provided build options and source mods for HP NonStop support.
Christian Grigis
- Noted that setlocale() should come before MB_CUR_MAX check.
Kamaraju Kusumanchi
- Submitted patch to remove compiler warnings for Solaris.
Martin Nagy
- Provided patch which fixes issue where indent may output more than it
should when dirs[*] is not properly cleared before use.
William C. Lathan III
- Showed that tree was not properly quoting arguments to recursively called
tree instances when using -R.
Ulrich Eckhardt
- Submitted patch for --si option.
Tim Waugh (redhat)
- Pointed out a potential memory leak in listdir().
Markus Schnalke
- Tracked down bug where tree would print "argetm" before the filename of a
symbolic link when the "target" option was specified for LINK in dircolors.
Ujjwal Kumar
- Suggested that tree backslash spaces like ls does for script use. Made
output more like ls.
Ivan Shmakov
- Pointed out multiple CLI defenciencies (via Debian)
Mantas Mikulnas
- Provided patch to make tree more reliably detect the UTF-8 locale.
Tim Mooney
- Noticed S_ISDOOR/S_IFDOOR spelling mistake for under Solaris.
Han Hui
- Pointed out possible memory overflow in read_dir (path/lbuf not equal in size
to pathsize/lbufsize.)
Ryan Hollis
- Pointed out problems with the Makefile w/ respect to OSX.
Philipp M?ller
- Provided patch for filesize sorting.
Sascha Zorn
- Pointed out that the HTML output was broken when -L 1 option was used.
Alexandre Wendling
- Pointed out that modern systems may use 32 bit uid/gids which could lead
to a potential buffer overflow in the uid/gid to name mapping functions.
Florian Sesser
- Provided patch to add JSON support.
Brian Mattern & Jason A. Donenfeld
- Provided patch to add --matchdirs functionality.
Jason A. Donenfeld
- Added --caseinsentive, renamed --ignore-case option.
- Bugged me a lot.
Stephan Gabert
- Found a bug where the wrong inode (and device) information would be printed
for symbolic links.
Nick Craig-Wood
- Fixed issue where mbstowcs() fails to null terminate the string due to
improper UTF-8 encoding leading to garbage being printed.
Mantas Mikulėnas
- Fixed issue with malformed multibyte string handling.
Wagner Camarao
- Pointed out that JSON size output ignored -h/--si flags
John Lane, Tad, others
- Fixed JSON output hanging commas
Jacob Wahlgren
- Improved command line switch error reporting.
- Symbolic links not displayed if a -P pattern is active
- Missing argument error reporting fixes on long format switches.
Shawn Mehan
- Update BINDIR in Makefile for MacOS X -- It is not allowed to install
programs to /usr/bin on MacOS X any longer due to System Integrity
Protection (SIP)
Kirill Kolyshkin
- Some man page fixes and cleanups
Alyssa Ross
- Suggested adding support for BSD's CLICOLOR and CLICOLOR_FORCE environment
variables.
Tomáš Beránek
- Make sure we always use xmalloc / xrealloc
Sergei Maximov
- Make XML/HTML/JSON output mutually exclusive.
Jonas Stein
- Deprecate using local -DLINUX / -DCYGWIN and use the OS provided defines
John A. Fedoruk
- Suggested --filesfirst option.
Michael Osipov
- Optimized makefile, HP/UX support.
Richard Mitchell
- Suggested --metafirst option
Paul Seyfert
- Honor -n (no color) even if the CLICOLOR_FORCE environment variable is set
Filips Romāns via Debian
- Make tree colorization use reset (rs code in dir_colors,) not normal color
when resetting attributes.
Chentao Credungtao via Debian
- Properly sort --fromfile input
Jake Zimmerman (and others)
- Suggest support for .gitignore files (--gitignore option)
Eric Pruitt
- Always HTML escape filenames in HTML output even when -C is used.
Michiel Beijen (and others)
- Suggest Support multiple -I and -P instances.
- Suggest that / match directories in patterns (also Taylor Faubion)
- Suggested to update MANPATH for OS X
Michal Vasilek
- Various Makefile fixes
Josey Smith
- Reported an error with * in the patchmatch code where *foo*bar would match
*foo alone.
Maxim Cournoyer
- Reported HTML url output issue w/ 2.0.0-2.0.1
Ben Brown
- Updates to the Makefile
- Reported use after free error
Erik Skultety
- Reported same use after error
Saniya Maheshwari / Mig-hub ? / Carlos Pinto
- Reported various issues with --gitignore
Piotr Andruszkow
- Suggested adding support for --info and --gitignore for the --fromfile
option.
Sebastian Rose
- Another attempt at fixing extraneous /'s in HTML URLs/output.
Dave Rice
- Fixed XML output
Timm Fitschen
- Suggest adding support for the NO_COLOR environment variable.
Chentao Credungtao
- Suggested supporting symbolic links in --fromfile (--fflinks option)
Sith Wijesinghe and Matthew Sessions
- Remove many C90 isms to make compiling with C90 compilers easier.
simonpmind (gitlab)
- Reported issue where following links while doing JSON output would lead to
incorrect JSON output.
- Suggested suppressing 'recursive, not followed' when using -L, fixing JSON
error.
German Lashevich
- Reported an issue where .info patterns relative to the .info file that did
not use a wildcard for matching the prefix were not matching files properly.
Javier Jaramago Fernández
- Reported a buffer overflow in listdir() when file names are allowed to be
longer than 256 characters (like when using fromfile.)
6ramr (gitlab)
- Reported issue with following symbolic links when a full tree was gathered.
Clinton
- Reported issue where --gitignore does not think a pattern with a singular
terminal '/' (indicating it matches only directories,) is a relative path.
jack6th (gitlab)
- Don't prematurely sort files/directories with --from*file.
Hanqin Guan (The OSLab of Peking University):
- Fuzzing testing that identified several problems in --fromfile and
--fromtabfile processing.
- -U should disable --dirsfirst / --filesfirst sorting.
- Make sure gittrim() function can handle a null string.
Trevor Gross
- Suggested adding support for immediate values to -L with no spacing.
Christoph Anton Mitterer
- Suggested option negation, which led to --opt-toggle.
Nicolai Dagestad
- Suggested --hyperlink option.
Alchemyst (github)
- Reported JSON error when using the --du option and unable to open a
directory.
- Reported that the reported total was incorrect when using the --du option.
Ivan Ivanovich
- Reported small rounding error in human readable size output.
Kenta Arai
- Reported Segfault with --filelimit option
- Add NULL guard for json_printinfo() and xml_printinfo() (and fix ftype
printing for XML)
- Fix getcharset() to not return a getenv() pointer.
- Suggest adding .gitignore file to the distribution.
- Clean up some warnings issued by -Wextra
freemedom (github)
- Provided Makefile information for cross compiling for Android.
David Seifert
- Provided updates for Makefile
- Suggested move to stdbool.h to avoid problems with newer compilers.
Daniel Li / Landon Bourma
- Reported segfault from incorrect free.
And many others whom I've failed to keep track of. I should have started
this list years ago.
- Steve Baker
Steve.Baker.llc@gmail.com
or
oldmanprogrammer.llc@gmail.com
|