' "`svn info $2 | grep '^Text Last Updated:'`" "$1"
}
+quoted_svnrepo="$(echo $svnrepo | sed 's/ /%20/')"
+
test_expect_success 'setup repository and import' '
mkdir info &&
cd info &&
ln -s directory symlink-directory &&
svn import -m "initial" . "$svnrepo" &&
cd .. &&
+ svn co "$svnrepo" svnwc &&
+ cd svnwc &&
+ echo foo > foo &&
+ svn add foo &&
+ svn commit -m "change outside directory" &&
+ svn update &&
+ cd .. &&
mkdir gitwc &&
cd gitwc &&
git-svn init "$svnrepo" &&
git-svn fetch &&
cd .. &&
- svn co "$svnrepo" svnwc &&
ptouch gitwc/file svnwc/file &&
ptouch gitwc/directory svnwc/directory &&
ptouch gitwc/symlink-file svnwc/symlink-file &&
"
test_expect_success 'info --url' '
- test "$(cd gitwc; git-svn info --url)" = "$svnrepo"
+ test "$(cd gitwc; git-svn info --url)" = "$quoted_svnrepo"
'
test_expect_success 'info .' "
"
test_expect_success 'info --url .' '
- test "$(cd gitwc; git-svn info --url .)" = "$svnrepo"
+ test "$(cd gitwc; git-svn info --url .)" = "$quoted_svnrepo"
'
test_expect_success 'info file' "
"
test_expect_success 'info --url file' '
- test "$(cd gitwc; git-svn info --url file)" = "$svnrepo/file"
+ test "$(cd gitwc; git-svn info --url file)" = "$quoted_svnrepo/file"
'
test_expect_success 'info directory' "
test_cmp expected.info-directory actual.info-directory
"
+test_expect_success 'info inside directory' "
+ (cd svnwc/directory; svn info) > expected.info-inside-directory &&
+ (cd gitwc/directory; git-svn info) > actual.info-inside-directory &&
+ test_cmp expected.info-inside-directory actual.info-inside-directory
+ "
+
test_expect_success 'info --url directory' '
- test "$(cd gitwc; git-svn info --url directory)" = "$svnrepo/directory"
+ test "$(cd gitwc; git-svn info --url directory)" = "$quoted_svnrepo/directory"
'
test_expect_success 'info symlink-file' "
test_expect_success 'info --url symlink-file' '
test "$(cd gitwc; git-svn info --url symlink-file)" \
- = "$svnrepo/symlink-file"
+ = "$quoted_svnrepo/symlink-file"
'
test_expect_success 'info symlink-directory' "
test_expect_success 'info --url symlink-directory' '
test "$(cd gitwc; git-svn info --url symlink-directory)" \
- = "$svnrepo/symlink-directory"
+ = "$quoted_svnrepo/symlink-directory"
'
test_expect_success 'info added-file' "
test_expect_success 'info --url added-file' '
test "$(cd gitwc; git-svn info --url added-file)" \
- = "$svnrepo/added-file"
+ = "$quoted_svnrepo/added-file"
'
test_expect_success 'info added-directory' "
test_expect_success 'info --url added-directory' '
test "$(cd gitwc; git-svn info --url added-directory)" \
- = "$svnrepo/added-directory"
+ = "$quoted_svnrepo/added-directory"
'
test_expect_success 'info added-symlink-file' "
test_expect_success 'info --url added-symlink-file' '
test "$(cd gitwc; git-svn info --url added-symlink-file)" \
- = "$svnrepo/added-symlink-file"
+ = "$quoted_svnrepo/added-symlink-file"
'
test_expect_success 'info added-symlink-directory' "
test_expect_success 'info --url added-symlink-directory' '
test "$(cd gitwc; git-svn info --url added-symlink-directory)" \
- = "$svnrepo/added-symlink-directory"
+ = "$quoted_svnrepo/added-symlink-directory"
'
# The next few tests replace the "Text Last Updated" value with a
test_expect_success 'info --url file (deleted)' '
test "$(cd gitwc; git-svn info --url file)" \
- = "$svnrepo/file"
+ = "$quoted_svnrepo/file"
'
test_expect_success 'info deleted-directory' "
test_expect_success 'info --url directory (deleted)' '
test "$(cd gitwc; git-svn info --url directory)" \
- = "$svnrepo/directory"
+ = "$quoted_svnrepo/directory"
'
test_expect_success 'info deleted-symlink-file' "
test_expect_success 'info --url symlink-file (deleted)' '
test "$(cd gitwc; git-svn info --url symlink-file)" \
- = "$svnrepo/symlink-file"
+ = "$quoted_svnrepo/symlink-file"
'
test_expect_success 'info deleted-symlink-directory' "
test_expect_success 'info --url symlink-directory (deleted)' '
test "$(cd gitwc; git-svn info --url symlink-directory)" \
- = "$svnrepo/symlink-directory"
+ = "$quoted_svnrepo/symlink-directory"
'
# NOTE: git does not have the concept of replaced objects,
test_expect_success 'info unknown-file' "
echo two > gitwc/unknown-file &&
- cp gitwc/unknown-file svnwc/unknown-file &&
- ptouch gitwc/unknown-file svnwc/unknown-file &&
- (cd svnwc; svn info unknown-file) 2> expected.info-unknown-file &&
- (cd gitwc; git-svn info unknown-file) 2> actual.info-unknown-file &&
- test_cmp expected.info-unknown-file actual.info-unknown-file
+ (cd gitwc; test_must_fail git-svn info unknown-file) \
+ 2> actual.info-unknown-file &&
+ grep unknown-file actual.info-unknown-file
"
test_expect_success 'info --url unknown-file' '
- test -z "$(cd gitwc; git-svn info --url unknown-file \
- 2> ../actual.info--url-unknown-file)" &&
- test_cmp expected.info-unknown-file actual.info--url-unknown-file
+ echo two > gitwc/unknown-file &&
+ (cd gitwc; test_must_fail git-svn info --url unknown-file) \
+ 2> actual.info-url-unknown-file &&
+ grep unknown-file actual.info-url-unknown-file
'
test_expect_success 'info unknown-directory' "
mkdir gitwc/unknown-directory svnwc/unknown-directory &&
- ptouch gitwc/unknown-directory svnwc/unknown-directory &&
- touch gitwc/unknown-directory/.placeholder &&
- (cd svnwc; svn info unknown-directory) \
- 2> expected.info-unknown-directory &&
- (cd gitwc; git-svn info unknown-directory) \
- 2> actual.info-unknown-directory &&
- test_cmp expected.info-unknown-directory actual.info-unknown-directory
+ (cd gitwc; test_must_fail git-svn info unknown-directory) \
+ 2> actual.info-unknown-directory &&
+ grep unknown-directory actual.info-unknown-directory
"
test_expect_success 'info --url unknown-directory' '
- test -z "$(cd gitwc; git-svn info --url unknown-directory \
- 2> ../actual.info--url-unknown-directory)" &&
- test_cmp expected.info-unknown-directory \
- actual.info--url-unknown-directory
+ (cd gitwc; test_must_fail git-svn info --url unknown-directory) \
+ 2> actual.info-url-unknown-directory &&
+ grep unknown-directory actual.info-url-unknown-directory
'
test_expect_success 'info unknown-symlink-file' "
cd gitwc &&
ln -s unknown-file unknown-symlink-file &&
cd .. &&
- cd svnwc &&
- ln -s unknown-file unknown-symlink-file &&
- cd .. &&
- ptouch gitwc/unknown-symlink-file svnwc/unknown-symlink-file &&
- (cd svnwc; svn info unknown-symlink-file) \
- 2> expected.info-unknown-symlink-file &&
- (cd gitwc; git-svn info unknown-symlink-file) \
- 2> actual.info-unknown-symlink-file &&
- test_cmp expected.info-unknown-symlink-file \
- actual.info-unknown-symlink-file
+ (cd gitwc; test_must_fail git-svn info unknown-symlink-file) \
+ 2> actual.info-unknown-symlink-file &&
+ grep unknown-symlink-file actual.info-unknown-symlink-file
"
test_expect_success 'info --url unknown-symlink-file' '
- test -z "$(cd gitwc; git-svn info --url unknown-symlink-file \
- 2> ../actual.info--url-unknown-symlink-file)" &&
- test_cmp expected.info-unknown-symlink-file \
- actual.info--url-unknown-symlink-file
+ (cd gitwc; test_must_fail git-svn info --url unknown-symlink-file) \
+ 2> actual.info-url-unknown-symlink-file &&
+ grep unknown-symlink-file actual.info-url-unknown-symlink-file
'
test_expect_success 'info unknown-symlink-directory' "
cd gitwc &&
ln -s unknown-directory unknown-symlink-directory &&
cd .. &&
- cd svnwc &&
- ln -s unknown-directory unknown-symlink-directory &&
- cd .. &&
- ptouch gitwc/unknown-symlink-directory \
- svnwc/unknown-symlink-directory &&
- (cd svnwc; svn info unknown-symlink-directory) \
- 2> expected.info-unknown-symlink-directory &&
- (cd gitwc; git-svn info unknown-symlink-directory) \
- 2> actual.info-unknown-symlink-directory &&
- test_cmp expected.info-unknown-symlink-directory \
- actual.info-unknown-symlink-directory
+ (cd gitwc; test_must_fail git-svn info unknown-symlink-directory) \
+ 2> actual.info-unknown-symlink-directory &&
+ grep unknown-symlink-directory actual.info-unknown-symlink-directory
"
test_expect_success 'info --url unknown-symlink-directory' '
- test -z "$(cd gitwc; git-svn info --url unknown-symlink-directory \
- 2> ../actual.info--url-unknown-symlink-directory)" &&
- test_cmp expected.info-unknown-symlink-directory \
- actual.info--url-unknown-symlink-directory
+ (cd gitwc; test_must_fail git-svn info --url unknown-symlink-directory) \
+ 2> actual.info-url-unknown-symlink-directory &&
+ grep unknown-symlink-directory actual.info-url-unknown-symlink-directory
'
test_done