# HG changeset patch # User Siddharth Agarwal <sid0@fb.com> # Date 1419971170 28800 # Tue Dec 30 12:26:10 2014 -0800 # Node ID e22ffc47337d114e1acb6f64b26bd67eb5e2e606 # Parent 81c55f8629ba4187d8ee95c2373d1e2f6b5f0b8f tests: add tests for transitions to and from symlinks to files This adds some test coverage for cases that are not buggy. There is a bug lurking here, and an upcoming patch will extend these tests to cover those cases too. diff --git a/tests/test-file-removal.t b/tests/test-file-removal.t --- a/tests/test-file-removal.t +++ b/tests/test-file-removal.t @@ -20,9 +20,79 @@ $ git rm foo/bar rm 'foo/bar' $ fn_git_commit -m 'remove foo/bar' + $ ln -s beta betalink + $ git add betalink + $ fn_git_commit -m 'add symlink to beta' +replace symlink with file + $ rm betalink + $ echo betalink > betalink + $ git add betalink + $ fn_git_commit -m 'replace symlink with file' +replace file with symlink + $ rm betalink + $ ln -s beta betalink + $ git add betalink + $ fn_git_commit -m 'replace file with symlink' + $ git rm betalink + rm 'betalink' + $ fn_git_commit -m 'remove betalink' final manifest in git is just beta $ git ls-files beta + $ git log --pretty=medium + commit 5ee11eeae239d6a99df5a99901ec00ffafbcc46b + Author: test <test@example.org> + Date: Mon Jan 1 00:00:18 2007 +0000 + + remove betalink + + commit 2c7b324faeccb1acf89c35b7ad38e7956f5705fa + Author: test <test@example.org> + Date: Mon Jan 1 00:00:17 2007 +0000 + + replace file with symlink + + commit ff0478d2ecc2571d01eb6d406ac29e4e63e5d3d5 + Author: test <test@example.org> + Date: Mon Jan 1 00:00:16 2007 +0000 + + replace symlink with file + + commit 5492e6e410e42df527956be945286cd1ae45acb8 + Author: test <test@example.org> + Date: Mon Jan 1 00:00:15 2007 +0000 + + add symlink to beta + + commit b991de8952c482a7cd51162674ffff8474862218 + Author: test <test@example.org> + Date: Mon Jan 1 00:00:14 2007 +0000 + + remove foo/bar + + commit b0edaf0adac19392cf2867498b983bc5192b41dd + Author: test <test@example.org> + Date: Mon Jan 1 00:00:13 2007 +0000 + + remove alpha + + commit f2d0d5bfa905e12dee728b509b96cf265bb6ee43 + Author: test <test@example.org> + Date: Mon Jan 1 00:00:12 2007 +0000 + + add foo + + commit 9497a4ee62e16ee641860d7677cdb2589ea15554 + Author: test <test@example.org> + Date: Mon Jan 1 00:00:11 2007 +0000 + + add beta + + commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 + Author: test <test@example.org> + Date: Mon Jan 1 00:00:10 2007 +0000 + + add alpha $ cd .. $ git init --bare gitrepo2 @@ -33,10 +103,30 @@ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd hgrepo $ hg log --graph | grep -v ': *master' - @ changeset: 4:0d3086c3f8c3 + @ changeset: 8:0995b8a0a943 | tag: default/master | tag: tip | user: test <test@example.org> + | date: Mon Jan 01 00:00:18 2007 +0000 + | summary: remove betalink + | + o changeset: 7:a316d3a96c89 + | user: test <test@example.org> + | date: Mon Jan 01 00:00:17 2007 +0000 + | summary: replace file with symlink + | + o changeset: 6:1804acb71f3e + | user: test <test@example.org> + | date: Mon Jan 01 00:00:16 2007 +0000 + | summary: replace symlink with file + | + o changeset: 5:e19c85becc87 + | user: test <test@example.org> + | date: Mon Jan 01 00:00:15 2007 +0000 + | summary: add symlink to beta + | + o changeset: 4:0d3086c3f8c3 + | user: test <test@example.org> | date: Mon Jan 01 00:00:14 2007 +0000 | summary: remove foo/bar | @@ -76,10 +166,34 @@ pushing to ../gitrepo2 searching for changes adding objects - added 5 commits with 6 trees and 3 blobs + added 9 commits with 8 trees and 5 blobs $ cd .. $ git --git-dir=gitrepo2 log --pretty=medium + commit 5ee11eeae239d6a99df5a99901ec00ffafbcc46b + Author: test <test@example.org> + Date: Mon Jan 1 00:00:18 2007 +0000 + + remove betalink + + commit 2c7b324faeccb1acf89c35b7ad38e7956f5705fa + Author: test <test@example.org> + Date: Mon Jan 1 00:00:17 2007 +0000 + + replace file with symlink + + commit ff0478d2ecc2571d01eb6d406ac29e4e63e5d3d5 + Author: test <test@example.org> + Date: Mon Jan 1 00:00:16 2007 +0000 + + replace symlink with file + + commit 5492e6e410e42df527956be945286cd1ae45acb8 + Author: test <test@example.org> + Date: Mon Jan 1 00:00:15 2007 +0000 + + add symlink to beta + commit b991de8952c482a7cd51162674ffff8474862218 Author: test <test@example.org> Date: Mon Jan 1 00:00:14 2007 +0000