{"thread":{"id":"50018","subject":"Efficient incremental update of a git repo from a large SVN repo. Bug or clueless user?","startedAt":"2018-12-12T20:12:41Z","lastAt":"2018-12-12T20:12:41Z","messageCount":1,"participants":["James Mason"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"365199","messageId":"6a498cf4-ec19-68b0-b81a-a4ae8b028cce@3ds.com","threadId":"50018","inReplyTo":null,"subject":"Efficient incremental update of a git repo from a large SVN repo. Bug or clueless user?","fromName":"James Mason","fromEmail":"james.mason@3ds.com","sentAt":"2018-12-12T20:11:28Z","receivedAt":"2018-12-12T20:12:41Z","isPatch":false,"sender":{"key":"james.mason@3ds.com","avatar":null},"body":"I have a large and active SVN repository.  More than 36,000 revisions,\nthousands of branches - new ones created daily - and a non-standard\nlayout.  Also, a secondary git repository that serves as a faithful\n\"git\" copy of the work accumulating in SVN (git version 2.9.5).  I seek\nan efficient way to routinely (nightly?) update the git repo with new\nchanges accumulating in SVN.\n\nMost of what I have found on the web suggests that, when properly\nconfigured, incremental update will be correctly accomplished by \"git\nsvn fetch\".  My experience so far is that - while that will eventually\nwork - it is remarkably slow.  It's true that \"git svn fetch\" doesn't\nredundantly add content - but it doesn't resume without appearing to\nwalk over all the old SVN revisions (watch the contents of\nsvn/.metadata).  For a large SVN repository - this can take days.\n\nI initially posed this as a question on stack overflow (see \"Routinely\nupdating a git repo from a large svn repo\" ).  It appeared that I had\nlearned something about how to use \"--revision\" to speed things along -\nso I recently added that as an answer to my own question (update now\ntaking routinely less than an hour).  Still that all seemed really odd.\n\"--revision\" isn't documented as an option to \"git svn fetch\", you need\nto dig START out of .git/svn/.metadata and END out of the SVN repository.\n\nToday I searched on the string \"branches-MaxRev\" and found something\nmore explicitly at odds with my experience (in the git-svn document):\n\n     Note that git-svn keeps track of the highest revision in which a\nbranch or tag has appeared. If the subset of\n     branches or tags is changed after fetching, then\n$GIT_DIR/svn/.metadata must be manually edited to remove\n     (or reset) branches-maxRev and/or tags-maxRev as appropriate.\"\n\nI read the documentation as saying that \"git svn fetch\" tracks where it\nleft off (which was my assumption before experiencing otherwise).   So\nwhat I'm seeing seems like a bug - but I'm worried that my use of\n\"--revision\" may not be entirely legitimate.\n\nAny assistance, advice, etc., would be most appreciated.\n\n-jrm\n\nThis email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.\n\nIf you are not one of the named recipients or have received this email in error,\n\n(i) you should not read, disclose, or copy it,\n\n(ii) please notify sender of your receipt by reply email and delete this email and all attachments,\n\n(iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email.\n\n\nPlease be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer at 3DS.compliance-privacy@3ds.com<mailto:3DS.compliance-privacy@3ds.com>\n\n\nFor other languages, go to https://www.3ds.com/terms/email-disclaimer\n"}]}