LWN: Comments on "DVCS-autosync" https://lwn.net/Articles/442841/ This is a special feed containing comments posted to the individual LWN article titled "DVCS-autosync". en-us Thu, 16 Oct 2025 04:17:14 +0000 Thu, 16 Oct 2025 04:17:14 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net DVCS-autosync https://lwn.net/Articles/445418/ https://lwn.net/Articles/445418/ Jan_Zerebecki <div class="FormattedComment"> One can just keep the whole home directory in git to avoid needing symlinks or something similar. By ignoring * and then negating specific ignores like !.bashrc one gets the same selectiveness. Negated ignores are documented in man gitignore.<br> </div> Tue, 31 May 2011 20:42:59 +0000 symlinks, immutability, wrappers, hardlinks, mount-bind https://lwn.net/Articles/445002/ https://lwn.net/Articles/445002/ Duncan <div class="FormattedComment"> At least four independent techniques exist for keeping files in two different trees in sync, three of which have already been mentioned in other replies, but it's worth collecting them into one comment, and I didn't see the fourth mentioned at all, yet.<br> <p> Symlinks: When I switched from MS dark side, symlinks quickly became my favorite *ix filesystem feature. =:^) Unfortunately, by themselves, they have one significant already mentioned limitation: apps that write a temp file and then mv it over the old permanent file, possibly mv-ing the old version to backup at the same time. (This is A good technique on its own as it better ensures integrity of either the file or at last resort its backup, in case of a crash at the wrong moment, but as implemented by many apps, it's not compatible with symlinking.)<br> <p> In some cases, it might even be possible to reverse symlink, putting the symlinks in the sync-tree, if it's possible to tell whatever's syncing them (git by default, here, I don't know git well enough to know if it can handle that or not) to dereference symlinks instead of syncing the symlink itself.<br> <p> Ext2/3/4 users at least might also be able to work around the rewriting problem by setting the immutable bit on the file, particularly in the mentioned scenario where an app is overwriting the file even when nothing changed. For filesystems that don't implement immutable, filesystem permissions can be used, setting the file, or its directory if setting only the file doesn't work, read-only, and if necessary, changing the ownership (assuming one has the privs to do so, of course). I didn't see these mentioned as options, yet.<br> <p> Wrapper scripts: Someone mentioned application wrapper scripts as another option. Create a script by the same name and set it earlier in the path, have it copy the file in question out of the synced tree, then launch the desired app via absolute path name. The wrapper then waits around until the desired app exits, after which it copies the changed file back to the synced tree. (If the user doesn't want to save the changes, the app launch can use exec or similar to avoid having the wrapper stick around for the main app to finish.) Note that GUI launcher users may need to customize their GUI launcher to point at the wrapper, as it may already be using the absolute path or may not be using the same path ordering. FWIW I suspect many LWN users may already be using the wrapper technique for other purposes but may not have thought of using it as a solution for this problem.<br> <p> Hardlinks: Another suggested solution is hardlinks. That can work for some things, particularly in combination with the immutable/read-only technique above, but hard links have their own negatives. A major one discouraging their use here is that hardlinks are same-filesystem-only, thus limiting one's filesystem management flexibility. A second negative is that files with multiple hard links simply aren't particularly intuitive to those who started on the MS side of things, another weakness of at least the FAT filesystems (I'm unsure about NTFS), where such linking tended to be the result of filesystem corruption and wasn't supported as a feature.<br> <p> Mount-bind: Not yet mentioned, however, is the very useful mount --bind option, allowing one part of a filesystem, even an individual file, to be mounted elsewhere in the tree as well. =:^) This is a relatively new addition to the toolbox, and thus relatively unknown as it hasn't yet really entered the bank of common wisdom out there yet, as the Linux kernel and the mount command from the util-linux package haven't supported this for all that long. But at least for users with suitable mount privileges available, it is certainly one of the most powerful options, since it not only allows a user to make a directory or file existing in one location in the tree appear elsewhere either in addition or instead of the original location, but ALSO comes with all thue usual mount permissions restrictions ability, including making the mount read-only or read/write, nodev/noexec/nosuid, etc. Mount-binding a file as read-only in effect makes it immutable as addressed from that location, but without the usual filesystem-must-support-immutable limitations, as it's enforced by the kernel mount infrastruction instead of the filesystem. And while it makes little sense in the context of an individual file, directory/subtree level noexec/nodev/nosuid certainly has its uses, as well. Mount-bind functions in this way like an admin-level symlink, and I'm appreciating its benefits more and more as I use it, much as I did symlinks early on, when I first switched from the dark side.<br> <p> Certainly there's no shortage of choices for keeping a sync-tree file in sync with a file elsewhere in the tree. Given all the choices available, /one/ of them should be workable.<br> <p> Duncan<br> </div> Fri, 27 May 2011 04:56:43 +0000 DVCS-autosync https://lwn.net/Articles/444965/ https://lwn.net/Articles/444965/ nix <div class="FormattedComment"> Yes indeed. 'man gitattributes' and search for 'filter' for something that may help here.<br> </div> Thu, 26 May 2011 19:43:38 +0000 fsniper https://lwn.net/Articles/443860/ https://lwn.net/Articles/443860/ cdmiller <div class="FormattedComment"> Fsniper works nicely for DIY dropbox scripts. It can trigger version control systems, rsync, etc..<br> </div> Thu, 19 May 2011 22:13:28 +0000 DVCS-autosync https://lwn.net/Articles/443640/ https://lwn.net/Articles/443640/ dlang <div class="FormattedComment"> actually, since git does the compression itself, the answer is to have git uncompress the documents and version the uncompressed data. then when you check it out git assembles the version you want, then compresses it as you check it out.<br> <p> you can even insert XML aware diff engines if you want.<br> </div> Thu, 19 May 2011 05:20:22 +0000 DVCS-autosync https://lwn.net/Articles/443638/ https://lwn.net/Articles/443638/ smurf <div class="FormattedComment"> There are a couple of document formats which are singularly not suited for VCSes, though.<br> <p> OOo documents, for instance, are compressed XML files. There's no sane way to store multiple versions of these in a git archive. Store them uncompressed (dunno how to teach OOo that) and you get a signficant decrease in storage requirements, long-term.<br> <p> Still needs a domain specific conflict rresolver, of course. You could probably script your way into LibreOffice to do it, though it's nontrivial.<br> </div> Thu, 19 May 2011 05:07:57 +0000 DVCS-autosync https://lwn.net/Articles/443341/ https://lwn.net/Articles/443341/ zooko <div class="FormattedComment"> (Tahoe-LAFS hacker here)<br> <p> There are hooks to integrate git-annex with Tahoe-LAFS, and that might make it easier to do the sort of pruning you are talking about here.<br> <p> <a href="http://tahoe-lafs.org/trac/tahoe-lafs/wiki/RelatedProjects">http://tahoe-lafs.org/trac/tahoe-lafs/wiki/RelatedProjects</a><br> <p> Also, send me email at zooko@zooko.com and I'll hook you up with a Tahoe-LAFS storage service that you can use for testing.<br> </div> Tue, 17 May 2011 21:15:04 +0000 DVCS-autosync https://lwn.net/Articles/443210/ https://lwn.net/Articles/443210/ nye <div class="FormattedComment"> You appear to be describing bup: <a href="https://github.com/apenwarr/bup">https://github.com/apenwarr/bup</a><br> </div> Tue, 17 May 2011 14:45:28 +0000 DVCS-autosync https://lwn.net/Articles/443145/ https://lwn.net/Articles/443145/ dlang <div class="FormattedComment"> I agree that git does not do anything that useful for large binary files, and if that is all you are wanting to sync, then you are better looking at modifying git rather than using it directly.<br> <p> but this depends in large part on what these binary files are. git supports configurable diff/merge engines, so if there is any sane way to merge your 'binary' files, git will allow you to use it.<br> <p> please don't get me wrong, I'm not saying that git is perfect, just that it does a better job than anything else for the general case and brings a lot to the party. This makes basing a tool on git (or one of the other DVCS systems if you dislike git for some reason) a very reasonable thing to do rather than just developing your app from scratch.<br> </div> Mon, 16 May 2011 22:16:40 +0000 DVCS-autosync https://lwn.net/Articles/443143/ https://lwn.net/Articles/443143/ njs <div class="FormattedComment"> <font class="QuotedText">&gt; yes, for this use case you may be better of with CVS, but only until you have to reconcile differences between different locations. DVCS tools give you the framework (and many of the mechanisms) for doing this as part of their heritage </font><br> <p> Yes, of course. (Though in practice I'm not sure git's current merge mechanisms are well-optimized for the collection-of-large-binary-files case either.)<br> <p> But that doesn't change the point, which is that git is not a perfect match for this problem, and a better tool that was similar to git in some ways but not in others could potentially do substantially better.<br> <p> </div> Mon, 16 May 2011 22:11:02 +0000 DVCS-autosync https://lwn.net/Articles/443138/ https://lwn.net/Articles/443138/ dlang <div class="FormattedComment"> I don't know that it always uses mmap, but it's the use of mmap that imposes the file size limit on individual files.<br> <p> pack files are limited in that they use a 32 bit offset into them, but that's a matter of optimisation for files that can be diffed and compressed.<br> <p> <p> yes, for this use case you may be better of with CVS, but only until you have to reconcile differences between different locations. DVCS tools give you the framework (and many of the mechanisms) for doing this as part of their heritage <br> </div> Mon, 16 May 2011 21:53:16 +0000 DVCS-autosync https://lwn.net/Articles/443130/ https://lwn.net/Articles/443130/ njs <div class="FormattedComment"> Oh, does it use mmap exclusively for all file access now? Including repacking and everything? Neat.<br> <p> You need two local copies if you want to do local version control, and also to let people edit files normally on disk (as opposed to, say, interposing a FUSE filesystem to observe edits as they happen). But the systems we're talking about are not trying to do local version control. They're trying to do remote backup and syncing!<br> <p> *For this use-case*, you might almost be better off with CVS than with git. Its handling of binary files is dumb, but at least it wouldn't double your local storage requirements. Even better, of course, would be a system that stored the second copy on the remote server only, and then used something clever like rsync to upload the deltas.<br> <p> Or maybe one could do something clever with libgit2 and librsync to let you directly and efficiently commit a local set of files to a remote bare repository...<br> </div> Mon, 16 May 2011 21:34:22 +0000 DVCS-autosync https://lwn.net/Articles/443125/ https://lwn.net/Articles/443125/ dlang <div class="FormattedComment"> you have a valid point in terms of being able to mmap things (which is not quite the same as being able to fit them in memory). this is a limitation on 32 bit systems<br> <p> however, how can you do version control if you don't keep a copy of the file somewhere else? if someone changes it, how can you get back what was there before without another copy?<br> </div> Mon, 16 May 2011 21:12:43 +0000 DVCS-autosync https://lwn.net/Articles/443117/ https://lwn.net/Articles/443117/ njs <div class="FormattedComment"> So what's the difference? It's an "information tracker or content-addressable filesystem" that is heavily optimized on the assumptions that the information/content its holding is highly compressible (by deltas and by gzip), which makes it okay to have two copies of everything (one in the repo and one in the filesystem), and also (last I checked) that it can hold any individual file in RAM. Those things are totally reasonable assumptions for source code, and terrible assumptions for a directory full of Blu-Ray rips. (And those are just the two issues that occur off the top of my head.)<br> <p> Linus' point is that git is designed with good decoupled interfaces between its internal components, not that it's always going to be good at solving problems that it wasn't designed for.<br> <p> </div> Mon, 16 May 2011 20:58:10 +0000 DVCS-autosync https://lwn.net/Articles/443041/ https://lwn.net/Articles/443041/ Cato <div class="FormattedComment"> I found SpiderOak didn't work at all well, though that was two years back. I was using it mostly for online backups, and found it would never complete syncing, and on one machine with only a few GB to back up, it didn't back up most of the files. It also generated a corrupt ZIP file when trying to recover the data. I found the UI very complex given what it's trying to achieve is quite simple.<br> <p> It may have improved, but I'd encourage very careful testing at least.<br> </div> Mon, 16 May 2011 16:10:23 +0000 DVCS-autosync https://lwn.net/Articles/443039/ https://lwn.net/Articles/443039/ mathstuf <div class="FormattedComment"> Hmm...somehow missed that option. The rationale behind symlinks is that "uninstallation" of an application's configuration is easier (just clean up broken links in $HOME/{.*,bin}). Using hardlinks would solve the "keeping things in sync" problem, but still be less-than-ideal (false positives would be high when detecting "uninstalled" applications).<br> </div> Mon, 16 May 2011 15:37:13 +0000 DVCS-autosync https://lwn.net/Articles/443009/ https://lwn.net/Articles/443009/ drag <div class="FormattedComment"> Well that's confusing then.<br> <p> So Git is the backend for Git DVCS...<br> </div> Mon, 16 May 2011 11:00:10 +0000 DVCS-autosync https://lwn.net/Articles/443007/ https://lwn.net/Articles/443007/ dgm <div class="FormattedComment"> "Git is very carefully optimized to provide a high performance revision control system for text files."<br> <p> You were almost right up until "revision control system for text files". Linus described Git more in the line of an information tracker, or content addressable filesystem, used to implement a DVCS that accidentally bears the same name.<br> </div> Mon, 16 May 2011 10:53:24 +0000 DVCS-autosync https://lwn.net/Articles/443001/ https://lwn.net/Articles/443001/ yohahn <div class="FormattedComment"> This looks a bit out of date (last version 2009), but I've wondered about boxbackup <a href="http://www.boxbackup.org/">http://www.boxbackup.org/</a> as a DIY dropbox<br> </div> Mon, 16 May 2011 05:44:32 +0000 DVCS-autosync https://lwn.net/Articles/442990/ https://lwn.net/Articles/442990/ madscientist <div class="FormattedComment"> I've been using SpiderOak since last year and I think it's great. Very easy to use, and as mentioned it works on my Linux systems, my wife's Mac, and our kids' Windows systems. I like the encryption model where my content is encrypted locally using my local passphrase and only the already-encrypted content is stored remotely. The backup utility is quite flexible and doesn't require that you collect all your files to be backed up in one place.<br> <p> And it's 2G free or $100/yr for 100G of storage which is quite reasonable, IMO.<br> <p> <p> ObDisclaimer: I don't work for or have any financial interest in SpiderOak.<br> </div> Mon, 16 May 2011 00:18:39 +0000 DVCS-autosync https://lwn.net/Articles/442988/ https://lwn.net/Articles/442988/ drag <div class="FormattedComment"> Yeah I love git for a variety of reasons. I just worry that there is a impedance mismatch between it and the goal of 'Dropbox replacement'. <br> <p> Git is very carefully optimized to provide a high performance revision control system for text files. <br> <p> However typical Dropbox usage only deals with a tiny amount of text data and revision control is borderline irrelevant for most people's uses.<br> <p> I just remember using Git for a variety of purposes and realizing 'Hey putting that ISO image for the cdrom I made into my repository was a very very stupid thing to do'... yet people are going to want to store ISOs, mp3s, zip files, and huge raw-formatted camera images and other things of that nature in anything calling itself a 'A open source Dropbox replacement'<br> </div> Sun, 15 May 2011 23:47:04 +0000 DVCS-autosync https://lwn.net/Articles/442989/ https://lwn.net/Articles/442989/ bradfitz <div class="FormattedComment"> Yes, Camlistore is rapidly becoming a reasonable Dropbox replacement. Not quite yet, but I'm working on it every free second I have.<br> </div> Sun, 15 May 2011 23:42:35 +0000 DVCS-autosync https://lwn.net/Articles/442987/ https://lwn.net/Articles/442987/ nicooo How about using hard links for those files? Sun, 15 May 2011 23:22:59 +0000 DVCS-autosync https://lwn.net/Articles/442984/ https://lwn.net/Articles/442984/ dan_a <div class="FormattedComment"> Git in particular has one killer feature here - its built in checksumming which ensures that any copies of files are uncorrupted.<br> </div> Sun, 15 May 2011 21:38:05 +0000 DVCS-autosync https://lwn.net/Articles/442975/ https://lwn.net/Articles/442975/ sailorxyz <div class="FormattedComment"> A good commercial alternative to Dropbox is SpiderOak <a href="https://spideroak.com/">https://spideroak.com/</a> It's not quite as simple as Dropbox but uses proper encryption and only you have the keys. SpiderOak cannot access your files. It's also cheaper than Dropbox. They also have a free 2GB account. Works across Linux Mac and MS platforms.<br> </div> Sun, 15 May 2011 19:49:24 +0000 Unison! https://lwn.net/Articles/442943/ https://lwn.net/Articles/442943/ Velmont <div class="FormattedComment"> It is easy to build something similar around this. Using inotify, or incron, you can wait for close-signal, and then run unison on just that path-tree automatically.<br> <p> I do something like that, only a bit less advanced with my unison script. I really love Unison, and it blows the butt of Dropbox and has for my kind of use. :-)<br> <p> I have many machines, all of them using unison-323, it's not hard to standardize on a version, although yes, this could be easier.<br> </div> Sun, 15 May 2011 00:11:56 +0000 DVCS-autosync https://lwn.net/Articles/442941/ https://lwn.net/Articles/442941/ davidsarah <div class="FormattedComment"> The developers of Tahoe-LAFS are actively considering adding inotify-based synchronization, either via something like DVCS-Autosync or more directly using Pyinotify; see <a rel="nofollow" href="http://tahoe-lafs.org/pipermail/tahoe-dev/2011-May/006356.html">http://tahoe-lafs.org/pipermail/tahoe-dev/2011-May/006356...</a><br> </div> Sat, 14 May 2011 23:58:27 +0000 DVCS-autosync https://lwn.net/Articles/442937/ https://lwn.net/Articles/442937/ drag <div class="FormattedComment"> So when I want to share my 800MB movie with a friend or have it available on another machine it's just not going to happen. <br> <p> <p> <p> From dropbox's website:<br> <a href="https://www.dropbox.com/help/5">https://www.dropbox.com/help/5</a><br> <font class="QuotedText">&gt; Files uploaded to Dropbox via the desktop application have no file size limit.</font><br> <p> <font class="QuotedText">&gt; Files uploaded through the website (by pressing the upload button) have a 300 MB cap. In other words, each file you upload through the website must be 300 MB or less.</font><br> <p> <font class="QuotedText">&gt; All files uploaded to your Dropbox must be smaller than the size of your Dropbox account's storage quota. For example, if you have a free 2 GB account, you can upload one 2 GB file or many files that all add up to 2 GB. If you are over your storage quota, Dropbox will stop syncing until you are below your limit.</font><br> <p> <p> Dropbox's revision control system is optional and only will save revisions for 30 days. Many people want sync software to sync a significant amount of data.... I am guessing that for most people's purposes revision control is much less important then just automatic syncing. <br> <p> The ability to carelessly drop a file into your drop box and have it automatically available on any machine you happen to want to use is the 'killer feature' for Dropbox. The idea of trying to do something like manage a 4GB mp3 collection using something like Git commit sounds like a nightmare to me.<br> </div> Sat, 14 May 2011 21:45:16 +0000 DVCS-autosync https://lwn.net/Articles/442935/ https://lwn.net/Articles/442935/ dlang <div class="FormattedComment"> when trimming the history, I can see a couple of desired approaches<br> <p> 1. I want to keep all revisions up to X days/revisions ago, but I don't care much about anything before that.<br> <p> 2. I know that this is a good version, I want to make sure I can always see this version, but I don't care about all the other versions I haven't tagged.<br> <p> 3. I want to save one version per day/week/?? but not _every_ version (i.e. get me back into the approximate area, but don't spend the resources to save every version)<br> <p> I can also see combinations of these<br> <p> for example I want a snapshot each day, but every revision for the last week<br> <p> given how efficient the git compression can be, I would suggest having a dry-run mode that will tell you how much space you are saving by throwing away the history. for binary files it may be quite a bit, but for other files you may be surprised at how little it saves.<br> </div> Sat, 14 May 2011 20:53:51 +0000 DVCS-autosync https://lwn.net/Articles/442934/ https://lwn.net/Articles/442934/ dlang <div class="FormattedComment"> people are attracted to DVCS systems because they already address a lot of the problems that can come up when you have more than two locations that you are trying to sync.<br> <p> why reinvent the wheel when you can reuse the work that someone else has done?<br> </div> Sat, 14 May 2011 20:47:00 +0000 DVCS-autosync https://lwn.net/Articles/442933/ https://lwn.net/Articles/442933/ dlang <div class="FormattedComment"> it's not that git is especially inefficient at handling binary files, it's that the compression and other efficiencies that git can get with text files don't work on binary files.<br> <p> but git is not any worse in dealing with binary files than any other solution where you want to be able to retrieve any version that ever existed.<br> <p> that said, git does have some limitations in terms of max sizes of things<br> </div> Sat, 14 May 2011 20:45:39 +0000 DVCS-autosync https://lwn.net/Articles/442931/ https://lwn.net/Articles/442931/ elanthis <div class="FormattedComment"> You mean... people who _write code_ think like people who _write code_?<br> <p> How surprising.<br> </div> Sat, 14 May 2011 19:40:20 +0000 DVCS-autosync https://lwn.net/Articles/442918/ https://lwn.net/Articles/442918/ nix <div class="FormattedComment"> Actually, you can plug in domain-specific diff/merge tools into git (OpenOffice documents were a named use case for this). Obviously the merge tools for binary stuff need their own way to do conflict resolution as well.<br> <p> Git is exactly as efficient at handling binary files as handling text files: you have to go back to CVS to find something that isn't good at binary files.<br> <p> </div> Sat, 14 May 2011 13:08:50 +0000 DVCS-autosync https://lwn.net/Articles/442915/ https://lwn.net/Articles/442915/ loevborg <div class="FormattedComment"> I agree completely. DVCS are useful for plain text, which for almost anyone except programmers is only a tiny portion of your data. Using git doesn't gain you anything, because we can't use diff for ODF etc. What we need is pretty much a drop-in replacement for dropbox.<br> <p> With all due respect, this seems the expression of a sort of narrow-mindedness typical of programmers. People who work with source code all day assume that code is the model of computer work. However, code is actually very particular. What we really need is a place to store our letters, PDF forms, spreadsheets and so on, which are quite different from code in many respects.<br> <p> The situation is similar in the field of text editors. Here every week or so someone starts a new editor which targets ... programmers. But there still is hardly a single text editor which is any good for writing simple English language prose! Here there is little use for syntax coloring, line numbers, nonproportional fonts. Instead you need configurable line spacing, easy-to-read proportional fonts, paragraph-based (not line-based) navigation, word-wrapping, etc. Still instead of solving this very real problem, people come up with new solutions to already solved problems.<br> </div> Sat, 14 May 2011 12:50:41 +0000 DVCS-autosync https://lwn.net/Articles/442913/ https://lwn.net/Articles/442913/ juliank <div class="FormattedComment"> <font class="QuotedText">&gt; esmtp is similar in that it refuses to work</font><br> <font class="QuotedText">&gt; if $HOME/.esmtprc is a symlink which is at</font><br> <font class="QuotedText">&gt; least understandable, but still less than ideal.</font><br> <p> At least it works for /etc/esmtprc, I use that on my system to keep the esmtprc with password in it in an encrypted mount point.<br> <p> jak@jak-thinkpad:~$ ls -l /etc/esmtprc <br> lrwxrwxrwx 1 root root 25 Aug 2 2010 /etc/esmtprc -&gt; /home/jak/Private/esmtprc<br> <p> </div> Sat, 14 May 2011 12:12:07 +0000 DVCS-autosync https://lwn.net/Articles/442905/ https://lwn.net/Articles/442905/ nteon <div class="FormattedComment"> I stumbled across this earlier, which seems similar: <a href="http://camlistore.org/">http://camlistore.org/</a><br> </div> Sat, 14 May 2011 09:54:55 +0000 DVCS-autosync https://lwn.net/Articles/442902/ https://lwn.net/Articles/442902/ rmayr <div class="FormattedComment"> My personal use case is a tree of most of my work so far, including source code and documents. For these, I explicitly want the history (thinking of papers, theses, project proposals, reports, etc.) and have relied upon tracking the changes in quite a few instances. However, I try to keep large binary blobs outside this tree (that might change with decent git-annex integration, although I don't know (yet) how best to do that).<br> </div> Sat, 14 May 2011 09:44:31 +0000 DVCS-autosync https://lwn.net/Articles/442901/ https://lwn.net/Articles/442901/ rmayr <div class="FormattedComment"> <font class="QuotedText">&gt; I don't know how DVCS-autosync uses git, but there is nothing magical about "master" in git, in fact I rarely even care about it. All branches are equal with git, and all repos are equal. There is no need to even clone repos, simply init a new repo and fetch into it the branch you care about. git is a DVCS, it is not subversion.</font><br> <p> dvcs-autosync doesn't care about it at all. Whatever the checked out branch is, it will work on. Dieter and I have already been discussing that explicit support for branches may be good to have in future versions for accessing (and possibly modifying) older revisions. But right now, it's completely transparent. You can even have two clones of the repository (in different directories) pointing to different branches and have two instances of dvcs-autosync working on those branches concurrently. <br> </div> Sat, 14 May 2011 09:21:06 +0000 DVCS-autosync https://lwn.net/Articles/442900/ https://lwn.net/Articles/442900/ rmayr <div class="FormattedComment"> [dvcs-autosync author here...]<br> <p> That is what I will be trying to do for those files not managed by git-annex (not that git-annex support is done yet...). However, I don't know yet what the best way to rewrite the history will be and am happy to take any suggestions at this point. filter-branch is something I have used before for splitting repositories, but there may be better ways to reduce history. From a user point of view, the use cases that should be supported by the trimmed history are IMHO: a) "Give me the state of this directory at a point in time up to X days/weeks/months ago" and b) "I want this file as it was Y revisions ago". Everything that does not fit in either a) or b) with user-configured values for X and Y can be pruned.<br> </div> Sat, 14 May 2011 09:17:37 +0000 DVCS-autosync https://lwn.net/Articles/442896/ https://lwn.net/Articles/442896/ ptman <div class="FormattedComment"> If you only sync in one direction (mirror), rsync is usually a better choice than unison as it uses a (somewhat) standard protocol instead of requiring the exact same version of unison in both ends.<br> </div> Sat, 14 May 2011 06:24:29 +0000