head	1.1;
access;
symbols
	pkgsrc-2026Q1:1.1.0.152
	pkgsrc-2026Q1-base:1.1
	pkgsrc-2025Q4:1.1.0.150
	pkgsrc-2025Q4-base:1.1
	pkgsrc-2025Q3:1.1.0.148
	pkgsrc-2025Q3-base:1.1
	pkgsrc-2025Q2:1.1.0.146
	pkgsrc-2025Q2-base:1.1
	pkgsrc-2025Q1:1.1.0.144
	pkgsrc-2025Q1-base:1.1
	pkgsrc-2024Q4:1.1.0.142
	pkgsrc-2024Q4-base:1.1
	pkgsrc-2024Q3:1.1.0.140
	pkgsrc-2024Q3-base:1.1
	pkgsrc-2024Q2:1.1.0.138
	pkgsrc-2024Q2-base:1.1
	pkgsrc-2024Q1:1.1.0.136
	pkgsrc-2024Q1-base:1.1
	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)

NNAAMMEE
     ssaammee -- link identical files to save disk space

SSYYNNOOPPSSIISS
     ssaammee [--HHVVccddhhnnssttuuvvzz]

DDEESSCCRRIIPPTTIIOONN
     ssaammee 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.

   GGooaall
     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.

   IImmpplleemmeennttaattiioonn
     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.

   OOppttiioonnss
     --HH _n, ----hhaasshhssttaarrtt _n
             Start at hash value _n instead of 0.

     --VV, ----vveerrssiioonn
             Print the version of the program and exit.

     --cc _f_i_l_e, ----ccaacchhee _f_i_l_e
             Keep a cache between runs in file _f_i_l_e.

     --dd, ----ddeebbuugg
             Output some debug messages.

     --hh, ----hheellpp
             Output this page and exit successfully.

     --nn, ----ddrryyrruunn
             Only simulate.

     --ss, ----ssooffttlliinnkkss
             Create soft links instead of hard links.

     --uu, ----uusseerr
             Don't relink files owned by another user.

     --vv, ----vveerrbboossee
             Output verbose messages.

     --zz, ----nnuullllffiilleess
             Link empty files, too.  By default, only non-empty files are
             linked.

EEXXIITT SSTTAATTUUSS
     Zero on success, non-zero on failure.

EEXXAAMMPPLLEESS
     find . -type f -print | same

SSEEEE AALLSSOO
     find(1)

AAUUTTHHOORRSS
     Roger E. Wolff <R.E.Wolff@@BitWizard.nl>,
     Geert Uytterhoeven <geert@@linux-m68k.org>,
     Roland Illig <roland.illig@@gmx.de>.

CCAAVVEEAATTSS
     ··   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
         <R.E.Wolff@@BitWizard.nl>.

     ··   There is a 1024 (BUFSIZE) character limit to pathnames when using
         symlinks.

NetBSD 4.0                       July 14, 2004                      NetBSD 4.0
@
