From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1M0jyk-0003LJ-Bv for garchives@archives.gentoo.org; Sun, 03 May 2009 22:16:10 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5E813E0790; Sun, 3 May 2009 22:16:09 +0000 (UTC) Received: from eastrmmtao102.cox.net (eastrmmtao102.cox.net [68.230.240.8]) by pigeon.gentoo.org (Postfix) with ESMTP id 2F09CE0790 for ; Sun, 3 May 2009 22:16:09 +0000 (UTC) Received: from eastrmimpo02.cox.net ([68.1.16.120]) by eastrmmtao102.cox.net (InterMail vM.7.08.02.01 201-2186-121-102-20070209) with ESMTP id <20090503221608.HIUQ14603.eastrmmtao102.cox.net@eastrmimpo02.cox.net> for ; Sun, 3 May 2009 18:16:08 -0400 Received: from [192.168.125.11] ([70.174.182.153]) by eastrmimpo02.cox.net with bizsmtp id nAG81b00G3JzHGu02AG8rS; Sun, 03 May 2009 18:16:08 -0400 X-Authority-Analysis: v=1.0 c=1 a=2wiK9N27TCAA:10 a=FMDvwsZFDGYA:10 a=6sfHDuzBfWk7HrAbDD8A:9 a=2xtHUzECY8keNEo1_L0A:7 a=emGFocCifpDsy_Sw_VuJRuhCs_QA:4 X-CM-Score: 0.00 Subject: Re: [gentoo-user] sync'ing two computers (not related to emerge) From: Brandon Vargo To: gentoo-user@lists.gentoo.org In-Reply-To: <5f14cf5e0905030732q6ea69da2k608c77541f58d31f@mail.gmail.com> References: <5f14cf5e0905021433g1a70d981i8dd60c8254491d6c@mail.gmail.com> <1241303785.20917.61.camel@mercury> <5f14cf5e0905030732q6ea69da2k608c77541f58d31f@mail.gmail.com> Content-Type: text/plain Date: Sun, 03 May 2009 18:16:08 -0400 Message-Id: <1241388968.5106.63.camel@mercury> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org Mime-Version: 1.0 X-Mailer: Evolution 2.24.5 Content-Transfer-Encoding: 7bit X-Archives-Salt: 858b146f-02a4-4180-8cc0-3d7995aa1fc7 X-Archives-Hash: e36b1fa91cc797c88bb734ddb91656d6 On Sun, 2009-05-03 at 10:32 -0400, Simon wrote: > > How long is unison taking to check for changes? I can usually reconcile > > changes in my home directory (approximately 45G, 125,000 files) in less > > than 10-15 seconds between my slow laptop drive and a remote machine. > > However, if you are syncing with a Windows machine, expect the sync to > > be much slower. Fast checking is not safe on Windows, as unison can miss > > changes, so it scans every file every time unless you tell it otherwise. > > Ok i had to try a few times and now with tcpkeepalive being turned on > it doesnt disconnect. But when the scan is done, it 'reconciles' the > changes (so it has received the changes from the remote end) and > Begins the transfer of a dozen files, but not a bit is transfered. > The sshd and unison process on the remote host are waiting/sleeping or > in coma, but nothing happens. > > I just tried again and let it sit on the transfer to see if the > processes would wake up, but it read from remote host that connection > timed out. I'm not sure but this may be due to the fact i'm on an > unstable link... I'll try once more with a ssh session on the side to > see if that session will get disconnected or not... > > It would be so nice if unison could 'remember' the changes on my HD > against its local archive... anyway... > > Thanks, Simon An unstable link is probably triggering your issue. If the link dies and comes back, unison (at least version 2.27.57, what I have here) gets confused and just sits there. What's interesting is that if unison is killed on the initiating machine, the remote process stops as well, which leads me to believe this is a bug in unison; they can talk, but they don't do anything. I've glanced at the code before despite my lack of familiarity with OCaml, as my wireless connection will often die, causing much grief, but I've never found a solution. You could try syncing subdirectories iteratively within what you want to sync and hope that your connection does not die during the smaller sync, but that really isn't a good solution. I personally use this method to speed up synchronization if, for example, I only need my latest CS project synchronized but not any new music I may have. Unison is smart enough to use the same hash database if you use the same root directories and use the Path directive in your configuration to limit what is synchronized, so it should not re-hash your files on a later sync. As for other solutions, if you cannot get unison to work with your connection, I would suggest using a DVCS. I tried synchronizing my home directory with git before finding unison. The DVCS approach is better than SVN or CVS because it takes up less space and does not require a server. The disadvantages are the increased space used to store the backend files and the need to commit all of your files before pushing/pulling to/from the other machine (though I guess that could be an advantage, depending on your needs). It isn't optimal, but it can work, despite the git manual specifically mentioning that git was not made to do such a thing. Mercurial might work better, but I've never tried to use it. You might hit the same issues if the connection dies; I don't know. If you do find something that works similar to unison, but is more robust, I'd love to hear about it. I've tired a number of things, but I keep coming back to unison, despite its issues. Regards, Brandon Vargo