Hi Luca,<br><br><div class="gmail_quote">On Thu, Jun 9, 2011 at 10:59 PM, Luca <span dir="ltr">&lt;<a href="mailto:yelsma@tin.it">yelsma@tin.it</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Dear Mercurial Users,<br>
my company would like to switch from svn to hg, but when pulling or cloning from svn, hg goes in out of memory.<br>
There is a svn revision that takes about 280 mb and all the revisions after cannot be cloned neither pulled.<br>
<br>
I successfully converted the svn repo to a hg one (with hgsubversion) only when I used a 64 bit version of Windows.<br>
After that, I tried to &quot;hgclone&quot; it from a 32 bit Windows machine, but it always fails, &#39;out of memory&#39;.<br>
<br>
I see there is a link with some useful hints:<br>
<a href="http://stackoverflow.com/questions/4503568/is-it-possible-to-clone-with-hgsubversion-in-steps" target="_blank">http://stackoverflow.com/questions/4503568/is-it-possible-to-clone-with-hgsubversion-in-steps</a><br>

but all the strategies don&#39;t work fine since there is a svn revision too big for &quot;hg on 32&quot;.<br>
<br>
I also checked that with a 32 bit version of Windows using hg I can create a repo and commit a large file (280mb), but then I cannot clone it!!<br>
<br>
We need to track source files but also some big binary file, so we need to use a tool that can manage also large files, locking them if necessary.<br>
We tried bigfiles extension, but it is a bit complicated since we need another way to synchronize big files (e.g. ftp) while with svn we have a faster bootstrap time:  &quot;install prerequisites, svn checkout and go&quot;. This is very useful, especially from foreign base.<br>

<br>
HG manages very well branches and can track a big number of files in a fast way, but it seems a bit strange we cannot do what the old svn did.<br>
There is a plan to fix this lack on a 32 bit machine?<br>
<br>
I would be grateful if someone could help me; advices are welcome.<br>
Thanx in advance.<br>
<br>
Luca<br></blockquote><div><br>Mercurial is known to run out of memory when dealing with very large files; if you add a file larger than about 10 MB it will generally warn you that the file will take large amounts of memory to perform Mercurial operations on.  This has to do with the fact that some operations involve loading the entire file into memory.  Maybe it can be seen as a limitation to Mercuria, or maybe not -- but distributed version control systems in generall do not handle large files well.  Some more information about large files in Mercurial is here: <a href="http://mercurial.selenic.com/wiki/HandlingLargeFiles">http://mercurial.selenic.com/wiki/HandlingLargeFiles</a><br>
<br>Mercurial is (as far as I know) unique in the DVCS world becasue there are some options for handling large binary files, although, as you mentioned from trying the BigFiles extension, they do make your setup a bit more more complicated.  One that I would recommend is the HugeFiles extension (still in the very early stages -- <a href="https://bitbucket.org/repo/all?name=HugeFiles">https://bitbucket.org/repo/all?name=HugeFiles</a>), which is an extension of the KBfiles (<a href="http://kiln.stackexchange.com/questions/1873/how-do-you-use-kbfiles">http://kiln.stackexchange.com/questions/1873/how-do-you-use-kbfiles</a>) with the intent of being easy to use outside of Kiln.  If it is not urgent for you, that those of us who are working on the HugeFiles extension are planning on releasing a much more developed and polished version of the extensions in about a month or so.<br>
<br>Also, I&#39;ve never used it but I have heard reports from a couple of people that the Snap Extension works well (<a href="http://mercurial.selenic.com/wiki/SnapExtension">http://mercurial.selenic.com/wiki/SnapExtension</a>).<br>
<br>We use Kbfiles/HugeFiles in our setup which is a 1.7 GB repository with about 1.2 of these being large binaries (one of them as large as 250 MB).<br><br>As far as I know, there is no way to deal with large binaries in your repository without using one of these tools.  If you decide to try out the HugeFiles extension, then please let me know.  Of course implementation of these solutions would also require that you get your code out of subversion into a proper Mercurial repository.<br>
<br>As for whether the core Mercurial team plans to somehow address the issue of large binary files internall, I don&#39;t kow -- someone with more knowledge in that area would have to comment.<br><br>Cheers,<br>Na&#39;Tosha</div>
</div><br clear="all"><br>-- <br><div><div><span style="color: rgb(153, 153, 153);"><b>Na&#39;Tosha Bard</b></span></div><div><font color="#999999">Build &amp; Infrastructure Developer | Unity Technologies</font></div><div>
<font color="#999999"><br></font></div><div><font color="#999999"><b>E-Mail:</b> <a href="mailto:natosha@unity3d.com" target="_blank">natosha@unity3d.com</a></font></div><div><font color="#999999"><b>Skype:</b> natosha.bard</font></div>
</div><br>