{"thread":{"id":"2633","subject":"cvsexportcommit/cvsimport workflow","startedAt":"2005-11-21T14:43:57Z","lastAt":"2005-12-05T20:57:37Z","messageCount":2,"participants":["Alexander Litvinov","Martin Langhoff"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"12436","messageId":"200511212043.57434.lan@ac-sw.com","threadId":"2633","inReplyTo":null,"subject":"cvsexportcommit/cvsimport workflow","fromName":"Alexander Litvinov","fromEmail":"lan@ac-sw.com","sentAt":"2005-11-21T14:43:57Z","receivedAt":"2005-11-21T14:43:57Z","isPatch":false,"sender":{"key":"lan@ac-sw.com","avatar":null},"body":"Hello,\n\nCan ypu please explain how to use cvsimport with cvsexportcommit scripts ? \n\nI have tried these steps:\n1. Make git repo from cvs repo using cvsimport command - everything works \ngreat.\n2. Start traking cvs changes by incremental running cvsimport - It works.\n3. Change files in git repo (master branch) - works :-)\n4. Export git commits to cvs: \n      first question: What should be exported and in what order ? Lets skip \nthis part - it is the smallest problem.\n      Two test commits were exported to cvs without any problmes.\n5. Importing cvs again - I have found my exported commits became separate \ncommits in git repo in origin branch (solved by git-pull . origin). But thay \nwere merged idealy.\n6. Changing files again in git.\n7. Export git commits to cvs: What should be exported question become harder \nand harder. Possible I should use some tag and run:\ngit-rev-list MY-TAG..master | xargs -n 1 git-cvsexportcommit -vX -cX (by the \nway, why just -v -c does not work ? I must add something to make options \nwork)\n\nThis cycle is a bit of mess. I can write some scripts but I have no idea how \nthis is supposed to work !\n\nThe biggest problem - conflict. I should resove them twice, during merging \norigin branch to master and when exporting these changes to cvs. By the way, \nI still can't export merge commit :-)\n\nThanks for help.\nAlexander Litvinov.\n"},{"id":"13220","messageId":"46a038f90512051257gf185f0cy11894a1114bc6872@mail.gmail.com","threadId":"2633","inReplyTo":"200511212043.57434.lan@ac-sw.com","subject":"Re: cvsexportcommit/cvsimport workflow","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-12-05T20:57:37Z","receivedAt":"2005-12-05T20:57:37Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 11/21/05, Alexander Litvinov <lan@ac-sw.com> wrote:\n> Can ypu please explain how to use cvsimport with cvsexportcommit scripts ?\n\nYour approach is good -- that's exactly how I use them too. I normally\nuse git-format-patch to review what patches I have 'pending' to be\npushed upstream. It's great because it knows your last common commit,\nand it uses git-cherry to spot commits that are identical on both\nsides.\n\nWe should perhaps create git-cvsexport, followning git-format-patch's\nusage of git-cherry, and calling git-cvsexportcommit with them.\nThere's been talk about doing it -- I'll probably do it as soon as I\nneed it for a project. Feel free to have a go at it  ;-)\n\n> 7. Export git commits to cvs: What should be exported question become harder\n> and harder. Possible I should use some tag and run:\n> git-rev-list MY-TAG..master | xargs -n 1 git-cvsexportcommit -vX -cX (by the\n> way, why just -v -c does not work ? I must add something to make options\n> work)\n\nStrange. The getopts line should look like:\n\n     getopts('hpvc');\n\n(al least it does on my repo) which means that it doesn't expect\nparameter _values_. Have you got the same line in the script? Perhaps\nyour getopts is broken or strange?\n\n> This cycle is a bit of mess. I can write some scripts but I have no idea how\n> this is supposed to work !\n\nWell... you have the right idea... and yes it's a bit of a mess.\n\n> The biggest problem - conflict. I should resove them twice, during merging\n> origin branch to master and when exporting these changes to cvs. By the way,\n> I still can't export merge commit :-)\n\nThat's exactly the issue. It's somewhat manual -- because you can't\nreally automate it 100%. CVS won't know what to do with a merge, so\nevery time you develop in paralell under git and then merge, you'll\nhave to fudge things somehow to trick cvs. There's an impedance\nmismatch there.\n\ncheers,\n\n\nmartin\n"}]}