head 1.1; access; symbols pkgsrc-2023Q4:1.1.0.134 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.132 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.130 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.128 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.126 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.124 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.122 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.120 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.118 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.116 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.114 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.112 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.110 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.108 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.104 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.84 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.106 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.102 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.100 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.98 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.96 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.94 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.92 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.90 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.88 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.86 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.82 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.80 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.78 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.76 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.74 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.72 pkgsrc-2016Q1-base:1.1 pkgsrc-2015Q4:1.1.0.70 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.68 pkgsrc-2015Q3-base:1.1 pkgsrc-2015Q2:1.1.0.66 pkgsrc-2015Q2-base:1.1 pkgsrc-2015Q1:1.1.0.64 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.62 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.60 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.58 pkgsrc-2014Q2-base:1.1 pkgsrc-2014Q1:1.1.0.56 pkgsrc-2014Q1-base:1.1 pkgsrc-2013Q4:1.1.0.54 pkgsrc-2013Q4-base:1.1 pkgsrc-2013Q3:1.1.0.52 pkgsrc-2013Q3-base:1.1 pkgsrc-2013Q2:1.1.0.50 pkgsrc-2013Q2-base:1.1 pkgsrc-2013Q1:1.1.0.48 pkgsrc-2013Q1-base:1.1 pkgsrc-2012Q4:1.1.0.46 pkgsrc-2012Q4-base:1.1 pkgsrc-2012Q3:1.1.0.44 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.42 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.40 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.38 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.36 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.34 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.32 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.30 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.28 pkgsrc-2010Q3-base:1.1 pkgsrc-2010Q2:1.1.0.26 pkgsrc-2010Q2-base:1.1 pkgsrc-2010Q1:1.1.0.24 pkgsrc-2010Q1-base:1.1 pkgsrc-2009Q4:1.1.0.22 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.20 pkgsrc-2009Q3-base:1.1 pkgsrc-2009Q2:1.1.0.18 pkgsrc-2009Q2-base:1.1 pkgsrc-2009Q1:1.1.0.16 pkgsrc-2009Q1-base:1.1 pkgsrc-2008Q4:1.1.0.14 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.12 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.10 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.8 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.6 pkgsrc-2008Q1:1.1.0.4 pkgsrc-2008Q1-base:1.1 pkgsrc-2007Q4:1.1.0.2 pkgsrc-2007Q4-base:1.1; locks; strict; comment @# @; 1.1 date 2007.11.28.07.28.27; author rillig; state Exp; branches; next ; desc @@ 1.1 log @If we provide a mandoc-style manpage, we must also provide it pre-formatted, for Solaris and some other operating systems that cannot render it. @ text @SAME(1) NetBSD General Commands Manual SAME(1) NNAAMMEE ssaammee -- link identical files to save disk space SSYYNNOOPPSSIISS ssaammee [--HHVVccddhhnnssttuuvvzz] DDEESSCCRRIIPPTTIIOONN ssaammee takes a list of files (e.g. the output of find . -type f) on stdin. Each of the files is compared against each of the others. Whenever two files are found that match exactly, the two files are linked (soft or hard) together. GGooaall The goal of this program is to conserve disk space when you have several different trees of large projects on your disk. By creating hardlinks or softlinks between the files that are the same, you can save lots of disk space. For example, two different versions of the Linux kernel only dif- fer in a small number of files. By running this program you only need to store the contents of those files once. This is especially useful if you have different versions of complete trees lying around. IImmpplleemmeennttaattiioonn The filesize of every file is used as an indication of wether two files can be the same. Whenever the filesizes match, the hashes of these two files are compared. Whenever these match, the file contents are compared. For every matching pair one of the two files is replaced by a hard link to the other file. With the -s option a softlink is used. To allow you to do this incrementally, the "rm" is done on the file with the least links. This allows you to "merge" a new tree with several trees that have already been processed. The new tree has link count 1, while the old tree has a higher link count for those files that are likely can- didates for linkage. The current implementation keeps the "first" incantation of a file, and replaces further occurrances of the same file. This is significant when using softlinks. OOppttiioonnss --HH _n, ----hhaasshhssttaarrtt _n Start at hash value _n instead of 0. --VV, ----vveerrssiioonn Print the version of the program and exit. --cc _f_i_l_e, ----ccaacchhee _f_i_l_e Keep a cache between runs in file _f_i_l_e. --dd, ----ddeebbuugg Output some debug messages. --hh, ----hheellpp Output this page and exit successfully. --nn, ----ddrryyrruunn Only simulate. --ss, ----ssooffttlliinnkkss Create soft links instead of hard links. --uu, ----uusseerr Don't relink files owned by another user. --vv, ----vveerrbboossee Output verbose messages. --zz, ----nnuullllffiilleess Link empty files, too. By default, only non-empty files are linked. EEXXIITT SSTTAATTUUSS Zero on success, non-zero on failure. EEXXAAMMPPLLEESS find . -type f -print | same SSEEEE AALLSSOO find(1) AAUUTTHHOORRSS Roger E. Wolff , Geert Uytterhoeven , Roland Illig . CCAAVVEEAATTSS ·· If your editor does not move the original aside before writing a new copy, you will change the file in ALL incarnations when editing a file. Patch works just fine: it moves the original aside before cre- ating a new copy. I'm confident that I could learn Emacs to do it this way too. I'm too lazy to figure it out, so if you happen to know an easy way how to do this, please Email me at . ·· There is a 1024 (BUFSIZE) character limit to pathnames when using symlinks. NetBSD 4.0 July 14, 2004 NetBSD 4.0 @