view tests/fixtures/binaryfiles.sh @ 1340:db9d85618d3d

wrapper: delay marker creation in push Before this patch we were creating obsolescence markers when pulling the changesets from subversion. The counterpart stripping logic (when obsolescence is not available) was done after pushing everything. This patch moves the marker creation to the end of the push, to: 1) Make the code more readable (the marker creation and the stripping should be in the same place) 2) Fix a behavior issue with inhibit(evolve) (see below) With inhibit + hgsubversion enabled. When pushing to subversion we were creating markers as expected but inhibiting the marker on the commit that was the parent of the working copy making it therefore visible. By delaying the marker creation to after the update we avoid this issue.
author Laurent Charignon <lcharignon@fb.com>
date Wed, 08 Jul 2015 13:30:16 -0700
parents f1919e1c35bf
children
line wrap: on
line source

#!/bin/sh
#
# Generate binaryfiles.svndump
#

mkdir temp
cd temp

mkdir project-orig
cd project-orig
mkdir trunk
cd ..

svnadmin create testrepo
svnurl=file://`pwd`/testrepo
svn import project-orig $svnurl -m "init project"

svn co $svnurl project
cd project/trunk
# Add a regular binary file, and an unflagged one
python -c "file('binary1', 'wb').write('a\0\0\nb\0b')"
python -c "file('binary2', 'wb').write('b\0\0\nc\0d')"
svn add binary1 binary2
svn propset svn:mime-type application/octet-stream binary1
svn propdel svn:mime-type binary2
svn ci -m 'add binaries'
# Update them
python -c "file('binary1', 'wb').write('a\0\0\nc\0d')"
python -c "file('binary2', 'wb').write('b\0\0\0\nd\0e')"
svn ci -m 'change binaries'
# Remove them
svn rm binary1 binary2
svn ci -m 'remove binaries'
cd ../..

svnadmin dump testrepo > ../binaryfiles.svndump