<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Comments on: Bsync : Synchronisation Bidirectionnelle avec Rsync</title>
	<atom:link href="http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync/feed" rel="self" type="application/rss+xml" />
	<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync</link>
	<description></description>
	<lastBuildDate>Tue, 15 Mar 2022 14:49:21 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.7.1</generator>
	<item>
		<title>By: dooblem</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-1533</link>
		<dc:creator><![CDATA[dooblem]]></dc:creator>
		<pubDate>Mon, 22 May 2017 17:01:43 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-1533</guid>
		<description><![CDATA[Bonjour,
Non, pas vraiment, la synchro se fait uniquement entre 2 machine.
En revanche, tu peux très bien faire :
PC1 &lt;bsync&gt; Serveur
PC2 &lt;bsync&gt; Serveur

En le lançant 2x.]]></description>
		<content:encoded><![CDATA[<p>Bonjour,<br />
Non, pas vraiment, la synchro se fait uniquement entre 2 machine.<br />
En revanche, tu peux très bien faire :<br />
PC1 <bsync> Serveur<br />
PC2 </bsync><bsync> Serveur</p>
<p>En le lançant 2x.</bsync></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Goldenscarab</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-1531</link>
		<dc:creator><![CDATA[Goldenscarab]]></dc:creator>
		<pubDate>Fri, 19 May 2017 12:29:03 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-1531</guid>
		<description><![CDATA[Bonjour,
Bravo pour ce bel outil !!
Juste une question, gère t&#039;il la synchro entre plus de 2 machines ?

Exemple : 
PC1  Serveur   PC2
Serveur  PC3

Merci]]></description>
		<content:encoded><![CDATA[<p>Bonjour,<br />
Bravo pour ce bel outil !!<br />
Juste une question, gère t&#8217;il la synchro entre plus de 2 machines ?</p>
<p>Exemple :<br />
PC1  Serveur   PC2<br />
Serveur  PC3</p>
<p>Merci</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gerson</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-1522</link>
		<dc:creator><![CDATA[Gerson]]></dc:creator>
		<pubDate>Wed, 22 Mar 2017 00:38:59 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-1522</guid>
		<description><![CDATA[I love Unison. But it&#039;s not under active development. So I&#039;m always for trying something new. So far nothing has come close to Unison&#039;s &quot;perfection&quot;. So I like your project&#039;s description giving credit to Unison. I need Unison because my university only allow SSH from outside. Even Syncthing&#039;s relays fail there.

The question: is there an option to always prefer the newer when in conflict? I usually sync from work to home, work at home, and sync back to work. So there&#039;s not much conflict. And almost always the solutions is to prefer the newer. If you don&#039;t have this option, I&#039;ll probably stick to unison, since I can run it non-interactively.

Extra question: I know it is hard to do a dropbox-like behavior. My guess is that it would require something like inotify to run periodically on all machines and propagate when needed. Any plans in this direction?]]></description>
		<content:encoded><![CDATA[<p>I love Unison. But it&#8217;s not under active development. So I&#8217;m always for trying something new. So far nothing has come close to Unison&#8217;s &#8220;perfection&#8221;. So I like your project&#8217;s description giving credit to Unison. I need Unison because my university only allow SSH from outside. Even Syncthing&#8217;s relays fail there.</p>
<p>The question: is there an option to always prefer the newer when in conflict? I usually sync from work to home, work at home, and sync back to work. So there&#8217;s not much conflict. And almost always the solutions is to prefer the newer. If you don&#8217;t have this option, I&#8217;ll probably stick to unison, since I can run it non-interactively.</p>
<p>Extra question: I know it is hard to do a dropbox-like behavior. My guess is that it would require something like inotify to run periodically on all machines and propagate when needed. Any plans in this direction?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guy Bencteux</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-1480</link>
		<dc:creator><![CDATA[Guy Bencteux]]></dc:creator>
		<pubDate>Thu, 17 Nov 2016 20:27:35 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-1480</guid>
		<description><![CDATA[Bonjour, 
je viens de télécharger bsync. Ca correspond exactement à ce que je cherchais à faire depuis plusieurs mois. J&#039;utilise deux machines, une fixe et un portable et je veux que les modifications faites sur l&#039;une des machines soient facilement reportées sur l&#039;autre... avec gestion des conflits bien sûr !
Ce message juste pour vous remercier de l&#039;avoir fait et de l&#039;avoir mis à disposition !]]></description>
		<content:encoded><![CDATA[<p>Bonjour,<br />
je viens de télécharger bsync. Ca correspond exactement à ce que je cherchais à faire depuis plusieurs mois. J&#8217;utilise deux machines, une fixe et un portable et je veux que les modifications faites sur l&#8217;une des machines soient facilement reportées sur l&#8217;autre&#8230; avec gestion des conflits bien sûr !<br />
Ce message juste pour vous remercier de l&#8217;avoir fait et de l&#8217;avoir mis à disposition !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JGE</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-1229</link>
		<dc:creator><![CDATA[JGE]]></dc:creator>
		<pubDate>Wed, 09 Sep 2015 15:05:05 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-1229</guid>
		<description><![CDATA[Great utility, thanks for this. I&#039;m looking to keep a remote directory in sync by running this nightly, any way I could disable prompts for confirmations on file transfers?]]></description>
		<content:encoded><![CDATA[<p>Great utility, thanks for this. I&#8217;m looking to keep a remote directory in sync by running this nightly, any way I could disable prompts for confirmations on file transfers?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dooblem</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-1206</link>
		<dc:creator><![CDATA[dooblem]]></dc:creator>
		<pubDate>Wed, 24 Jun 2015 17:25:49 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-1206</guid>
		<description><![CDATA[Bonjour Eric,
Je n&#039;ai malheureusement plus le temps de m&#039;occuper de bsync ces temps-ci.
Mais toute contribution est la bienvenue !
Marc]]></description>
		<content:encoded><![CDATA[<p>Bonjour Eric,<br />
Je n&#8217;ai malheureusement plus le temps de m&#8217;occuper de bsync ces temps-ci.<br />
Mais toute contribution est la bienvenue !<br />
Marc</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Éric</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-1205</link>
		<dc:creator><![CDATA[Éric]]></dc:creator>
		<pubDate>Wed, 24 Jun 2015 09:11:14 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-1205</guid>
		<description><![CDATA[Bonjour,
est-ce qu&#039;une GUI serait possible d&#039;après vous ? je suis asse fan de l&#039;efficacité de celle d&#039;unison mais je ne l&#039;utilise plus à cause du temps de création de ses archives à chaque fois qu&#039;on a un nouveau &quot;truc&quot; à synchroniser (ce qui m&#039;arrive tout le temps).
Je suis passé à bsync, un plaisir, mais impossible de le mettre entre les mains des personnes qui m&#039;entourent, ouvrir une console ... comment dire :p

Merci d&#039;avance,
Éric]]></description>
		<content:encoded><![CDATA[<p>Bonjour,<br />
est-ce qu&#8217;une GUI serait possible d&#8217;après vous ? je suis asse fan de l&#8217;efficacité de celle d&#8217;unison mais je ne l&#8217;utilise plus à cause du temps de création de ses archives à chaque fois qu&#8217;on a un nouveau &#8220;truc&#8221; à synchroniser (ce qui m&#8217;arrive tout le temps).<br />
Je suis passé à bsync, un plaisir, mais impossible de le mettre entre les mains des personnes qui m&#8217;entourent, ouvrir une console &#8230; comment dire :p</p>
<p>Merci d&#8217;avance,<br />
Éric</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: F. Chabaud</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-1041</link>
		<dc:creator><![CDATA[F. Chabaud]]></dc:creator>
		<pubDate>Fri, 29 Aug 2014 17:17:55 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-1041</guid>
		<description><![CDATA[Merci pour ce petit utilitaire simple et bien pratique.
Comme je l&#039;utilise dans une crontab et que je n&#039;ai pas envie de recevoir des messages quand il ne se passe rien j&#039;ai rajouté deux options :
-b : mode batch non interactif (toutes les actions sont réalisées)
-n : mode dry-run pour les tests (aucune action réalisée)

--- bsync.1     2014-08-29 19:07:53.295304257 +0200
+++ bsync       2014-08-29 19:15:58.445350377 +0200
@@ -521,9 +521,11 @@
                        print(&quot; 1a      Keep left version for all&quot;)
                        print(&quot; 2a      Keep right version for all&quot;)
                        print(&quot;  Please note: you will be able to confirm the actions later.\n&quot;)
-
-               resp = myinput(&quot;Which one do I keep? [1/2/1a/2a/Quit/Help] &quot;)
-
+
+               if interactive:
+                       resp = myinput(&quot;Which one do I keep? [1/2/1a/2a/Quit/Help] &quot;)
+               else
+                       sys.exit(1)
                if resp == &quot;1&quot; or resp == &quot;2&quot; or resp == &quot;1a&quot; or resp == &quot;2a&quot;:
                        return resp
                elif resp == &quot;q&quot; or resp == &quot;Q&quot; or resp == &quot;Quit&quot;:
@@ -736,6 +738,8 @@
        usage+= &quot;       DIR can be user@sshserver:DIR\n&quot;
        usage+= &quot;       -v              Verbose\n&quot;
        usage+= &quot;       -i              Ignore permissions\n&quot;
+       usage+= &quot;       -b              Batch script (non interactive automatic approval)\n&quot;
+       usage+= &quot;       -n              Dry-run (non interactive dry-run)\n&quot;
        usage+= &quot;       -p PORT         Port for SSH\n&quot;
        usage+= &quot;       -o SSHARGS      Custom options for SSH\n&quot;
        printerr(usage)
@@ -744,13 +748,14 @@
 
 #### process commandline args
 try:
-       opts, args = getopt.gnu_getopt(sys.argv[1:], &quot;vcip:o:&quot;)
+       opts, args = getopt.gnu_getopt(sys.argv[1:], &quot;vcbnip:o:&quot;)
 except getopt.GetoptError as err:
        printerr(err)
        usage()
        sys.exit(2)
 
-verbose = check = ignoreperms = False
+verbose = check = ignoreperms = dryrun = False
+interactive = True
 sshport = None
 sshargs = &quot;&quot;
 for o, a in opts:
@@ -760,6 +765,10 @@
                ignoreperms = True
        elif o == &quot;-c&quot;:
                check = True
+       elif o == &quot;-n&quot;:
+               dryrun = True
+       elif o == &quot;-b&quot;:
+               interactive = False
        elif o == &quot;-p&quot;:
                sshport = a
        elif o == &quot;-o&quot;:
@@ -804,7 +813,7 @@
 except:
        console_width = 0
 
-print(&quot;Loading filelists...&quot;)
+if interactive: print(&quot;Loading filelists...&quot;)
 
 printv(&quot;Loading original filelist from snap files...&quot;)
 snapname, origlist, ignores = load_orig(ssh1,dir1name, ssh2,dir2name)
@@ -1000,7 +1009,7 @@
 if len(mkdir1)==0 and len(moves1)==0 and len(rm1)==0 and len(rmdirs1)==0 and len(copy21)==0 and len(sync21)==0 and \
    len(mkdir2)==0 and len(moves2)==0 and len(rm2)==0 and len(rmdirs2)==0 and len(copy12)==0 and len(sync12)==0:
        if check: rsync_check(ssh1,dir1name, ssh2,dir2name)
-       print(&quot;Identical directories. Nothing to do.&quot;)
+       if interactive: print(&quot;Identical directories. Nothing to do.&quot;)
        if snapname == None:
                make_snapshots(ssh1,dir1name, ssh2,dir2name, snapname)
        sys.exit()
@@ -1017,10 +1026,12 @@
 print(&quot;Todo in &quot;+args[1]+&quot;: &quot;+get_dir_summary(mkdir2,moves2,rm2,rmdirs2, copy12,sync12))
 
 resp = &quot;none&quot;
-while resp != &quot;y&quot; and resp != &quot;n&quot;:
-       resp = myinput(&quot;Apply actions? [y/N] &quot;).lower()
-       if resp == &quot;&quot;: resp = &quot;n&quot;
-print()
+if dryrun: resp = &quot;n&quot;
+if interactive:
+       while resp != &quot;y&quot; and resp != &quot;n&quot;:
+               resp = myinput(&quot;Apply actions? [y/N] &quot;).lower()
+               if resp == &quot;&quot;: resp = &quot;n&quot;
+       print()
 if resp == &quot;n&quot;:
        print(&quot;Leaving files in place.&quot;)
        sys.exit()]]></description>
		<content:encoded><![CDATA[<p>Merci pour ce petit utilitaire simple et bien pratique.<br />
Comme je l&#8217;utilise dans une crontab et que je n&#8217;ai pas envie de recevoir des messages quand il ne se passe rien j&#8217;ai rajouté deux options :<br />
-b : mode batch non interactif (toutes les actions sont réalisées)<br />
-n : mode dry-run pour les tests (aucune action réalisée)</p>
<p>&#8212; bsync.1     2014-08-29 19:07:53.295304257 +0200<br />
+++ bsync       2014-08-29 19:15:58.445350377 +0200<br />
@@ -521,9 +521,11 @@<br />
                        print(&#8221; 1a      Keep left version for all&#8221;)<br />
                        print(&#8221; 2a      Keep right version for all&#8221;)<br />
                        print(&#8221;  Please note: you will be able to confirm the actions later.\n&#8221;)<br />
-<br />
-               resp = myinput(&#8220;Which one do I keep? [1/2/1a/2a/Quit/Help] &#8220;)<br />
-<br />
+<br />
+               if interactive:<br />
+                       resp = myinput(&#8220;Which one do I keep? [1/2/1a/2a/Quit/Help] &#8220;)<br />
+               else<br />
+                       sys.exit(1)<br />
                if resp == &#8220;1&#8243; or resp == &#8220;2&#8243; or resp == &#8220;1a&#8221; or resp == &#8220;2a&#8221;:<br />
                        return resp<br />
                elif resp == &#8220;q&#8221; or resp == &#8220;Q&#8221; or resp == &#8220;Quit&#8221;:<br />
@@ -736,6 +738,8 @@<br />
        usage+= &#8221;       DIR can be user@sshserver:DIR\n&#8221;<br />
        usage+= &#8221;       -v              Verbose\n&#8221;<br />
        usage+= &#8221;       -i              Ignore permissions\n&#8221;<br />
+       usage+= &#8221;       -b              Batch script (non interactive automatic approval)\n&#8221;<br />
+       usage+= &#8221;       -n              Dry-run (non interactive dry-run)\n&#8221;<br />
        usage+= &#8221;       -p PORT         Port for SSH\n&#8221;<br />
        usage+= &#8221;       -o SSHARGS      Custom options for SSH\n&#8221;<br />
        printerr(usage)<br />
@@ -744,13 +748,14 @@</p>
<p> #### process commandline args<br />
 try:<br />
-       opts, args = getopt.gnu_getopt(sys.argv[1:], &#8220;vcip:o:&#8221;)<br />
+       opts, args = getopt.gnu_getopt(sys.argv[1:], &#8220;vcbnip:o:&#8221;)<br />
 except getopt.GetoptError as err:<br />
        printerr(err)<br />
        usage()<br />
        sys.exit(2)</p>
<p>-verbose = check = ignoreperms = False<br />
+verbose = check = ignoreperms = dryrun = False<br />
+interactive = True<br />
 sshport = None<br />
 sshargs = &#8220;&#8221;<br />
 for o, a in opts:<br />
@@ -760,6 +765,10 @@<br />
                ignoreperms = True<br />
        elif o == &#8220;-c&#8221;:<br />
                check = True<br />
+       elif o == &#8220;-n&#8221;:<br />
+               dryrun = True<br />
+       elif o == &#8220;-b&#8221;:<br />
+               interactive = False<br />
        elif o == &#8220;-p&#8221;:<br />
                sshport = a<br />
        elif o == &#8220;-o&#8221;:<br />
@@ -804,7 +813,7 @@<br />
 except:<br />
        console_width = 0</p>
<p>-print(&#8220;Loading filelists&#8230;&#8221;)<br />
+if interactive: print(&#8220;Loading filelists&#8230;&#8221;)</p>
<p> printv(&#8220;Loading original filelist from snap files&#8230;&#8221;)<br />
 snapname, origlist, ignores = load_orig(ssh1,dir1name, ssh2,dir2name)<br />
@@ -1000,7 +1009,7 @@<br />
 if len(mkdir1)==0 and len(moves1)==0 and len(rm1)==0 and len(rmdirs1)==0 and len(copy21)==0 and len(sync21)==0 and \<br />
    len(mkdir2)==0 and len(moves2)==0 and len(rm2)==0 and len(rmdirs2)==0 and len(copy12)==0 and len(sync12)==0:<br />
        if check: rsync_check(ssh1,dir1name, ssh2,dir2name)<br />
-       print(&#8220;Identical directories. Nothing to do.&#8221;)<br />
+       if interactive: print(&#8220;Identical directories. Nothing to do.&#8221;)<br />
        if snapname == None:<br />
                make_snapshots(ssh1,dir1name, ssh2,dir2name, snapname)<br />
        sys.exit()<br />
@@ -1017,10 +1026,12 @@<br />
 print(&#8220;Todo in &#8220;+args[1]+&#8221;: &#8220;+get_dir_summary(mkdir2,moves2,rm2,rmdirs2, copy12,sync12))</p>
<p> resp = &#8220;none&#8221;<br />
-while resp != &#8220;y&#8221; and resp != &#8220;n&#8221;:<br />
-       resp = myinput(&#8220;Apply actions? [y/N] &#8220;).lower()<br />
-       if resp == &#8220;&#8221;: resp = &#8220;n&#8221;<br />
-print()<br />
+if dryrun: resp = &#8220;n&#8221;<br />
+if interactive:<br />
+       while resp != &#8220;y&#8221; and resp != &#8220;n&#8221;:<br />
+               resp = myinput(&#8220;Apply actions? [y/N] &#8220;).lower()<br />
+               if resp == &#8220;&#8221;: resp = &#8220;n&#8221;<br />
+       print()<br />
 if resp == &#8220;n&#8221;:<br />
        print(&#8220;Leaving files in place.&#8221;)<br />
        sys.exit()</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dooblem</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-440</link>
		<dc:creator><![CDATA[dooblem]]></dc:creator>
		<pubDate>Mon, 10 Feb 2014 12:29:49 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-440</guid>
		<description><![CDATA[Hi,

Thanks for your feedback.

&lt;blockquote&gt;
 1. What if DIRX is a ssh location on a different port other than 22? What is the syntax? 
&lt;/blockquote&gt;

I just commited a patch a few days ago, you should be able to use the -p flag for that.

&lt;blockquote&gt;
1. When about to sync directories, change list should be redisplayed briefly. If I expect “there should be no copy from DIR1 to DIR2″, I should see it in the last part, before “yes/no” prompt, something like:
…
file copies –&gt; : 3
file copies &lt;– : 89
yes/no?
&lt;/blockquote&gt;
Good idea. I just added a Wishlist ticket on github : https://github.com/dooblem/bsync/issues/1
Feel free to comment it if needed.

&lt;blockquote&gt;
2. Database should keep a track of mount information. If any of the directories was mounted before and not now, sync should be canceled. 
&lt;/blockquote&gt;
I&#039;m not sure bsync should be aware of mount points (do you expect rsync to be aware of that ?). But if any mount point changes, the user should see the problem in the transfer summary and cancel it.
With the summary feature you just asked it should be ok no ?
What you could also do is make a bash wrapper script around bsync that exports the mount points before each sync, and exits if a mount point changes.

&lt;blockquote&gt;
3. There should be a versioning option. This will be good for safety and other usages.
&lt;/blockquote&gt;
If you need full versioning, you can use git for that. But we may have an option like the --backup flag of rsync.]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Thanks for your feedback.</p>
<blockquote><p>
 1. What if DIRX is a ssh location on a different port other than 22? What is the syntax?
</p></blockquote>
<p>I just commited a patch a few days ago, you should be able to use the -p flag for that.</p>
<blockquote><p>
1. When about to sync directories, change list should be redisplayed briefly. If I expect “there should be no copy from DIR1 to DIR2″, I should see it in the last part, before “yes/no” prompt, something like:<br />
…<br />
file copies –> : 3<br />
file copies < – : 89<br />
yes/no?
</p></blockquote>
<p>Good idea. I just added a Wishlist ticket on github : <a href="https://github.com/dooblem/bsync/issues/1" rel="nofollow">https://github.com/dooblem/bsync/issues/1</a><br />
Feel free to comment it if needed.</p>
<blockquote><p>
2. Database should keep a track of mount information. If any of the directories was mounted before and not now, sync should be canceled.
</p></blockquote>
<p>I&#8217;m not sure bsync should be aware of mount points (do you expect rsync to be aware of that ?). But if any mount point changes, the user should see the problem in the transfer summary and cancel it.<br />
With the summary feature you just asked it should be ok no ?<br />
What you could also do is make a bash wrapper script around bsync that exports the mount points before each sync, and exits if a mount point changes.</p>
<blockquote><p>
3. There should be a versioning option. This will be good for safety and other usages.
</p></blockquote>
<p>If you need full versioning, you can use git for that. But we may have an option like the &#8211;backup flag of rsync.</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cerem Cem ASLAN</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comment-439</link>
		<dc:creator><![CDATA[Cerem Cem ASLAN]]></dc:creator>
		<pubDate>Mon, 10 Feb 2014 09:35:30 +0000</pubDate>
		<guid isPermaLink="false">http://fr.positon.org/?p=152#comment-439</guid>
		<description><![CDATA[I loved bsync. It is easy to use and has distributed database, and written in Python. 

There is a problem: 
1. What if DIRX is a ssh location on a different port other than 22? What is the syntax? 

There is my WISH/TODO list: 
1. When about to sync directories, change list should be redisplayed briefly. If I expect &quot;there should be no copy from DIR1 to DIR2&quot;, I should see it in the last part, before &quot;yes/no&quot; prompt, something like: 
...
file copies --&gt; : 3
file copies &lt;-- : 89
yes/no?

2. Database should keep a track of mount information. If any of the directories was mounted before and not now, sync should be canceled. 

3. There should be a versioning option. This will be good for safety and other usages.]]></description>
		<content:encoded><![CDATA[<p>I loved bsync. It is easy to use and has distributed database, and written in Python. </p>
<p>There is a problem:<br />
1. What if DIRX is a ssh location on a different port other than 22? What is the syntax? </p>
<p>There is my WISH/TODO list:<br />
1. When about to sync directories, change list should be redisplayed briefly. If I expect &#8220;there should be no copy from DIR1 to DIR2&#8243;, I should see it in the last part, before &#8220;yes/no&#8221; prompt, something like:<br />
&#8230;<br />
file copies &#8211;&gt; : 3<br />
file copies &lt;&#8211; : 89<br />
yes/no?</p>
<p>2. Database should keep a track of mount information. If any of the directories was mounted before and not now, sync should be canceled. </p>
<p>3. There should be a versioning option. This will be good for safety and other usages.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
