{"thread":{"id":"33814","subject":"[PATCH] remote-bzr: update old organization","startedAt":"2013-05-14T04:20:27Z","lastAt":"2013-05-17T17:58:44Z","messageCount":17,"participants":["Felipe Contreras","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"217262","messageId":"1368505227-16661-1-git-send-email-felipe.contreras@gmail.com","threadId":"33814","inReplyTo":null,"subject":"[PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T04:20:27Z","receivedAt":"2013-05-14T04:20:27Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"If a clone exists with the old organization (v1.8.2) it will prevent the\nnew shared repository organization from working, so let's remove this\nrepository, which is not used any more.\n\nSigned-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-bzr | 7 +++++++\n 1 file changed, 7 insertions(+)\n\ndiff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr\nindex 3e452af..b295dd4 100755\n--- a/contrib/remote-helpers/git-remote-bzr\n+++ b/contrib/remote-helpers/git-remote-bzr\n@@ -830,6 +830,13 @@ def get_repo(url, alias):\n         clone_path = os.path.join(dirname, 'clone')\n         if not os.path.exists(clone_path):\n             os.mkdir(clone_path)\n+        else:\n+            # check and remove old organization\n+            try:\n+                bdir = bzrlib.bzrdir.BzrDir.open(clone_path)\n+                bdir.destroy_repository()\n+            except bzrlib.errors.NotBranchError:\n+                pass\n \n     try:\n         repo = origin.open_repository()\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217330","messageId":"7v1u99lb8w.fsf@alter.siamese.dyndns.org","threadId":"33814","inReplyTo":"1368505227-16661-1-git-send-email-felipe.contreras@gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T17:30:55Z","receivedAt":"2013-05-14T17:30:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> If a clone exists with the old organization (v1.8.2) it will prevent the\n> new shared repository organization from working, so let's remove this\n> repository, which is not used any more.\n>\n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n\nWhat happens with and without this patch to an existing user from\n1.8.2 days, when she does what?\n\nA sample answer (to show the level of descriptiveness, not the\ncontent, I am epecting) might go something like \"Because the\norganization is different, it will barf whenever she tries to\nincrementally update from the other side. By removing the old one\n1.8.3 contrib/ does not understand, at least we can unstuck her; she\nends up reimporting the whole history, though.\"\n\nTrying to see if this is a 1.8.3 \"fast-track\" material.\n\n>  contrib/remote-helpers/git-remote-bzr | 7 +++++++\n>  1 file changed, 7 insertions(+)\n>\n> diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr\n> index 3e452af..b295dd4 100755\n> --- a/contrib/remote-helpers/git-remote-bzr\n> +++ b/contrib/remote-helpers/git-remote-bzr\n> @@ -830,6 +830,13 @@ def get_repo(url, alias):\n>          clone_path = os.path.join(dirname, 'clone')\n>          if not os.path.exists(clone_path):\n>              os.mkdir(clone_path)\n> +        else:\n> +            # check and remove old organization\n> +            try:\n> +                bdir = bzrlib.bzrdir.BzrDir.open(clone_path)\n> +                bdir.destroy_repository()\n> +            except bzrlib.errors.NotBranchError:\n> +                pass\n>  \n>      try:\n>          repo = origin.open_repository()\n"},{"id":"217359","messageId":"CAMP44s1rZmo3cQecGmYVMZ7KSq=z3_mfVnAK+so4QL_JfEe_uw@mail.gmail.com","threadId":"33814","inReplyTo":"7v1u99lb8w.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:06:12Z","receivedAt":"2013-05-14T20:06:12Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 12:30 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> If a clone exists with the old organization (v1.8.2) it will prevent the\n>> new shared repository organization from working, so let's remove this\n>> repository, which is not used any more.\n>>\n>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n>> ---\n>\n> What happens with and without this patch to an existing user from\n> 1.8.2 days, when she does what?\n\nI already explained it would prevent the new shared repository\norganization from working, so the old organization would be used; the\nrepositories won't be shared.\n\n> A sample answer (to show the level of descriptiveness, not the\n> content, I am epecting) might go something like \"Because the\n> organization is different, it will barf whenever she tries to\n> incrementally update from the other side. By removing the old one\n> 1.8.3 contrib/ does not understand, at least we can unstuck her; she\n> ends up reimporting the whole history, though.\"\n\nBazaar won't barf, the repositories will be duplicated, so the shared\nfeature won't work.\n\n-- \nFelipe Contreras\n"},{"id":"217371","messageId":"7v8v3hi9ix.fsf@alter.siamese.dyndns.org","threadId":"33814","inReplyTo":"CAMP44s1rZmo3cQecGmYVMZ7KSq=z3_mfVnAK+so4QL_JfEe_uw@mail.gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T20:36:22Z","receivedAt":"2013-05-14T20:36:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> On Tue, May 14, 2013 at 12:30 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>\n>>> If a clone exists with the old organization (v1.8.2) it will prevent the\n>>> new shared repository organization from working, so let's remove this\n>>> repository, which is not used any more.\n>>>\n>>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n>>> ---\n>>\n>> What happens with and without this patch to an existing user from\n>> 1.8.2 days, when she does what?\n>\n> I already explained it would prevent the new shared repository\n> organization from working, so the old organization would be used; the\n> repositories won't be shared.\n>\n>> A sample answer (to show the level of descriptiveness, not the\n>> content, I am epecting) might go something like \"Because the\n>> organization is different, it will barf whenever she tries to\n>> incrementally update from the other side. By removing the old one\n>> 1.8.3 contrib/ does not understand, at least we can unstuck her; she\n>> ends up reimporting the whole history, though.\"\n>\n> Bazaar won't barf, the repositories will be duplicated, so the shared\n> feature won't work.\n\nBut by removing the old incarnation, you are getting rid of the copy\nfor which the shared feature will not work, so with patch, \"won't\nwork\" is no longer an issue.  Is the user making a trade-off by\nusing Git with this patch?  What is she losing by removal, if\nanything?\n"},{"id":"217372","messageId":"CAMP44s2B3bFWXZe0aL_GMXe_56MbhSZXf-65rT364nY3shYwUA@mail.gmail.com","threadId":"33814","inReplyTo":"7v8v3hi9ix.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:50:25Z","receivedAt":"2013-05-14T20:50:25Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 3:36 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> On Tue, May 14, 2013 at 12:30 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>>\n>>>> If a clone exists with the old organization (v1.8.2) it will prevent the\n>>>> new shared repository organization from working, so let's remove this\n>>>> repository, which is not used any more.\n>>>>\n>>>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n>>>> ---\n>>>\n>>> What happens with and without this patch to an existing user from\n>>> 1.8.2 days, when she does what?\n>>\n>> I already explained it would prevent the new shared repository\n>> organization from working, so the old organization would be used; the\n>> repositories won't be shared.\n>>\n>>> A sample answer (to show the level of descriptiveness, not the\n>>> content, I am epecting) might go something like \"Because the\n>>> organization is different, it will barf whenever she tries to\n>>> incrementally update from the other side. By removing the old one\n>>> 1.8.3 contrib/ does not understand, at least we can unstuck her; she\n>>> ends up reimporting the whole history, though.\"\n>>\n>> Bazaar won't barf, the repositories will be duplicated, so the shared\n>> feature won't work.\n>\n> But by removing the old incarnation, you are getting rid of the copy\n> for which the shared feature will not work, so with patch, \"won't\n> work\" is no longer an issue.  Is the user making a trade-off by\n> using Git with this patch?  What is she losing by removal, if\n> anything?\n\nNo. The way repositories work in bazaar is tricky:\n\nSuppose you have a directory like this:\n\n+* first/second/foo\n+* first/second/bar\n\nBoth the branch and the repository are on the same directory (hence\n+*). We have two branches, and two independent repositories.\n\nAnd then you have a shared repo:\n\n+ first/\n* first/second/foo\n* first/second/bar\n\nNow we have a single repository shared between two branches.\n\nBut:\n\n+ first/\n+* first/second\n+* first/second/foo\n+* first/second/bar\n\nIf there's another repository in-between, neither 'foo' nor 'bar' can\nreach 'first', so they are stuck with the repository in 'second',\nwhich is not a shared repository, so they must create their own\nrepositories, but even if they could use 'second', there still would\nbe a problem:\n\n+ first/\n+* first/second\n+* first/second/foo\n+* first/second/bar\n+* first/third\n+* first/third/foo\n+* first/third/bar\n\nWe want 'second' and 'third' to share to object tree, but we can't.\n\nThis patch would remove the old repository ('second' and 'third') so\nwe have exactly what we want:\n\n+ first/\n* first/second/foo\n* first/second/bar\n* first/third/foo\n* first/third/bar\n\nA single bzr repository shared by all the branches and all the repos.\n\nIn reality it probably wouldn't be a big deal, because in v1.8.2 users\ncouldn't clone true bzr repos, but there are some bazaar repos with a\nsingle branch they could clone, and there would be a single duplicated\nrepo, like this:\n\n+ first/\n+* first/second/foo\n+* first/third/foo\n\n-- \nFelipe Contreras\n"},{"id":"217373","messageId":"CAMP44s16VD+Rm5J=TXxQB+pKhpzHqoxBXSSwDvi0CVW2u2J=5g@mail.gmail.com","threadId":"33814","inReplyTo":"CAMP44s2B3bFWXZe0aL_GMXe_56MbhSZXf-65rT364nY3shYwUA@mail.gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:57:09Z","receivedAt":"2013-05-14T20:57:09Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 3:50 PM, Felipe Contreras\n<felipe.contreras@gmail.com> wrote:\n> On Tue, May 14, 2013 at 3:36 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>\n>>> On Tue, May 14, 2013 at 12:30 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>>>\n>>>>> If a clone exists with the old organization (v1.8.2) it will prevent the\n>>>>> new shared repository organization from working, so let's remove this\n>>>>> repository, which is not used any more.\n>>>>>\n>>>>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n>>>>> ---\n>>>>\n>>>> What happens with and without this patch to an existing user from\n>>>> 1.8.2 days, when she does what?\n>>>\n>>> I already explained it would prevent the new shared repository\n>>> organization from working, so the old organization would be used; the\n>>> repositories won't be shared.\n>>>\n>>>> A sample answer (to show the level of descriptiveness, not the\n>>>> content, I am epecting) might go something like \"Because the\n>>>> organization is different, it will barf whenever she tries to\n>>>> incrementally update from the other side. By removing the old one\n>>>> 1.8.3 contrib/ does not understand, at least we can unstuck her; she\n>>>> ends up reimporting the whole history, though.\"\n>>>\n>>> Bazaar won't barf, the repositories will be duplicated, so the shared\n>>> feature won't work.\n>>\n>> But by removing the old incarnation, you are getting rid of the copy\n>> for which the shared feature will not work, so with patch, \"won't\n>> work\" is no longer an issue.  Is the user making a trade-off by\n>> using Git with this patch?  What is she losing by removal, if\n>> anything?\n>\n> No. The way repositories work in bazaar is tricky:\n>\n> Suppose you have a directory like this:\n>\n> +* first/second/foo\n> +* first/second/bar\n>\n> Both the branch and the repository are on the same directory (hence\n> +*). We have two branches, and two independent repositories.\n>\n> And then you have a shared repo:\n>\n> + first/\n> * first/second/foo\n> * first/second/bar\n>\n> Now we have a single repository shared between two branches.\n>\n> But:\n>\n> + first/\n> +* first/second\n> +* first/second/foo\n> +* first/second/bar\n>\n> If there's another repository in-between, neither 'foo' nor 'bar' can\n> reach 'first', so they are stuck with the repository in 'second',\n> which is not a shared repository, so they must create their own\n> repositories, but even if they could use 'second', there still would\n> be a problem:\n>\n> + first/\n> +* first/second\n> +* first/second/foo\n> +* first/second/bar\n> +* first/third\n> +* first/third/foo\n> +* first/third/bar\n>\n> We want 'second' and 'third' to share to object tree, but we can't.\n>\n> This patch would remove the old repository ('second' and 'third') so\n> we have exactly what we want:\n>\n> + first/\n> * first/second/foo\n> * first/second/bar\n> * first/third/foo\n> * first/third/bar\n>\n> A single bzr repository shared by all the branches and all the repos.\n>\n> In reality it probably wouldn't be a big deal, because in v1.8.2 users\n> couldn't clone true bzr repos, but there are some bazaar repos with a\n> single branch they could clone, and there would be a single duplicated\n> repo, like this:\n>\n> + first/\n> +* first/second/foo\n> +* first/third/foo\n\nI forgot to mention the main objective of the shared repo feature:\n\n+ first/\n* first/second/foo\n* first/third/foo\n* first/fourth/foo\n* first/fifth/foo\n* first/sixth/foo\n\nSince in bazaar branches are repositories, we want to make it possible\nfor remote-bzr users to create a single remote per branch as easily as\npossible (without having to duplicate huge clones).\n\nBut as I said, without this patch, they wouldn't be able to use that\nfeature if they cloned with v1.8.2.\n\n-- \nFelipe Contreras\n"},{"id":"217377","messageId":"7v4ne5i7lf.fsf@alter.siamese.dyndns.org","threadId":"33814","inReplyTo":"CAMP44s16VD+Rm5J=TXxQB+pKhpzHqoxBXSSwDvi0CVW2u2J=5g@mail.gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T21:18:04Z","receivedAt":"2013-05-14T21:18:04Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> I forgot to mention the main objective of the shared repo feature:\n>\n> + first/\n> * first/second/foo\n> * first/third/foo\n> * first/fourth/foo\n> * first/fifth/foo\n> * first/sixth/foo\n>\n> Since in bazaar branches are repositories, we want to make it possible\n> for remote-bzr users to create a single remote per branch as easily as\n> possible (without having to duplicate huge clones).\n>\n> But as I said, without this patch, they wouldn't be able to use that\n> feature if they cloned with v1.8.2.\n\nSo we nuke that and have them clone from scratch?  I am not saying\nthat is bad.  I just want us to be honest about the implications\nwhen including it in the ReleaseNotes.\n"},{"id":"217378","messageId":"CAMP44s0CgYs9s1ac1EEqhP8XusScj39zY6CcQyMxSnh6i-V6SA@mail.gmail.com","threadId":"33814","inReplyTo":"7v4ne5i7lf.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T21:38:40Z","receivedAt":"2013-05-14T21:38:40Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 4:18 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> I forgot to mention the main objective of the shared repo feature:\n>>\n>> + first/\n>> * first/second/foo\n>> * first/third/foo\n>> * first/fourth/foo\n>> * first/fifth/foo\n>> * first/sixth/foo\n>>\n>> Since in bazaar branches are repositories, we want to make it possible\n>> for remote-bzr users to create a single remote per branch as easily as\n>> possible (without having to duplicate huge clones).\n>>\n>> But as I said, without this patch, they wouldn't be able to use that\n>> feature if they cloned with v1.8.2.\n>\n> So we nuke that and have them clone from scratch?  I am not saying\n> that is bad.  I just want us to be honest about the implications\n> when including it in the ReleaseNotes.\n\nThe user won't have to do a thing, it happens behind the curtain.\n\nAnd the clone would happen either way, with or without this patch,\nbecause 'hg/origin/master' doesn't exist, the only purpose 'hg/origin'\nserves is to block the new feature.\n\n-- \nFelipe Contreras\n"},{"id":"217382","messageId":"7vvc6lfc98.fsf@alter.siamese.dyndns.org","threadId":"33814","inReplyTo":"CAMP44s0CgYs9s1ac1EEqhP8XusScj39zY6CcQyMxSnh6i-V6SA@mail.gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T22:05:39Z","receivedAt":"2013-05-14T22:05:39Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> And the clone would happen either way, with or without this patch,\n> because 'hg/origin/master' doesn't exist, the only purpose 'hg/origin'\n> serves is to block the new feature.\n\nThat is the answer I was trying to extract out of you (I take the hg\nis a typo for bzr in the above, though).\n"},{"id":"217384","messageId":"7vk3n1fbus.fsf@alter.siamese.dyndns.org","threadId":"33814","inReplyTo":"7vvc6lfc98.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T22:14:19Z","receivedAt":"2013-05-14T22:14:19Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> And the clone would happen either way, with or without this patch,\n>> because 'hg/origin/master' doesn't exist, the only purpose 'hg/origin'\n>> serves is to block the new feature.\n>\n> That is the answer I was trying to extract out of you (I take the hg\n> is a typo for bzr in the above, though).\n\nJust to double check, I understand that the justification for\nremoval is this:\n\n     If a clone exists with the old organization (v1.8.2) it will prevent the\n     new shared repository organization from working, so let's remove this\n    -repository, which is not used any more.\n    +repository. It is not used by 1.8.3, and did not host any useful\n    +information in the code in 1.8.2.\n"},{"id":"217386","messageId":"CAMP44s2L9CsLu+hr4McVzUnb7x+uipEs5nHKLg+69BicMaJjpA@mail.gmail.com","threadId":"33814","inReplyTo":"7vk3n1fbus.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T22:17:37Z","receivedAt":"2013-05-14T22:17:37Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 5:14 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>\n>>> And the clone would happen either way, with or without this patch,\n>>> because 'hg/origin/master' doesn't exist, the only purpose 'hg/origin'\n>>> serves is to block the new feature.\n>>\n>> That is the answer I was trying to extract out of you (I take the hg\n>> is a typo for bzr in the above, though).\n>\n> Just to double check, I understand that the justification for\n> removal is this:\n>\n>      If a clone exists with the old organization (v1.8.2) it will prevent the\n>      new shared repository organization from working, so let's remove this\n>     -repository, which is not used any more.\n>     +repository. It is not used by 1.8.3, and did not host any useful\n>     +information in the code in 1.8.2.\n\nThat is not true. It did host useful information in 1.8.2, if we apply\nthis and the user tries to pull with remote-bzr from 1.8.2, it would\nneed to be cloned again.\n\n-- \nFelipe Contreras\n"},{"id":"217390","messageId":"7v7gj1fayr.fsf@alter.siamese.dyndns.org","threadId":"33814","inReplyTo":"CAMP44s2L9CsLu+hr4McVzUnb7x+uipEs5nHKLg+69BicMaJjpA@mail.gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T22:33:32Z","receivedAt":"2013-05-14T22:33:32Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> On Tue, May 14, 2013 at 5:14 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Junio C Hamano <gitster@pobox.com> writes:\n>>\n>>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>>\n>>>> And the clone would happen either way, with or without this patch,\n>>>> because 'hg/origin/master' doesn't exist, the only purpose 'hg/origin'\n>>>> serves is to block the new feature.\n>>>\n>>> That is the answer I was trying to extract out of you (I take the hg\n>>> is a typo for bzr in the above, though).\n>>\n>> Just to double check, I understand that the justification for\n>> removal is this:\n>>\n>>      If a clone exists with the old organization (v1.8.2) it will prevent the\n>>      new shared repository organization from working, so let's remove this\n>>     -repository, which is not used any more.\n>>     +repository. It is not used by 1.8.3, and did not host any useful\n>>     +information in the code in 1.8.2.\n>\n> That is not true. It did host useful information in 1.8.2, if we apply\n> this and the user tries to pull with remote-bzr from 1.8.2, it would\n> need to be cloned again.\n\nSo the answer to my original question:\n\n    So we nuke that and have them clone from scratch?\n\nis now \"Yes, unfortunately, but it happens automatically inside\nremote-bzr and the users won't have to do anything extra\"?\n\nThat is the kind of honest description I wanted to see.\n"},{"id":"217393","messageId":"CAMP44s0+nFHB56tdpCCbjurKhmaNfk39UaWEQBF4V2fb-hcwOQ@mail.gmail.com","threadId":"33814","inReplyTo":"7v7gj1fayr.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T22:43:23Z","receivedAt":"2013-05-14T22:43:23Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 5:33 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> On Tue, May 14, 2013 at 5:14 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>> Junio C Hamano <gitster@pobox.com> writes:\n>>>\n>>>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>>>\n>>>>> And the clone would happen either way, with or without this patch,\n>>>>> because 'hg/origin/master' doesn't exist, the only purpose 'hg/origin'\n>>>>> serves is to block the new feature.\n>>>>\n>>>> That is the answer I was trying to extract out of you (I take the hg\n>>>> is a typo for bzr in the above, though).\n>>>\n>>> Just to double check, I understand that the justification for\n>>> removal is this:\n>>>\n>>>      If a clone exists with the old organization (v1.8.2) it will prevent the\n>>>      new shared repository organization from working, so let's remove this\n>>>     -repository, which is not used any more.\n>>>     +repository. It is not used by 1.8.3, and did not host any useful\n>>>     +information in the code in 1.8.2.\n>>\n>> That is not true. It did host useful information in 1.8.2, if we apply\n>> this and the user tries to pull with remote-bzr from 1.8.2, it would\n>> need to be cloned again.\n>\n> So the answer to my original question:\n>\n>     So we nuke that and have them clone from scratch?\n\nNo, as I already explained the \"cloning from scratch\" is already\nhappening with or without this patch.\n\nAll this change does is remove a repository that is not used any more\nin order to allow a feature that was already introduced, and that's\nexactly what the commit message says. It doesn't cause any other\nchange.\n\n-- \nFelipe Contreras\n"},{"id":"217704","messageId":"CAMP44s3zXLwHu0OhLKsoerHaoBGMf66hNJ=hvOiUVAe4+=hDiA@mail.gmail.com","threadId":"33814","inReplyTo":"CABLWAfStOZvKZzsCqb+UiedA7Ra-ermyRJVAeocBE=RdXL8B2w@mail.gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-17T10:33:27Z","receivedAt":"2013-05-17T10:33:27Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Fri, May 17, 2013 at 5:02 AM, Sandor Bodo-Merle <sbodomerle@gmail.com> wrote:\n\n> apparently this breaks my existing clone of the bugzilla repository, where i\n> have branches cloned with versions of remote-bzr prior 1.8.2 and after. The\n> erro iget is:\n>\n> Fetching origin\n> Traceback (most recent call last):\n>   File \"/home/bms/bin/git-remote-bzr\", line 956, in <module>\n>     sys.exit(main(sys.argv))\n>   File \"/home/bms/bin/git-remote-bzr\", line 928, in main\n>     repo = get_repo(url, alias)\n>   File \"/home/bms/bin/git-remote-bzr\", line 844, in get_repo\n>     bdir.destroy_repository()\n>   File \"/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py\", line 900, in\n> destroy_repository\n>     raise errors.NoRepositoryPresent(self)\n> bzrlib.errors.NoRepositoryPresent: No repository present:\n> \"file:///home/bms/workspace/bugzilla/.git/bzr/origin/clone/\"\n> error: Could not fetch origin\n>\n>\n> The following small patch seems to fix my regression:\n\nThe patch is fine by me, in fact, I already had that patch, but\nsomehow could not trigger the exception, so I removed it.\n\n-- \nFelipe Contreras\n"},{"id":"217731","messageId":"7vzjvtzg61.fsf@alter.siamese.dyndns.org","threadId":"33814","inReplyTo":"CAMP44s3zXLwHu0OhLKsoerHaoBGMf66hNJ=hvOiUVAe4+=hDiA@mail.gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-17T17:09:58Z","receivedAt":"2013-05-17T17:09:58Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> On Fri, May 17, 2013 at 5:02 AM, Sandor Bodo-Merle <sbodomerle@gmail.com> wrote:\n>\n>> apparently this breaks my existing clone of the bugzilla repository, where i\n>> have branches cloned with versions of remote-bzr prior 1.8.2 and after. The\n>> erro iget is:\n>>\n>> Fetching origin\n>> Traceback (most recent call last):\n>>   File \"/home/bms/bin/git-remote-bzr\", line 956, in <module>\n>>     sys.exit(main(sys.argv))\n>>   File \"/home/bms/bin/git-remote-bzr\", line 928, in main\n>>     repo = get_repo(url, alias)\n>>   File \"/home/bms/bin/git-remote-bzr\", line 844, in get_repo\n>>     bdir.destroy_repository()\n>>   File \"/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py\", line 900, in\n>> destroy_repository\n>>     raise errors.NoRepositoryPresent(self)\n>> bzrlib.errors.NoRepositoryPresent: No repository present:\n>> \"file:///home/bms/workspace/bugzilla/.git/bzr/origin/clone/\"\n>> error: Could not fetch origin\n>>\n>>\n>> The following small patch seems to fix my regression:\n>\n> The patch is fine by me, in fact, I already had that patch, but\n> somehow could not trigger the exception, so I removed it.\n\nIs it merely \"fine\", or needed for 1.8.3?  I am guessing it is the\nlatter but making a final double-check, as I'll be stopping to pick\nup patches from the list in order to start today's integration run\n(that includes tagging 1.8.3-rc3).\n\nThanks.\n"},{"id":"217732","messageId":"CAMP44s2DogT71+cQJK8Yu0xcAbuYB-6T3TwMKyuh12wCR+sK8g@mail.gmail.com","threadId":"33814","inReplyTo":"7vzjvtzg61.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-17T17:12:25Z","receivedAt":"2013-05-17T17:12:25Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Fri, May 17, 2013 at 12:09 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> On Fri, May 17, 2013 at 5:02 AM, Sandor Bodo-Merle <sbodomerle@gmail.com> wrote:\n>>\n>>> apparently this breaks my existing clone of the bugzilla repository, where i\n>>> have branches cloned with versions of remote-bzr prior 1.8.2 and after. The\n>>> erro iget is:\n>>>\n>>> Fetching origin\n>>> Traceback (most recent call last):\n>>>   File \"/home/bms/bin/git-remote-bzr\", line 956, in <module>\n>>>     sys.exit(main(sys.argv))\n>>>   File \"/home/bms/bin/git-remote-bzr\", line 928, in main\n>>>     repo = get_repo(url, alias)\n>>>   File \"/home/bms/bin/git-remote-bzr\", line 844, in get_repo\n>>>     bdir.destroy_repository()\n>>>   File \"/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py\", line 900, in\n>>> destroy_repository\n>>>     raise errors.NoRepositoryPresent(self)\n>>> bzrlib.errors.NoRepositoryPresent: No repository present:\n>>> \"file:///home/bms/workspace/bugzilla/.git/bzr/origin/clone/\"\n>>> error: Could not fetch origin\n>>>\n>>>\n>>> The following small patch seems to fix my regression:\n>>\n>> The patch is fine by me, in fact, I already had that patch, but\n>> somehow could not trigger the exception, so I removed it.\n>\n> Is it merely \"fine\", or needed for 1.8.3?  I am guessing it is the\n> latter but making a final double-check, as I'll be stopping to pick\n> up patches from the list in order to start today's integration run\n> (that includes tagging 1.8.3-rc3).\n\nYes, for v1.8.3.\n\n-- \nFelipe Contreras\n"},{"id":"217746","messageId":"7vbo89zdwr.fsf@alter.siamese.dyndns.org","threadId":"33814","inReplyTo":"CAMP44s2DogT71+cQJK8Yu0xcAbuYB-6T3TwMKyuh12wCR+sK8g@mail.gmail.com","subject":"Re: [PATCH] remote-bzr: update old organization","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-17T17:58:44Z","receivedAt":"2013-05-17T17:58:44Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> On Fri, May 17, 2013 at 12:09 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>\n>>> On Fri, May 17, 2013 at 5:02 AM, Sandor Bodo-Merle <sbodomerle@gmail.com> wrote:\n>>>\n>>>> apparently this breaks my existing clone of the bugzilla repository, where i\n>>>> have branches cloned with versions of remote-bzr prior 1.8.2 and after. The\n>>>> erro iget is:\n>>>>\n>>>> Fetching origin\n>>>> Traceback (most recent call last):\n>>>>   File \"/home/bms/bin/git-remote-bzr\", line 956, in <module>\n>>>>     sys.exit(main(sys.argv))\n>>>>   File \"/home/bms/bin/git-remote-bzr\", line 928, in main\n>>>>     repo = get_repo(url, alias)\n>>>>   File \"/home/bms/bin/git-remote-bzr\", line 844, in get_repo\n>>>>     bdir.destroy_repository()\n>>>>   File \"/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py\", line 900, in\n>>>> destroy_repository\n>>>>     raise errors.NoRepositoryPresent(self)\n>>>> bzrlib.errors.NoRepositoryPresent: No repository present:\n>>>> \"file:///home/bms/workspace/bugzilla/.git/bzr/origin/clone/\"\n>>>> error: Could not fetch origin\n>>>>\n>>>>\n>>>> The following small patch seems to fix my regression:\n>>>\n>>> The patch is fine by me, in fact, I already had that patch, but\n>>> somehow could not trigger the exception, so I removed it.\n>>\n>> Is it merely \"fine\", or needed for 1.8.3?  I am guessing it is the\n>> latter but making a final double-check, as I'll be stopping to pick\n>> up patches from the list in order to start today's integration run\n>> (that includes tagging 1.8.3-rc3).\n>\n> Yes, for v1.8.3.\n\nThanks.\n"}]}