Make -t the default on FreeBSD to match the current behavior there. Add a -T to disable this behavior. (r240792 fixed a typo in the docs that I fixed by hand below.) Index: mtree.8 =================================================================== --- mtree.8 (revision 240789) +++ mtree.8 (revision 240790) @@ -300,6 +300,16 @@ .It Fl t Modify the modified time of existing files, the device type of devices, and symbolic link targets, to match the specification. +This is the default on +.Fx +systems. +.It Fl T +.Em Do not +modify the modified time of existing files, the device type of devices, and +symbolic link targets, to match the specification. +This is the default on systems other than +.Fx +. .It Fl U Same as .Fl u Index: mtree.c =================================================================== --- mtree.c (revision 240789) +++ mtree.c (revision 240790) @@ -79,8 +79,12 @@ spec1 = stdin; spec2 = NULL; +#ifdef __FreeBSD__ + tflag = 1; +#endif + while ((ch = getopt(argc, argv, - "cCdDeE:f:I:ijk:K:lLmMnN:p:PqrR:s:StuUwWxX:")) + "cCdDeE:f:I:ijk:K:lLmMnN:p:PqrR:s:StTuUwWxX:")) != -1) { switch((char)ch) { case 'c': @@ -187,6 +191,9 @@ case 't': tflag = 1; break; + case 'T': + tflag = 0; + break; case 'u': uflag = 1; break;