804 ui.write("%-30s %s:%s\n" % (t, -r, hexfunc(n))) |
804 ui.write("%-30s %s:%s\n" % (t, -r, hexfunc(n))) |
805 |
805 |
806 def bundle(ui, repo, fname, dest=None, **opts): |
806 def bundle(ui, repo, fname, dest=None, **opts): |
807 """create a changegroup file |
807 """create a changegroup file |
808 |
808 |
809 Generate a compressed changegroup file collecting changesets. |
809 Generate a compressed changegroup file collecting changesets not |
810 not found in the other repository. |
810 found in the other repository. |
811 |
811 |
812 If no destination repository is specified the destination is |
812 If no destination repository is specified the destination is assumed |
813 assumed to have all the node specified by --base. |
813 to have all the nodes specified by one or more --base parameters. |
814 |
814 |
815 This file can then be transferred using conventional means and |
815 The bundle file can then be transferred using conventional means and |
816 applied to another repository with the unbundle command. This is |
816 applied to another repository with the unbundle or pull command. |
817 useful when native push and pull are not available or when |
817 This is useful when direct push and pull are not available or when |
818 exporting an entire repository is undesirable. The standard file |
818 exporting an entire repository is undesirable. |
819 extension is ".hg". |
819 |
820 |
820 Applying bundles preserves all changeset contents including |
821 Unlike import/export, this exactly preserves all changeset |
821 permissions, copy/rename information, and revision history. |
822 contents including permissions, rename data, and revision history. |
|
823 """ |
822 """ |
824 revs = opts.get('rev') or None |
823 revs = opts.get('rev') or None |
825 if revs: |
824 if revs: |
826 revs = [repo.lookup(rev) for rev in revs] |
825 revs = [repo.lookup(rev) for rev in revs] |
827 base = opts.get('base') |
826 base = opts.get('base') |