{"thread":{"id":"9433","subject":"git-svn: commit author x commit committer issue","startedAt":"2007-08-08T13:46:19Z","lastAt":"2007-08-23T08:51:25Z","messageCount":12,"participants":["Richard MUSIL","Peter Baumann","Quy Tonthat","Eric Wong","Guilhem Bonnefille","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"50190","messageId":"46B9C92B.3000000@st.com","threadId":"9433","inReplyTo":null,"subject":"git-svn: commit author x commit committer issue","fromName":"Richard MUSIL","fromEmail":"richard.musil@st.com","sentAt":"2007-08-08T13:46:19Z","receivedAt":"2007-08-08T13:46:19Z","isPatch":false,"sender":{"key":"richard.musil@st.com","avatar":null},"body":"Normally, when patch is applied, git distinguishes commit author and\ncommit committer (relying on info from patch).\nHowever, after the patches are committed to svn repository using:\ngit-svn dcommit\nauthor and committer data are set to same values (or at least time and\ndate, I cannot verify it for names).\nI wonder if there is any reason for this behavior, because I would\ndefinitely like to keep original commit info (which came from patch) in\nmy git repository.\n\nRichard Musil\n(please cc: me)\n"},{"id":"50269","messageId":"46B9E460.5080708@gmail.com","threadId":"9433","inReplyTo":"46B9C92B.3000000@st.com","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Quy Tonthat","fromEmail":"qtonthat@gmail.com","sentAt":"2007-08-08T15:42:24Z","receivedAt":"2007-08-08T15:42:24Z","isPatch":false,"sender":{"key":"qtonthat@gmail.com","avatar":null},"body":"Richard MUSIL wrote:\n> Normally, when patch is applied, git distinguishes commit author and\n> commit committer (relying on info from patch).\n> However, after the patches are committed to svn repository using:\n> git-svn dcommit\n> author and committer data are set to same values (or at least time and\n> date, I cannot verify it for names).\n> I wonder if there is any reason for this behavior, because I would\n> definitely like to keep original commit info (which came from patch) in\n> my git repository.\n\nI'm sure this worked before (author and committee are different, that is).\nSomething went wrong recently but I haven't got time to look into the problem.\nI hope someone would.\n\nQuy\n"},{"id":"50203","messageId":"20070808171323.GD27703@xp.machine.xx","threadId":"9433","inReplyTo":"46B9C92B.3000000@st.com","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Peter Baumann","fromEmail":"waste.manager@gmx.de","sentAt":"2007-08-08T17:13:23Z","receivedAt":"2007-08-08T17:13:23Z","isPatch":false,"sender":{"key":"waste.manager@gmx.de","avatar":null},"body":"On Wed, Aug 08, 2007 at 03:46:19PM +0200, Richard MUSIL wrote:\n> Normally, when patch is applied, git distinguishes commit author and\n> commit committer (relying on info from patch).\n> However, after the patches are committed to svn repository using:\n> git-svn dcommit\n> author and committer data are set to same values (or at least time and\n> date, I cannot verify it for names).\n> I wonder if there is any reason for this behavior, because I would\n> definitely like to keep original commit info (which came from patch) in\n> my git repository.\n\nI think it is because in SVN, you can't differentiate between author and\ncommitter. And git-svn just commits every local commit to svn, and after\nthat, it throws away your local commits and uses the info from the\nreimported svn commits to recreate those thrown away commits. Thats why\nyou loose your author name and also your commit date.\n\nOk, this was a little too simplified, but describes roughly what happens\nif you dcommit your changes.\n\n-Peter\n"},{"id":"50311","messageId":"46BAE248.6070404@st.com","threadId":"9433","inReplyTo":"20070808171323.GD27703@xp.machine.xx","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Richard MUSIL","fromEmail":"richard.musil@st.com","sentAt":"2007-08-09T09:45:44Z","receivedAt":"2007-08-09T09:45:44Z","isPatch":false,"sender":{"key":"richard.musil@st.com","avatar":null},"body":"Peter Baumann wrote:\n> On Wed, Aug 08, 2007 at 03:46:19PM +0200, Richard MUSIL wrote:\n>> Normally, when patch is applied, git distinguishes commit author and\n>> commit committer (relying on info from patch).\n>> However, after the patches are committed to svn repository using:\n>> git-svn dcommit\n>> author and committer data are set to same values (or at least time and\n>> date, I cannot verify it for names).\n>> I wonder if there is any reason for this behavior, because I would\n>> definitely like to keep original commit info (which came from patch) in\n>> my git repository.\n> \n> I think it is because in SVN, you can't differentiate between author and\n> committer. And git-svn just commits every local commit to svn, and after\n> that, it throws away your local commits and uses the info from the\n> reimported svn commits to recreate those thrown away commits. Thats why\n> you loose your author name and also your commit date.\n\nI guess you are right. I have been thinking about the possibility to\nstore the original author and patch date into svn unversioned property.\nSomething like git:author and git:date. There is however one catch.\nModifying unversioned properties must be explicitly allowed on svn\nrepository, so this will have to be optional in git (svn.userevprops ?).\n\nI do not know what others think about this. For me it seems quite\nattractive, to be able to store development history of original actions\ninside svn, especially when the case might be that commits into git\nhappen at different time on different machines and by different people\nthan the final commit to svn.\n\nI have been trying to find out how this works in git-svn, but since Perl\nis worse than Greek to me, I found out only that I am not able to do\nanything here. Would anyone be interested to work on it?\n\nRichard\n"},{"id":"50869","messageId":"20070816092002.GD16849@muzzle","threadId":"9433","inReplyTo":"46B9C92B.3000000@st.com","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-08-16T09:20:02Z","receivedAt":"2007-08-16T09:20:02Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Richard MUSIL <richard.musil@st.com> wrote:\n> Normally, when patch is applied, git distinguishes commit author and\n> commit committer (relying on info from patch).\n> However, after the patches are committed to svn repository using:\n> git-svn dcommit\n> author and committer data are set to same values (or at least time and\n> date, I cannot verify it for names).\n> I wonder if there is any reason for this behavior, because I would\n> definitely like to keep original commit info (which came from patch) in\n> my git repository.\n\nI try to keep commits made to SVN using git-svn as much like commits\nmade using other SVN clients as much as possible.\n\nTwo people using git-svn (in its recommended fashion and maintaining\nlinear history) can have identical SHA1s in their repository even if\nthose two repositories had never seen each other before.  Consistency\nis good.\n\nI also want to avoid creating extra junk on the SVN repository which I\ndon't personally consider very important.  SVK does stuff like that with\nmerges, and only SVK understands the metadata it uses.  I prefer\ntransparency.\n\n-- \nEric Wong\n"},{"id":"50881","messageId":"46C43F5F.3040508@st.com","threadId":"9433","inReplyTo":"20070816092002.GD16849@muzzle","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Richard MUSIL","fromEmail":"richard.musil@st.com","sentAt":"2007-08-16T12:13:19Z","receivedAt":"2007-08-16T12:13:19Z","isPatch":false,"sender":{"key":"richard.musil@st.com","avatar":null},"body":"Eric Wong wrote:\n> Richard MUSIL <richard.musil@st.com> wrote:\n>> Normally, when patch is applied, git distinguishes commit author and\n>> commit committer (relying on info from patch).\n>> However, after the patches are committed to svn repository using:\n>> git-svn dcommit\n>> author and committer data are set to same values (or at least time and\n>> date, I cannot verify it for names).\n>> I wonder if there is any reason for this behavior, because I would\n>> definitely like to keep original commit info (which came from patch) in\n>> my git repository.\n> \n> I try to keep commits made to SVN using git-svn as much like commits\n> made using other SVN clients as much as possible.\n> \n> Two people using git-svn (in its recommended fashion and maintaining\n> linear history) can have identical SHA1s in their repository even if\n> those two repositories had never seen each other before.  Consistency\n> is good.\n\nOk, if I understand well, you are saying, that if someone commits with\ndistinguished author/committer and someone does not, they end up with\ndifferent SHA1s because those parts affect the calculation. I agree this\ncould be a breaking point.\n\n> I also want to avoid creating extra junk on the SVN repository which I\n> don't personally consider very important.  SVK does stuff like that with\n> merges, and only SVK understands the metadata it uses.  I prefer\n> transparency.\n\nI made some suggestions in this thread about using revision\n(unversioned) property of SVN fot git \"metadata\". AFAIK using rev. props\nis completely transparent to other SVN clients (in this case those not\nbeing git-svn), so they could easily ignore them.\n\nIt could be optional on git config property for commit and autodetected\nfor clone/pull.\n\nThe scenario I could easily imagine (though it is not something I am\ncurrently using) is having dev teams using git internally (because its\nmuch easier for tracking local development) and having SVN repo as a\n\"central hub\". In such environment, there will be probably one person in\neach team (dev. lead) collecting commits from others and once things are\nset, he will commit all changes to svn. In that particular case, he does\nnot have to worry about different sha1s, because they use only one SVN\n(as it was meant to be used). But he could be sad about losing all\nauthors info about the people commits. And my personal believe is, this\nis how git-svn may enter svn world on big projects.\n\nBut you are right, it is up to you to decide. It was just an idea ;-).\n\nRichard\n"},{"id":"50921","messageId":"20070817075840.GA9504@soma","threadId":"9433","inReplyTo":"46C43F5F.3040508@st.com","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-08-17T07:58:40Z","receivedAt":"2007-08-17T07:58:40Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Richard MUSIL <richard.musil@st.com> wrote:\n> Eric Wong wrote:\n> > Richard MUSIL <richard.musil@st.com> wrote:\n> > I also want to avoid creating extra junk on the SVN repository which I\n> > don't personally consider very important.  SVK does stuff like that with\n> > merges, and only SVK understands the metadata it uses.  I prefer\n> > transparency.\n> \n> I made some suggestions in this thread about using revision\n> (unversioned) property of SVN fot git \"metadata\". AFAIK using rev. props\n> is completely transparent to other SVN clients (in this case those not\n> being git-svn), so they could easily ignore them.\n> \n> It could be optional on git config property for commit and autodetected\n> for clone/pull.\n> \n> The scenario I could easily imagine (though it is not something I am\n> currently using) is having dev teams using git internally (because its\n> much easier for tracking local development) and having SVN repo as a\n> \"central hub\". In such environment, there will be probably one person in\n> each team (dev. lead) collecting commits from others and once things are\n> set, he will commit all changes to svn. In that particular case, he does\n> not have to worry about different sha1s, because they use only one SVN\n> (as it was meant to be used). But he could be sad about losing all\n> authors info about the people commits. And my personal believe is, this\n> is how git-svn may enter svn world on big projects.\n> \n> But you are right, it is up to you to decide. It was just an idea ;-).\n\nIt'd be easy for git-svn to write metadata to rev-props.  Whether or not\nit reads and does anything with them is another issue...  I think Sam\nwas working on something that allowed it to track merges on the\ngit-side, but we'd be introducing a third or fourth method of\nnon-standard merge-tracking into SVN :)\n\nIn any case, this behavior should always be optional and off by default.\n\n-- \nEric Wong\n"},{"id":"51236","messageId":"8b65902a0708220307g2cb4b290s9bbf4603af7489fa@mail.gmail.com","threadId":"9433","inReplyTo":"20070816092002.GD16849@muzzle","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Guilhem Bonnefille","fromEmail":"guilhem.bonnefille@gmail.com","sentAt":"2007-08-22T10:07:58Z","receivedAt":"2007-08-22T10:07:58Z","isPatch":false,"sender":{"key":"guilhem.bonnefille@gmail.com","avatar":"https://gravatar.com/avatar/375364bfee1f61197c540e37465abe3619fc24eb3a36b0edcea7f15b124036b0?d=mp&s=160"},"body":"On 8/16/07, Eric Wong <normalperson@yhbt.net> wrote:\n> Richard MUSIL <richard.musil@st.com> wrote:\n> > Normally, when patch is applied, git distinguishes commit author and\n> > commit committer (relying on info from patch).\n> > However, after the patches are committed to svn repository using:\n> > git-svn dcommit\n> > author and committer data are set to same values (or at least time and\n> > date, I cannot verify it for names).\n> > I wonder if there is any reason for this behavior, because I would\n> > definitely like to keep original commit info (which came from patch) in\n> > my git repository.\n>\n> I try to keep commits made to SVN using git-svn as much like commits\n> made using other SVN clients as much as possible.\n>\n> Two people using git-svn (in its recommended fashion and maintaining\n> linear history) can have identical SHA1s in their repository even if\n> those two repositories had never seen each other before.  Consistency\n> is good.\n>\n> I also want to avoid creating extra junk on the SVN repository which I\n> don't personally consider very important.  SVK does stuff like that with\n> merges, and only SVK understands the metadata it uses.  I prefer\n> transparency.\n\nInstead of using SVN metadata, why not store the missing information\nlike git-svn store the SVN rev id. (in the commit log as I know).\n\n-- \nGuilhem BONNEFILLE\n-=- #UIN: 15146515 JID: guyou@im.apinc.org MSN: guilhem_bonnefille@hotmail.com\n-=- mailto:guilhem.bonnefille@gmail.com\n-=- http://nathguil.free.fr/\n"},{"id":"51237","messageId":"8b65902a0708220317t2b3dd01csef460a943ed2ef37@mail.gmail.com","threadId":"9433","inReplyTo":"8b65902a0708220307g2cb4b290s9bbf4603af7489fa@mail.gmail.com","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Guilhem Bonnefille","fromEmail":"guilhem.bonnefille@gmail.com","sentAt":"2007-08-22T10:17:43Z","receivedAt":"2007-08-22T10:17:43Z","isPatch":false,"sender":{"key":"guilhem.bonnefille@gmail.com","avatar":"https://gravatar.com/avatar/375364bfee1f61197c540e37465abe3619fc24eb3a36b0edcea7f15b124036b0?d=mp&s=160"},"body":"Oops, sory, I'm completly wrong: the git-svn-id is put on the commit\nlog in the Git repo, not on the SVN repo.\nPlease, ignore me.\n\nOn 8/22/07, Guilhem Bonnefille <guilhem.bonnefille@gmail.com> wrote:\n> On 8/16/07, Eric Wong <normalperson@yhbt.net> wrote:\n> > Richard MUSIL <richard.musil@st.com> wrote:\n> > > Normally, when patch is applied, git distinguishes commit author and\n> > > commit committer (relying on info from patch).\n> > > However, after the patches are committed to svn repository using:\n> > > git-svn dcommit\n> > > author and committer data are set to same values (or at least time and\n> > > date, I cannot verify it for names).\n> > > I wonder if there is any reason for this behavior, because I would\n> > > definitely like to keep original commit info (which came from patch) in\n> > > my git repository.\n> >\n> > I try to keep commits made to SVN using git-svn as much like commits\n> > made using other SVN clients as much as possible.\n> >\n> > Two people using git-svn (in its recommended fashion and maintaining\n> > linear history) can have identical SHA1s in their repository even if\n> > those two repositories had never seen each other before.  Consistency\n> > is good.\n> >\n> > I also want to avoid creating extra junk on the SVN repository which I\n> > don't personally consider very important.  SVK does stuff like that with\n> > merges, and only SVK understands the metadata it uses.  I prefer\n> > transparency.\n>\n> Instead of using SVN metadata, why not store the missing information\n> like git-svn store the SVN rev id. (in the commit log as I know).\n>\n> --\n> Guilhem BONNEFILLE\n> -=- #UIN: 15146515 JID: guyou@im.apinc.org MSN: guilhem_bonnefille@hotmail.com\n> -=- mailto:guilhem.bonnefille@gmail.com\n> -=- http://nathguil.free.fr/\n>\n\n\n-- \nGuilhem BONNEFILLE\n-=- #UIN: 15146515 JID: guyou@im.apinc.org MSN: guilhem_bonnefille@hotmail.com\n-=- mailto:guilhem.bonnefille@gmail.com\n-=- http://nathguil.free.fr/\n"},{"id":"51295","messageId":"7vir77i77o.fsf@gitster.siamese.dyndns.org","threadId":"9433","inReplyTo":"8b65902a0708220317t2b3dd01csef460a943ed2ef37@mail.gmail.com","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-08-22T21:34:51Z","receivedAt":"2007-08-22T21:34:51Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Guilhem Bonnefille\" <guilhem.bonnefille@gmail.com> writes:\n\n> Oops, sory, I'm completly wrong: the git-svn-id is put on the commit\n> log in the Git repo, not on the SVN repo.\n> Please, ignore me.\n\nI do not think it is wrong to tack that to the commit message\nyou push it back to SVN... am I missing something?\n"},{"id":"51323","messageId":"20070823050555.GB4978@muzzle","threadId":"9433","inReplyTo":"7vir77i77o.fsf@gitster.siamese.dyndns.org","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-08-23T05:05:55Z","receivedAt":"2007-08-23T05:05:55Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> wrote:\n> \"Guilhem Bonnefille\" <guilhem.bonnefille@gmail.com> writes:\n> \n> > Oops, sory, I'm completly wrong: the git-svn-id is put on the commit\n> > log in the Git repo, not on the SVN repo.\n> > Please, ignore me.\n> \n> I do not think it is wrong to tack that to the commit message\n> you push it back to SVN... am I missing something?\n\nIt's actually possible to add a revprop in SVN that is not immediately\nvisible to SVN users.\n\n-- \nEric Wong\n"},{"id":"51346","messageId":"46CD4A8D.9010509@st.com","threadId":"9433","inReplyTo":"20070823050555.GB4978@muzzle","subject":"Re: git-svn: commit author x commit committer issue","fromName":"Richard MUSIL","fromEmail":"richard.musil@st.com","sentAt":"2007-08-23T08:51:25Z","receivedAt":"2007-08-23T08:51:25Z","isPatch":false,"sender":{"key":"richard.musil@st.com","avatar":null},"body":"Eric Wong wrote:\n> Junio C Hamano <gitster@pobox.com> wrote:\n>> \"Guilhem Bonnefille\" <guilhem.bonnefille@gmail.com> writes:\n>>\n>>> Oops, sory, I'm completly wrong: the git-svn-id is put on the commit\n>>> log in the Git repo, not on the SVN repo.\n>>> Please, ignore me.\n>> I do not think it is wrong to tack that to the commit message\n>> you push it back to SVN... am I missing something?\n> \n> It's actually possible to add a revprop in SVN that is not immediately\n> visible to SVN users.\n\nI would say revprops would be great, but as of now, they are not by\ndefault available on svn repo. Which makes their usage only optional for\ngit. (But for author info I believe this is acceptable.)\n\nRichard\n"}]}