From owner-cvs-src-old@FreeBSD.ORG Mon Nov 10 05:05:54 2008 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 75F9E1065674 for ; Mon, 10 Nov 2008 05:05:54 +0000 (UTC) (envelope-from kientzle@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 666D38FC12 for ; Mon, 10 Nov 2008 05:05:54 +0000 (UTC) (envelope-from kientzle@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id mAA55s5G049041 for ; Mon, 10 Nov 2008 05:05:54 GMT (envelope-from kientzle@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id mAA55sw5049040 for cvs-src-old@freebsd.org; Mon, 10 Nov 2008 05:05:54 GMT (envelope-from kientzle@repoman.freebsd.org) Message-Id: <200811100505.mAA55sw5049040@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kientzle@repoman.freebsd.org using -f From: Tim Kientzle Date: Mon, 10 Nov 2008 05:04:55 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/usr.bin/tar util.c src/usr.bin/tar/test Makefile test_strip_components.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2008 05:05:54 -0000 kientzle 2008-11-10 05:04:55 UTC FreeBSD src repository Modified files: usr.bin/tar util.c usr.bin/tar/test Makefile Added files: usr.bin/tar/test test_strip_components.c Log: SVN rev 184807 on 2008-11-10 05:04:55Z by kientzle Test --strip-components and fix it to actually work. Jaakko did a good job writing this test; it exercises a lot of subtle cases. The trickiest one is that a hardlink to something that didn't get extracted should not itself be extracted. In some sense, this is not the desired behavior (we'd rather restore the file), but it's the best you can do in a single-pass restore of a tar archive. The test here should be extended to exercise cpio and newc formats as well, since their hardlink models are different, which will lead to different handling of some of these edge cases. Submitted by: Jaakko Heinonen MFC after: 30 days Revision Changes Path 1.5 +1 -0 src/usr.bin/tar/test/Makefile 1.1 +77 -0 src/usr.bin/tar/test/test_strip_components.c (new) 1.21 +37 -15 src/usr.bin/tar/util.c