From 901af35fb85b561be4e621716b662f1b8995dc87 Mon Sep 17 00:00:00 2001 From: Nick Bebout Date: Sat, 12 Mar 2011 02:43:49 +0000 Subject: [PATCH] 1.48 --- CREDITS | 10 +++++++++- ChangeLog | 10 ++++++++-- README | 21 +++++++++++++++++++-- VERSION | 2 +- imapsync | 30 ++++++++++++++++++++++++++---- learn/file.csv | 2 ++ learn/hugemigr | 6 ++++++ 7 files changed, 71 insertions(+), 10 deletions(-) create mode 100644 learn/file.csv create mode 100644 learn/hugemigr diff --git a/CREDITS b/CREDITS index acea0ac..bed42a7 100644 --- a/CREDITS +++ b/CREDITS @@ -1,4 +1,12 @@ -Eric Yung (Suggested --sep1 option) and tested it, and found a bug about it. + +Tommi Lätti +Suggested csv file loop (HUGE MIGRATION section) in pod doc. + +Vincent W.S. Tam +Suggested --subscribed option. + +Eric Yung +(Suggested --sep1 option) and tested it, and found a bug about it. diff --git a/ChangeLog b/ChangeLog index b4d9265..a8e7e11 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,21 @@ RCS file: RCS/imapsync,v Working file: imapsync -head: 1.47 +head: 1.48 branch: locks: strict + gilles: 1.48 access list: symbolic names: keyword substitution: kv -total revisions: 47; selected revisions: 47 +total revisions: 48; selected revisions: 48 description: ---------------------------- +revision 1.48 locked by: gilles; +date: 2003/11/21 04:23:10; author: gilles; state: Exp; lines: +26 -4 +Added "HUGE MIGRATION" pod section. (Thanks + Tommi Lätti +---------------------------- revision 1.47 date: 2003/11/21 03:15:31; author: gilles; state: Exp; lines: +19 -4 Added a SECURITY pod doc section. diff --git a/README b/README index 3b1b94b..b839880 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ NAME imapsync - synchronize mailboxes between two imap servers. - $Revision: 1.47 $ + $Revision: 1.48 $ INSTALL Get imapsync at http://www.linux-france.org/prj/imapsync/dist/ @@ -140,6 +140,23 @@ IMAP SERVERS Rate imapsync : http://freshmeat.net/projects/imapsync/ +HUGE MIGRATION + If you have many mailboxes to migrate think about a little shell + program. Write a file called file.csv (for example) containing users and + passwords. The separator used in this example is ';' + + The file.csv file content is : + + user0001;password0001;user0002;password0002 + user0011;password0011;user0012;password0012 ... + + And the shell program is just : + + { while IFS=';' read u1 p1 u2 p2; do imapsync --user1 $u1 --password1 + $p1 --user2 $u2 --password2 $p2 ... done ; } < file.csv + + Welcome in shell programming ! + SIMILAR SOFTWARES offlineimap : http://gopher.quux.org:70/devel/offlineimap/ mailsync : http://mailsync.sourceforge.net/ @@ -148,5 +165,5 @@ SIMILAR SOFTWARES Feedback (good or bad) will be always welcome. - $Id: imapsync,v 1.47 2003/11/21 03:15:31 gilles Exp $ + $Id: imapsync,v 1.48 2003/11/21 04:23:10 gilles Exp gilles $ diff --git a/VERSION b/VERSION index 99dd716..c05d912 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.47 +1.48 diff --git a/imapsync b/imapsync index 581ca55..7e386a6 100755 --- a/imapsync +++ b/imapsync @@ -4,7 +4,7 @@ imapsync - synchronize mailboxes between two imap servers. -$Revision: 1.47 $ +$Revision: 1.48 $ =head1 INSTALL @@ -163,6 +163,28 @@ are useful to know the softwares. Example: Rate imapsync : http://freshmeat.net/projects/imapsync/ +=head1 HUGE MIGRATION + + +If you have many mailboxes to migrate think about a little +shell program. Write a file called file.csv (for example) +containing users and passwords. +The separator used in this example is ';' + +The file.csv file content is : + +user0001;password0001;user0002;password0002 +user0011;password0011;user0012;password0012 +... + +And the shell program is just : + +{ while IFS=';' read u1 p1 u2 p2; do + imapsync --user1 $u1 --password1 $p1 --user2 $u2 --password2 $p2 ... +done ; } < file.csv + +Welcome in shell programming ! + =head1 SIMILAR SOFTWARES offlineimap : http://gopher.quux.org:70/devel/offlineimap/ @@ -172,7 +194,7 @@ Rate imapsync : http://freshmeat.net/projects/imapsync/ Feedback (good or bad) will be always welcome. -$Id: imapsync,v 1.47 2003/11/21 03:15:31 gilles Exp $ +$Id: imapsync,v 1.48 2003/11/21 04:23:10 gilles Exp gilles $ =cut @@ -200,12 +222,12 @@ my( use vars qw ($opt_G); # missing code for this will be option. -$rcs = ' $Id: imapsync,v 1.47 2003/11/21 03:15:31 gilles Exp $ '; +$rcs = ' $Id: imapsync,v 1.48 2003/11/21 04:23:10 gilles Exp gilles $ '; $rcs =~ m/,v (\d+\.\d+)/; $VERSION = ($1) ? $1 : "UNKNOWN"; $error=0; -my $banner = '$RCSfile: imapsync,v $ ' . '$Revision: 1.47 $ ' . '$Date: 2003/11/21 03:15:31 $ ' . "\n"; +my $banner = '$RCSfile: imapsync,v $ ' . '$Revision: 1.48 $ ' . '$Date: 2003/11/21 04:23:10 $ ' . "\n"; unless(defined(&_SYSEXITS_H)) { # 64 on my linux box. diff --git a/learn/file.csv b/learn/file.csv new file mode 100644 index 0000000..af67130 --- /dev/null +++ b/learn/file.csv @@ -0,0 +1,2 @@ +user0001;password0001;user0002;password0002 +user0011;password0011;user0012;password0012 diff --git a/learn/hugemigr b/learn/hugemigr new file mode 100644 index 0000000..34cf7c9 --- /dev/null +++ b/learn/hugemigr @@ -0,0 +1,6 @@ +#!/bin/sh + +{while IFS=';' read u1 p1 u2 p2; do + imapsync --user1 $u1 --password1 $p1 --user2 $u2 --password2 $p2 ... +done ; } < file.csv +