Mercurial > hg
view tests/test-mq-qimport @ 9412:3a78bbc57660
color: do all setup in uisetup
Now that extensions are loaded in phases, we are guaranteed to always
find mq in uisetup with extensions.find and we know that the mq
commands are not yet copied into commands.table.
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sat, 29 Aug 2009 00:30:03 +0200 |
parents | 53fdf18fd63b |
children | 4d6bd7b8b6d8 |
line wrap: on
line source
#!/bin/sh cat > writelines.py <<EOF import sys path = sys.argv[1] args = sys.argv[2:] assert (len(args) % 2) == 0 f = file(path, 'wb') for i in xrange(len(args)/2): count, s = args[2*i:2*i+2] count = int(count) s = s.decode('string_escape') f.write(s*count) f.close() EOF echo "[extensions]" >> $HGRCPATH echo "mq=" >> $HGRCPATH echo "[diff]" >> $HGRCPATH echo "git=1" >> $HGRCPATH hg init repo cd repo echo % qimport non-existing-file hg qimport non-existing-file echo % import email hg qimport --push -n email - <<EOF From: Username in email <test@example.net> Subject: [PATCH] Message in email Date: Fri, 02 Jan 1970 00:00:00 +0000 Text before patch. # HG changeset patch # User Username in patch <test@example.net> # Date 0 0 # Node ID 1a706973a7d84cb549823634a821d9bdf21c6220 # Parent 0000000000000000000000000000000000000000 First line of commit message. More text in commit message. diff --git a/x b/x new file mode 100644 --- /dev/null +++ b/x @@ -0,0 +1,1 @@ +new file Text after patch. EOF echo % hg tip -v hg tip -v hg qpop hg qdelete email echo % import URL echo foo >> foo hg add foo hg diff > $HGTMP/url.diff hg revert --no-backup foo rm foo # Under unix: file:///foobar/blah # Under windows: file:///c:/foobar/blah patchurl=`echo $HGTMP/url.diff | tr '\\\\' /` expr $patchurl : "\/" > /dev/null if [ $? -ne 0 ]; then patchurl='/'$patchurl fi hg qimport file://$patchurl hg qun echo % import patch that already exists echo foo2 >> foo hg add foo hg diff > ../url.diff hg revert --no-backup foo rm foo hg qimport ../url.diff hg qpush cat foo hg qpop echo % qimport -f hg qimport -f ../url.diff hg qpush cat foo hg qpop echo % build diff with CRLF python ../writelines.py b 5 'a\n' 5 'a\r\n' hg ci -Am addb python ../writelines.py b 2 'a\n' 10 'b\n' 2 'a\r\n' hg diff > b.diff hg up -C echo % qimport CRLF diff hg qimport b.diff hg qpush echo % try to import --push echo another >> b hg diff > another.diff hg up -C hg qimport --push another.diff hg qfin -a hg qimport -rtip -P