<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<br><div><div>On Mar 4, 2008, at 10:22 AM, Mohit Aron wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">1) How can one pull specific changesets from one repository to another ? It seems mercurial provides good support to pull all changesets up to a given number, but doesn't provide support to pick only a specific changeset and skip earlier ones. This functionality is really important when a release repository is cut out from the main development one, and from thereon only bug fixes need to be merged.</blockquote><div><br class="webkit-block-placeholder"></div><div>Have you tried the 'transplant' extension. It allows you to merge individual patches from another repository.</div><br><blockquote type="cite"><br>2) It seems one can just modify files without telling mercurial about the intent to do so. And then 'hg status' has to figure out what all is being modified - possibly by doing a 'stat' on each file in the repository. While this might be ok for a local disk, this is terrible for workspaces on NFS. I think future mercurial releases should consider supporting a mode where one needs to explicitly do a 'hg edit filename' to tell mercurial that it is going to modify a file (same as perforce). Any other files that are modified would not show up in 'hg status' - in fact, it might be better if files don't have write permissions unless one does an 'hg edit' on it.<br> <br></blockquote></div><div><br class="webkit-block-placeholder"></div><div>Mercurial does indeed perform a 'stat' on every file in the source tree, and that would cause bad performance on NFS. While keeping repositories on NFS works it does get pretty slow. This issues is common to most if not all DVCSes, and Subversion suffers from it too. I clone my workspaces to a local disk, and keep a copy of the repository on the file server. I run 'hg push' while I get a cup of coffee :-)</div><div><br class="webkit-block-placeholder"></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div>--</div><div>Gé Weijers</div><div><a href="mailto:ge@weijers.org">ge@weijers.org</a></div><div><br class="khtml-block-placeholder"></div><br class="Apple-interchange-newline"></span></span> </div><br></body></html>