{"thread":{"id":"11921","subject":"Re: git-cvsexportcommit and commit date","startedAt":"2008-02-06T19:51:52Z","lastAt":"2008-02-10T16:30:52Z","messageCount":9,"participants":["Martin Langhoff","Derek Mahar","Robin Rosenberg"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"67692","messageId":"47AA0FD8.1050801@catalyst.net.nz","threadId":"11921","inReplyTo":"OFFF18703C.5539A99A-ON852573E7.00699FE4-852573E7.006A0F3E@db.com","subject":"Re: git-cvsexportcommit and commit date","fromName":"Martin Langhoff","fromEmail":"martin@catalyst.net.nz","sentAt":"2008-02-06T19:51:52Z","receivedAt":"2008-02-06T19:51:52Z","isPatch":false,"sender":{"key":"martin@laptop.org","avatar":null},"body":"Derek Mahar wrote:\n> Thank you.  You've pointed out another good reason to dislike (or \n> despise?) CVS.  I feel very unfortunate that I must still use CVS.  Makes \n> me even miss Perforce.  git-cvsexportcommit certainly helps, but the fact \n> that it cannot require CVS to preserve the original Git timestamps means \n> that in order to make the commit times between Git and CVS roughly the \n> same, I'll have to commit to both Git an CVS at the same time.  Is this \n> how you usually work with git-cvsexportcommit?\n\nI just don't worry about the timestamps ;-)\n\nI normally track the Moodle CVS tree, and do all my \"new feature\" and\n\"client customization\" branches in git. The feature branches I rebase\naggressively, until they are ready to be \"landed\" in CVS. It is in that\n\"landing in cvs\" that I use cvsexportcommit, usually with a long list of\ncommits!\n\ncheers,\n\n\nm\n-- \n-----------------------------------------------------------------------\nMartin @ Catalyst .Net .NZ  Ltd, PO Box 11-053, Manners St,  Wellington\nWEB: http://catalyst.net.nz/           PHYS: Level 2, 150-154 Willis St\nNZ: +64(4)916-7224    MOB: +64(21)364-017    UK: 0845 868 5733 ext 7224\n      Make things as simple as possible, but no simpler - Einstein\n-----------------------------------------------------------------------\n"},{"id":"68164","messageId":"loom.20080210T033717-237@post.gmane.org","threadId":"11921","inReplyTo":"47AA0FD8.1050801@catalyst.net.nz","subject":"Re: git-cvsexportcommit and commit date","fromName":"Derek Mahar","fromEmail":"derek.mahar@gmail.com","sentAt":"2008-02-10T03:53:43Z","receivedAt":"2008-02-10T03:53:43Z","isPatch":false,"sender":{"key":"derek.mahar@gmail.com","avatar":"https://gravatar.com/avatar/a9d015b9d56f78bf39d358cf85fd39e04bbbe2c9b936165b453a4ba82c5e85b2?d=mp&s=160"},"body":"Martin Langhoff <martin <at> catalyst.net.nz> writes:\n> I just don't worry about the timestamps \n> \n> I normally track the Moodle CVS tree, and do all my \"new feature\" and\n> \"client customization\" branches in git. The feature branches I rebase\n> aggressively, until they are ready to be \"landed\" in CVS. It is in that\n> \"landing in cvs\" that I use cvsexportcommit, usually with a long list of\n> commits!\n\nHow do you get git-cvsimport to avoid the \"duplicate\" commit that it creates\nwhen it imports a commit that you \"landed\" in CVS with git-cvsexportcommit?  I\ncall this commit a duplicate because though it has a different SHA1 identifier,\ncommit timestamp, and even committer email address, it refers to the same tree\nidentifier as the landed commit.  However, because it has the same textual\ndifference as the landed commit, the duplicate commit introduces no new textual\ndifference.  It is essentially an \"empty\" commit.  Do you just accept and ignore\nthis empty commit?\n\nDerek\n"},{"id":"68174","messageId":"200802100645.32743.robin.rosenberg.lists@dewire.com","threadId":"11921","inReplyTo":"loom.20080210T033717-237@post.gmane.org","subject":"Re: git-cvsexportcommit and commit date","fromName":"Robin Rosenberg","fromEmail":"robin.rosenberg.lists@dewire.com","sentAt":"2008-02-10T05:45:31Z","receivedAt":"2008-02-10T05:45:31Z","isPatch":false,"sender":{"key":"robin.rosenberg@dewire.com","avatar":"https://avatars.githubusercontent.com/u/46357?v=4"},"body":"söndagen den 10 februari 2008 skrev Derek Mahar:\n> How do you get git-cvsimport to avoid the \"duplicate\" commit that it creates\n> when it imports a commit that you \"landed\" in CVS with git-cvsexportcommit?  I\n> call this commit a duplicate because though it has a different SHA1 identifier,\n> commit timestamp, and even committer email address, it refers to the same tree\n> identifier as the landed commit.  However, because it has the same textual\n> difference as the landed commit, the duplicate commit introduces no new textual\n> difference.  It is essentially an \"empty\" commit.  Do you just accept and ignore\n> this empty commit?\n\ngit rebase will drop those \"empty\" commits by default and you'll end up with the\ncvs-imported version.\n\n-- robin\n"},{"id":"68175","messageId":"5f4b18bf0802092201i24f7de39o3fea28823621fdd1@mail.gmail.com","threadId":"11921","inReplyTo":"200802100645.32743.robin.rosenberg.lists@dewire.com","subject":"Re: git-cvsexportcommit and commit date","fromName":"Derek Mahar","fromEmail":"derek.mahar@gmail.com","sentAt":"2008-02-10T06:01:42Z","receivedAt":"2008-02-10T06:01:42Z","isPatch":false,"sender":{"key":"derek.mahar@gmail.com","avatar":"https://gravatar.com/avatar/a9d015b9d56f78bf39d358cf85fd39e04bbbe2c9b936165b453a4ba82c5e85b2?d=mp&s=160"},"body":"On Feb 10, 2008 12:45 AM, Robin Rosenberg\n<robin.rosenberg.lists@dewire.com> wrote:\n> söndagen den 10 februari 2008 skrev Derek Mahar:\n> > How do you get git-cvsimport to avoid the \"duplicate\" commit that it creates\n> > when it imports a commit that you \"landed\" in CVS with git-cvsexportcommit?\n>\n> git rebase will drop those \"empty\" commits by default and you'll end up with the\n> cvs-imported version.\n\nHow do I perform this rebase if the empty commit is on the same\nbranch, say the master branch, as the original CVS landed commit?  I\nattempted such a git-rebase using 1.5.4, but, iirc, git-rebase\nresponded that the branch was already up-to-date.\n\nDerek\n"},{"id":"68176","messageId":"5f4b18bf0802092213r4bd1df2ap7d2649dd9251fbb7@mail.gmail.com","threadId":"11921","inReplyTo":"5f4b18bf0802092201i24f7de39o3fea28823621fdd1@mail.gmail.com","subject":"Re: git-cvsexportcommit and commit date","fromName":"Derek Mahar","fromEmail":"derek.mahar@gmail.com","sentAt":"2008-02-10T06:13:42Z","receivedAt":"2008-02-10T06:13:42Z","isPatch":false,"sender":{"key":"derek.mahar@gmail.com","avatar":"https://gravatar.com/avatar/a9d015b9d56f78bf39d358cf85fd39e04bbbe2c9b936165b453a4ba82c5e85b2?d=mp&s=160"},"body":"On Feb 10, 2008 1:01 AM, Derek Mahar <derek.mahar@gmail.com> wrote:\n> On Feb 10, 2008 12:45 AM, Robin Rosenberg\n> <robin.rosenberg.lists@dewire.com> wrote:\n> > git rebase will drop those \"empty\" commits by default and you'll end up with the\n> > cvs-imported version.\n>\n> How do I perform this rebase if the empty commit is on the same\n> branch, say the master branch, as the original CVS landed commit?  I\n> attempted such a git-rebase using 1.5.4, but, iirc, git-rebase\n> responded that the branch was already up-to-date.\n\nOn second thought, I don't recall with what message git-rebase\nresponded, but I do recall that the commit was still on the master\nbranch.\n\nDerek\n"},{"id":"68209","messageId":"200802101415.00726.robin.rosenberg.lists@dewire.com","threadId":"11921","inReplyTo":"5f4b18bf0802092213r4bd1df2ap7d2649dd9251fbb7@mail.gmail.com","subject":"Re: git-cvsexportcommit and commit date","fromName":"Robin Rosenberg","fromEmail":"robin.rosenberg.lists@dewire.com","sentAt":"2008-02-10T13:15:00Z","receivedAt":"2008-02-10T13:15:00Z","isPatch":false,"sender":{"key":"robin.rosenberg@dewire.com","avatar":"https://avatars.githubusercontent.com/u/46357?v=4"},"body":"söndagen den 10 februari 2008 skrev Derek Mahar:\n> On Feb 10, 2008 1:01 AM, Derek Mahar <derek.mahar@gmail.com> wrote:\n> > On Feb 10, 2008 12:45 AM, Robin Rosenberg\n> > <robin.rosenberg.lists@dewire.com> wrote:\n> > > git rebase will drop those \"empty\" commits by default and you'll end up with the\n> > > cvs-imported version.\n> >\n> > How do I perform this rebase if the empty commit is on the same\n> > branch, say the master branch, as the original CVS landed commit?  I\n> > attempted such a git-rebase using 1.5.4, but, iirc, git-rebase\n> > responded that the branch was already up-to-date.\n> \n> On second thought, I don't recall with what message git-rebase\n> responded, but I do recall that the commit was still on the master\n> branch.\n\nAs I recall it (I'm using fromcvs, not git-cvsimport) cvs HEAD get imported\ninto origin which on initial import gets copied to master. So I think you\nshould git rebase origin\n\n-- robin\n"},{"id":"68219","messageId":"5f4b18bf0802100801t20952180u6afd1eeaf2fac17@mail.gmail.com","threadId":"11921","inReplyTo":"200802101415.00726.robin.rosenberg.lists@dewire.com","subject":"Re: git-cvsexportcommit and commit date","fromName":"Derek Mahar","fromEmail":"derek.mahar@gmail.com","sentAt":"2008-02-10T16:01:03Z","receivedAt":"2008-02-10T16:01:03Z","isPatch":false,"sender":{"key":"derek.mahar@gmail.com","avatar":"https://gravatar.com/avatar/a9d015b9d56f78bf39d358cf85fd39e04bbbe2c9b936165b453a4ba82c5e85b2?d=mp&s=160"},"body":"On Feb 10, 2008 8:15 AM, Robin Rosenberg\n<robin.rosenberg.lists@dewire.com> wrote:\n> söndagen den 10 februari 2008 skrev Derek Mahar:\n> As I recall it (I'm using fromcvs, not git-cvsimport) cvs HEAD get imported\n> into origin which on initial import gets copied to master. So I think you\n> should git rebase origin\n\nWhen it drops the extra commit, is there a way to ask git-rebase to\nkeep the textual change of the original commit, but use the commit\ninformation from the imported CVS commit?  This way, the resulting Git\nrepository would match that of another user who performs an initial\ngit-cvsimport of the entire CVS repository.\n\nCan fromcvs read from a remote CVS repository via pserver or does it\nonly parse the RCS files directly?  I have only pserver access to our\nCVS repo,\n\nDerek\n"},{"id":"68220","messageId":"200802101717.32747.robin.rosenberg.lists@dewire.com","threadId":"11921","inReplyTo":"5f4b18bf0802100801t20952180u6afd1eeaf2fac17@mail.gmail.com","subject":"Re: git-cvsexportcommit and commit date","fromName":"Robin Rosenberg","fromEmail":"robin.rosenberg.lists@dewire.com","sentAt":"2008-02-10T16:17:31Z","receivedAt":"2008-02-10T16:17:31Z","isPatch":false,"sender":{"key":"robin.rosenberg@dewire.com","avatar":"https://avatars.githubusercontent.com/u/46357?v=4"},"body":"söndagen den 10 februari 2008 skrev Derek Mahar:\n> On Feb 10, 2008 8:15 AM, Robin Rosenberg\n> <robin.rosenberg.lists@dewire.com> wrote:\n> > söndagen den 10 februari 2008 skrev Derek Mahar:\n> > As I recall it (I'm using fromcvs, not git-cvsimport) cvs HEAD get imported\n> > into origin which on initial import gets copied to master. So I think you\n> > should git rebase origin\n> \n> When it drops the extra commit, is there a way to ask git-rebase to\n> keep the textual change of the original commit, but use the commit\n> information from the imported CVS commit?  This way, the resulting Git\n> repository would match that of another user who performs an initial\n> git-cvsimport of the entire CVS repository.\nNo, for that to happen the full history must match. Maybe theoretically\npossible, but then, in theory, you could use only Git and not worry about\nCVS.\n\nIf you involve CVS (or any other SCM) you must rebase on top of the\nCVS imported version, whether your repo is a clone or not. The changed\ncommit to me also means I can see wheter it s a pure git checkin or\nwhether it is from the official CVS repo, which is a \"good\" thing.\n\n> Can fromcvs read from a remote CVS repository via pserver or does it\n> only parse the RCS files directly?  I have only pserver access to our\n> CVS repo,\nRCS only. Note that sometimes you have rsync access. If not politely ask\nthe admin of the repo that you get read access to the raw files. (the CVSROOT/*\nfiles are not needed in case that is a concern).\n\n-- robin\n"},{"id":"68224","messageId":"5f4b18bf0802100830w682c67e0r9886b2fe32ce3715@mail.gmail.com","threadId":"11921","inReplyTo":"200802101717.32747.robin.rosenberg.lists@dewire.com","subject":"Re: git-cvsexportcommit and commit date","fromName":"Derek Mahar","fromEmail":"derek.mahar@gmail.com","sentAt":"2008-02-10T16:30:52Z","receivedAt":"2008-02-10T16:30:52Z","isPatch":false,"sender":{"key":"derek.mahar@gmail.com","avatar":"https://gravatar.com/avatar/a9d015b9d56f78bf39d358cf85fd39e04bbbe2c9b936165b453a4ba82c5e85b2?d=mp&s=160"},"body":"On Feb 10, 2008 11:17 AM, Robin Rosenberg\n<robin.rosenberg.lists@dewire.com> wrote:\n> If you involve CVS (or any other SCM) you must rebase on top of the\n> CVS imported version, whether your repo is a clone or not. The changed\n> commit to me also means I can see wheter it s a pure git checkin or\n> whether it is from the official CVS repo, which is a \"good\" thing.\n\nGood point.  I can also keep a second \"pure\" git clone of the CVS repo\nfrom which other users make copies.\n\n\n> > Can fromcvs read from a remote CVS repository via pserver or does it\n> > only parse the RCS files directly?  I have only pserver access to our\n> > CVS repo,\n> RCS only. Note that sometimes you have rsync access. If not politely ask\n> the admin of the repo that you get read access to the raw files. (the CVSROOT/*\n> files are not needed in case that is a concern).\n\nThank you.  I'll try this suggestion.\n\nDerek\n"}]}