Mercurial > hg
comparison tests/test-largefiles.t @ 15336:83debcd7064b stable
largefiles: test interaction between largefiles and vanilla clients and servers
This reintroduces tests for the case described by issue3066, among others:
- vanilla clients and servers should still be able to talk to largefiles
clients and servers about vanilla repos
- vanilla clients should not attempt to clone largefiles repos over http and
should report a useful error message (issue3066; this appears to work
correctly)
- vanilla clients should not attempt to clone largefiles repos over ssh, again
with a useful error message
- largefiles clients should not attempt to push largefile changes to vanilla
servers
author | Andrew Pritchard <awpritchard@gmail.com> |
---|---|
date | Fri, 21 Oct 2011 15:09:33 -0500 |
parents | 0db47b8d025f |
children | f4b29792fcda |
comparison
equal
deleted
inserted
replaced
15335:52a137edc060 | 15336:83debcd7064b |
---|---|
672 large6-modified | 672 large6-modified |
673 $ cat sub2/large7 | 673 $ cat sub2/large7 |
674 large7 | 674 large7 |
675 $ cd .. | 675 $ cd .. |
676 | 676 |
677 vanilla clients not locked out from largefiles servers on vanilla repos | |
678 $ mkdir r1 | |
679 $ cd r1 | |
680 $ hg init | |
681 $ echo c1 > f1 | |
682 $ hg add f1 | |
683 $ hg com -m "m1" | |
684 $ cd .. | |
685 $ hg serve -R r1 -d -p 8001 --pid-file serve.pid | |
686 $ hg --config extensions.largefiles=! clone http://localhost:8001 r2 | |
687 requesting all changes | |
688 adding changesets | |
689 adding manifests | |
690 adding file changes | |
691 added 1 changesets with 1 changes to 1 files | |
692 updating to branch default | |
693 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
694 $ kill $(cat serve.pid) | |
695 | |
696 largefiles clients still work with vanilla servers | |
697 $ hg --config extensions.largefiles=! serve -R r1 -d -p 8001 --pid-file serve.pid | |
698 $ hg clone http://localhost:8001 r3 | |
699 requesting all changes | |
700 adding changesets | |
701 adding manifests | |
702 adding file changes | |
703 added 1 changesets with 1 changes to 1 files | |
704 updating to branch default | |
705 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
706 $ kill $(cat serve.pid) | |
707 | |
708 vanilla clients locked out from largefiles http repos | |
709 $ mkdir r4 | |
710 $ cd r4 | |
711 $ hg init | |
712 $ echo c1 > f1 | |
713 $ hg add --large f1 | |
714 $ hg com -m "m1" | |
715 $ cd .. | |
716 $ hg serve -R r4 -d -p 8001 --pid-file serve.pid | |
717 $ hg --config extensions.largefiles=! clone http://localhost:8001 r5 | |
718 abort: remote error: | |
719 | |
720 This repository uses the largefiles extension. | |
721 | |
722 Please enable it in your Mercurial config file. | |
723 [255] | |
724 $ kill $(cat serve.pid) | |
725 | |
726 vanilla clients locked out from largefiles ssh repos | |
727 $ hg --config extensions.largefiles=! clone -e "python $TESTDIR/dummyssh" ssh://user@dummy/r4 r5 | |
728 abort: remote error: | |
729 | |
730 This repository uses the largefiles extension. | |
731 | |
732 Please enable it in your Mercurial config file. | |
733 [255] | |
734 | |
735 largefiles clients refuse to push largefiles repos to vanilla servers | |
736 $ mkdir r6 | |
737 $ cd r6 | |
738 $ hg init | |
739 $ echo c1 > f1 | |
740 $ hg add f1 | |
741 $ hg com -m "m1" | |
742 $ cat >> .hg/hgrc <<! | |
743 > [web] | |
744 > push_ssl = false | |
745 > allow_push = * | |
746 > ! | |
747 $ cd .. | |
748 $ hg clone r6 r7 | |
749 updating to branch default | |
750 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
751 $ cd r7 | |
752 $ echo c2 > f2 | |
753 $ hg add --large f2 | |
754 $ hg com -m "m2" | |
755 $ hg --config extensions.largefiles=! -R ../r6 serve -d -p 8001 --pid-file ../serve.pid | |
756 $ hg push http://localhost:8001 | |
757 pushing to http://localhost:8001/ | |
758 searching for changes | |
759 abort: http://localhost:8001/ does not appear to be a largefile store | |
760 [255] | |
761 $ cd .. | |
762 $ kill $(cat serve.pid) | |
763 | |
764 $ cd .. | |
765 | |
677 "lfconvert" works | 766 "lfconvert" works |
678 $ hg init bigfile-repo | 767 $ hg init bigfile-repo |
679 $ cd bigfile-repo | 768 $ cd bigfile-repo |
680 $ dd if=/dev/zero bs=1k count=256 > a-large-file 2> /dev/null | 769 $ dd if=/dev/zero bs=1k count=256 > a-large-file 2> /dev/null |
681 $ hg addremove | 770 $ hg addremove |