{"thread":{"id":"13843","subject":"[noob] questions about git-svn, svk","startedAt":"2008-06-07T05:51:40Z","lastAt":"2008-06-07T20:22:33Z","messageCount":2,"participants":["Mark Lundquist"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"79016","messageId":"g2d7ld$8dq$1@ger.gmane.org","threadId":"13843","inReplyTo":null,"subject":"[noob] questions about git-svn, svk","fromName":"Mark Lundquist","fromEmail":"lundquist.mark@gmail.com","sentAt":"2008-06-07T05:51:40Z","receivedAt":"2008-06-07T05:51:40Z","isPatch":false,"sender":{"key":"lundquist.mark@gmail.com","avatar":null},"body":"Hi,\n\nOkay, I'm an experienced SVN & SVK user, and I'm ready to start the \nprocess of switching to git.  I just have a couple of questions...\n\nI'm a complete noob to the ways of git, so plz bear with me :-)\n\nAll our projects are contained in our main svn repository, for the usual \nreasons.  I've been mirroring that repository with SVK on my local \nmachine for the last year or two and using SVK as my Subversion \nfront-end.  So, I have all these working copies of various projects, and \nof course these are all checkouts of SVK local branches (which under the \nhood are svn copies of within the mirror, in the depot repository).\n\nThat was a lame explanation... if you know SVK then you alread know all \nthat, and if you don't then it doesn't matter anyway :-/ but the point \nis that I have something like\n\n\twork/\n\t   projects/\n\t      project-A/\n\t\t.\n\t\t.\n\t      project-B/\n\t\t.\n\t\t.\n\t      project-C/\n\t\t.\n\t\t.\n\n\nSo, I'd like to start out by using git-svn, just changing how I do my \nown work and developing my git-fu before I roll this learning curve out \nto the server side :-).\n\n\n1) So I understand that each of project-A, project-B etc. will be a \nlocal git repository, so.. how do init/clone/whatever these things to \ntrack the remote svn repository, but so that they each just contain the \ncorresponding project, rather than all projects from the remote repo?\n\n2) Apparently, I can get the ball rolling by importing my SVK mirror \n(using \"git svn init --use-svm-props\") instead of cloning the remote \nrepository directly... I was thinking to do that and save the long \nnetwork suck time.  But then since my git repo would be tracking my SVK \ndepot, I'd have to use SVK to mediate all my syncs (in SVK jargon) to \nthe remote.  Anyway, I don't have any desire to keep on using SVK, I \nreally just want to take advantage of my local depot mirror to speed up \nthe initial clone, then I want to cut the cord.  Is there a way to point \nmy git-svn repo at the remote Subversion repo after I import, and leave \nthe SVK mirror behind?\n\n3) One possibly (I don't know! :-) complicating factor... most of these \nprojects are actually web site implementations, and these all began life \nas Subversion copies of a skeletal, \"template\" project that contains a \nbunch of stuff to configure our web application framework, etc.  There's \nsome version history there that has some value and I'd like to preserve \nit.  Any special considerations in view of that?\n\n4) Soon the time will come to switch to Subversion on the server side. \nWhatever that setup looks like, I'd like it to reflect git best \npractices and not have anything that smells like \"well yeah, this is \nweird, but see, it's that way because these projects used to be \nmaintained under Subversion.\"  So, what will be the best way to \"get \nfrom here to there?\"  And when I have that, will that then break my \ngit-svn project repositories that I am about to make on my local \nmachine?  Will I have to start over with all new project repos tracking \nthe git repos on the server?\n\nAny help / ideas / random thoughts appreciated... :-)\n\ncheers,\n—ml—\n"},{"id":"79066","messageId":"g2eqm9$haq$1@ger.gmane.org","threadId":"13843","inReplyTo":"g2d7ld$8dq$1@ger.gmane.org","subject":"Re: [noob] questions about git-svn, svk","fromName":"Mark Lundquist","fromEmail":"lundquist.mark@gmail.com","sentAt":"2008-06-07T20:22:33Z","receivedAt":"2008-06-07T20:22:33Z","isPatch":false,"sender":{"key":"lundquist.mark@gmail.com","avatar":null},"body":"ugh, I was tired when I wrote that post, it needs some \ncorrections/clarifications...:\n\nI wrote:\n\n> Hi,\n> \n> Okay, I'm an experienced SVN & SVK user, and I'm ready to start the \n> process of switching to git.  I just have a couple of questions...\n> \n> I'm a complete noob to the ways of git, so plz bear with me :-)\n> \n> All our projects are contained in our main svn repository, for the usual \n> reasons.  I've been mirroring that repository with SVK on my local \n> machine for the last year or two and using SVK as my Subversion \n> front-end.  So, I have all these working copies of various projects, and \n> of course these are all checkouts of SVK local branches (which under the \n> hood are svn copies of within the mirror, in the depot repository).\n> \n> That was a lame explanation... if you know SVK then you alread know all \n> that, and if you don't then it doesn't matter anyway :-/ but the point \n> is that I have something like\n\n(talking about the filesystem on my local development machine here...)\n\n> \n>     work/\n>        projects/\n>           project-A/\n>         .\n>         .\n>           project-B/\n>         .\n>         .\n>           project-C/\n>         .\n>         .\n\nthat is, project-A etc. are SVK working copies (checkouts)..\n\n> \n> \n> So, I'd like to start out by using git-svn, just changing how I do my \n> own work and developing my git-fu before I roll this learning curve out \n> to the server side :-).\n> \n> \n> 1) So I understand that each of project-A, project-B etc. will be a \n> local git repository, so.. how do init/clone/whatever these things to \n> track the remote svn repository, but so that they each just contain the \n> corresponding project, rather than all projects from the remote repo?\n> \n> 2) Apparently, I can get the ball rolling by importing my SVK mirror \n> (using \"git svn init --use-svm-props\") instead of cloning the remote \n> repository directly... I was thinking to do that and save the long \n> network suck time.  But then since my git repo would be tracking my SVK \n> depot, I'd have to use SVK to mediate all my syncs (in SVK jargon) to \n> the remote.  Anyway, I don't have any desire to keep on using SVK, I \n> really just want to take advantage of my local depot mirror to speed up \n> the initial clone, then I want to cut the cord.  Is there a way to point \n> my git-svn repo at the remote Subversion repo after I import, and leave \n> the SVK mirror behind?\n> \n> 3) One possibly (I don't know! :-) complicating factor... most of these \n> projects are actually web site implementations, and these all began life \n> as Subversion copies of a skeletal, \"template\" project that contains a \n> bunch of stuff to configure our web application framework, etc.  There's \n> some version history there that has some value and I'd like to preserve \n> it.  Any special considerations in view of that?\n> \n> 4) Soon the time will come to switch to Subversion\n                                           ^^^^^^^^^^\n\ngaah! \"git\", not Subversion!  \"Switch to git\" is what I meant!\n\n> on the server side. \n> Whatever that setup looks like, I'd like it to reflect git best \n> practices and not have anything that smells like \"well yeah, this is \n> weird, but see, it's that way because these projects used to be \n> maintained under Subversion.\"  So, what will be the best way to \"get \n> from here to there?\"  And when I have that, will that then break my \n> git-svn project repositories that I am about to make on my local \n> machine?  Will I have to start over with all new project repos tracking \n> the git repos on the server?\n> \n> Any help / ideas / random thoughts appreciated... :-)\n> \n> cheers,\n> —ml—\n> \n"}]}