view tests/fixtures/commit-to-tag.sh @ 469:5567af673f83

Revive svn+http(s) URLs support (issue94) Telling svn from mercurial repository automatically is not always possible, or at least not seamlessly. Let 'http://repo.com/svn' be an svn repository, protected with basic authentication. Trying to clone it directly does something like: 1- Open it like a mercurial repository: * send between command, ask for credentials, fail * fallback to static-http, ask for crendentials two times, fail 2- Open it like an svn repository Mercurial [auth] facility is helpful here, but few people know about it, and it may seem weird to store svn credentials in mercurial configuration. An svn-like password manager would not help either because all connections attempts in [1] fail and it's unlikely we would store credentials in this situation. Instead, we can clone 'svn+http://repo.com/svn', which will skip step [1].
author Patrick Mezard <pmezard@gmail.com>
date Sat, 18 Jul 2009 20:44:33 -0500
parents bb612e625be6
children 9e6499c415a9
line wrap: on
line source

#!/bin/sh
mkdir temp
cd temp
svnadmin create repo
REPOPATH="file://`pwd`/repo"
svn co $REPOPATH wc
cd wc
mkdir -p branches/magic trunk tags
svn add *
svn ci -m 'btt'
cd branches/magic
for a in alpha beta gamma; do
    echo $a > $a
    svn add $a
    svn ci -m "Add file $a"
done
cd ../..
svn up
svn cp $REPOPATH/branches/magic $REPOPATH/tags/will-edit -m 'Make tag to edit'
svn up

cd branches/magic
for a in delta iota lambda; do
    echo $a > $a
    svn add $a
    svn ci -m "Add file $a"
done
cd ../..

cd tags/will-edit
svn rm alpha
svn ci -m 'removed alpha on a tag. Moves tag, implicit branch.'
cd ../..

cd branches/magic
for a in omega; do
    echo $a > $a
    svn add $a
    svn ci -m "Add file $a"
done
cd ../..
svn up
svn cp $REPOPATH/branches/magic $REPOPATH/tags/also-edit -m 'Make tag to edit'
svn up

echo not omega > branches/magic/omega
echo not omega > tags/also-edit/omega
svn ci -m 'edit both the tag and its source branch at the same time'

echo more stupidity > tags/also-edit/omega
svn ci -m 'Edit an edited tag.'

svn cp $REPOPATH/tags/also-edit $REPOPATH/tags/did-edits -m 'Tag an edited tag'

svn cp $REPOPATH/branches/magic $REPOPATH/branches/closeme -m 'Make extra branch for another bogus case'
svn cp $REPOPATH/branches/closeme $REPOPATH/tags/edit-later -m 'Make tag to edit after branch closes'
svn rm $REPOPATH/branches/closeme -m 'Close the branch'
svn up
echo boofar > tags/edit-later/delta
svn ci -m 'Edit this tag after its parent closed'

# try and revert will-edit to its original state
svn up
svn merge -r9:8 $REPOPATH .
svn ci -m 'Revert revision 9.'


cd ../..
svnadmin dump temp/repo > commit-to-tag.svndump
echo
echo 'Complete.'
echo 'You probably want to clean up temp now.'
echo 'Dump in commit-to-tag.svndump'
exit 0