{"thread":{"id":"19103","subject":"(topgit question) deleting a dependency","startedAt":"2009-04-28T08:49:08Z","lastAt":"2009-04-29T18:48:51Z","messageCount":10,"participants":["Sitaram Chamarty","martin f krafft","Uwe Kleine-König"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"112503","messageId":"slrngvdgo4.kr7.sitaramc@sitaramc.homelinux.net","threadId":"19103","inReplyTo":null,"subject":"(topgit question) deleting a dependency","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2009-04-28T08:49:08Z","receivedAt":"2009-04-28T08:49:08Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"HI,\n\n[Apologies if this is not the right place to ask; please let\nme know if so...]\n\nI know \"tg depend\" only has the \"add\" subcommand right now,\nbut is there a manual way of getting the effect of a\nhypothetical \"tg depend remove\"?\n\nFor branches which do not introduce any changes of their\nown, can I just \"tg delete\" the branch and \"tg create\" it\nagain with the reduced list of dependencies?  How does this\naffect the remote (which would still become a forced push of\nsome kind).\n\nAnd is there a way to do this for dependent branches which\n*do* have changes of their own?  Even if it is manual and\ncomes with \"here be dragons\" warnings :-)\n\nThanks,\n\nSitaram\n"},{"id":"112506","messageId":"20090428094138.GB9415@piper.oerlikon.madduck.net","threadId":"19103","inReplyTo":"slrngvdgo4.kr7.sitaramc@sitaramc.homelinux.net","subject":"Re: (topgit question) deleting a dependency","fromName":"martin f krafft","fromEmail":"madduck@madduck.net","sentAt":"2009-04-28T09:41:38Z","receivedAt":"2009-04-28T09:41:38Z","isPatch":false,"sender":{"key":"madduck@madduck.net","avatar":null},"body":"also sprach Sitaram Chamarty <sitaramc@gmail.com> [2009.04.28.1049 +0200]:\n> [Apologies if this is not the right place to ask; please let\n> me know if so...]\n\nIt is...\n\n> I know \"tg depend\" only has the \"add\" subcommand right now,\n> but is there a manual way of getting the effect of a\n> hypothetical \"tg depend remove\"?\n\nNo, not yet, see http://bugs.debian.org/505303 for further\ndiscussion on the issue.\n\n-- \nmartin | http://madduck.net/ | http://two.sentenc.es/\n \n\"perfection is achieved, not when there is nothing more to add, but\n when there is nothing left to take away.\"\n                                         -- antoine de saint-exupéry\n \nspamtraps: madduck.bogus@madduck.net\n"},{"id":"112520","messageId":"slrngve3mf.f45.sitaramc@sitaramc.homelinux.net","threadId":"19103","inReplyTo":"20090428094138.GB9415@piper.oerlikon.madduck.net","subject":"Re: (topgit question) deleting a dependency","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2009-04-28T14:12:31Z","receivedAt":"2009-04-28T14:12:31Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"On 2009-04-28, martin f krafft <madduck@madduck.net> wrote:\n\n>> I know \"tg depend\" only has the \"add\" subcommand right now,\n>> but is there a manual way of getting the effect of a\n>> hypothetical \"tg depend remove\"?\n>\n> No, not yet, see http://bugs.debian.org/505303 for further\n> discussion on the issue.\n\nYes, I'd seen that on a google search, and it made my head\nhurt :-)  (My fault, not theirs...!)\n\nI was latching onto the last line of that email: \"Maybe in\nyour case this could be even simpler but this should be the\ngeneral process\".\n\nMy situation _should_ be the simplest.  Every topgit branch\nstarts off from master, and they're all notionally\nindependent of each other.  As long as they're here, they're\n\"cooking\", all together, in a branch called t/all.\n\nWhen one branch is deemed to be cooked, a \"tg export\" takes\nthat code to master, and I intend to delete t/all and create\nit afresh with the rest of the dependencies (the old set\nminus the one that finished cooking).\n\nI was hoping to hear if anyone sees any red flags in that\nstrategy.\n\nThanks again,\n\nSitaram\n"},{"id":"112524","messageId":"20090428150753.GB30582@piper.oerlikon.madduck.net","threadId":"19103","inReplyTo":"slrngve3mf.f45.sitaramc@sitaramc.homelinux.net","subject":"Re: (topgit question) deleting a dependency","fromName":"martin f krafft","fromEmail":"madduck@madduck.net","sentAt":"2009-04-28T15:07:53Z","receivedAt":"2009-04-28T15:07:53Z","isPatch":false,"sender":{"key":"madduck@madduck.net","avatar":null},"body":"also sprach Sitaram Chamarty <sitaramc@gmail.com> [2009.04.28.1612 +0200]:\n> When one branch is deemed to be cooked, a \"tg export\" takes\n> that code to master, and I intend to delete t/all and create\n> it afresh with the rest of the dependencies (the old set\n> minus the one that finished cooking).\n\nAre any of the t/* branches ever used by anyone else but you? Are\nthey published?\n\n-- \nmartin | http://madduck.net/ | http://two.sentenc.es/\n \n\"the search for the perfect martini is a fraud. the perfect martini\n is a belt of gin from the bottle; anything else is the decadent\n trappings of civilization.\"\n                                                            -- t. k.\n \nspamtraps: madduck.bogus@madduck.net\n"},{"id":"112539","messageId":"slrngve8t2.is7.sitaramc@sitaramc.homelinux.net","threadId":"19103","inReplyTo":"20090428150753.GB30582@piper.oerlikon.madduck.net","subject":"Re: (topgit question) deleting a dependency","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2009-04-28T15:41:22Z","receivedAt":"2009-04-28T15:41:22Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"On 2009-04-28, martin f krafft <madduck@madduck.net> wrote:\n\n> also sprach Sitaram Chamarty <sitaramc@gmail.com> [2009.04.28.1612 +0200]:\n>> When one branch is deemed to be cooked, a \"tg export\" takes\n>> that code to master, and I intend to delete t/all and create\n>> it afresh with the rest of the dependencies (the old set\n>> minus the one that finished cooking).\n>\n> Are any of the t/* branches ever used by anyone else but you? Are\n> they published?\n\nNo to both questions.  Sorry I should have mentioned that\nearlier :-)\n"},{"id":"112554","messageId":"20090428204018.GA17722@pengutronix.de","threadId":"19103","inReplyTo":"20090428094138.GB9415@piper.oerlikon.madduck.net","subject":"Re: (topgit question) deleting a dependency","fromName":"Uwe Kleine-König","fromEmail":"u.kleine-koenig@pengutronix.de","sentAt":"2009-04-28T20:40:18Z","receivedAt":"2009-04-28T20:40:18Z","isPatch":false,"sender":{"key":"u.kleine-koenig@pengutronix.de","avatar":"https://gravatar.com/avatar/354b5e3ceb2806a2f1e1e382ac29ddbdad18288654da62b61eb13583a857eee7?d=mp&s=160"},"body":"Hello Sitaram,\n\nOn Tue, Apr 28, 2009 at 11:41:38AM +0200, martin f krafft wrote:\n> also sprach Sitaram Chamarty <sitaramc@gmail.com> [2009.04.28.1049 +0200]:\n> [...]\n> > I know \"tg depend\" only has the \"add\" subcommand right now,\n> > but is there a manual way of getting the effect of a\n> > hypothetical \"tg depend remove\"?\n> \n> No, not yet, see http://bugs.debian.org/505303 for further\n> discussion on the issue.\nBut note that you might get some problems after doing that.  See\n\n\thttp://thread.gmane.org/gmane.comp.version-control.git/116193/focus=116205\n\nfor some more details.\n\nBest regards\nUwe\n\n-- \nPengutronix e.K.                              | Uwe Kleine-König            |\nIndustrial Linux Solutions                    | http://www.pengutronix.de/  |\n"},{"id":"112585","messageId":"slrngvf976.65c.sitaramc@sitaramc.homelinux.net","threadId":"19103","inReplyTo":"20090428204018.GA17722@pengutronix.de","subject":"Re: (topgit question) deleting a dependency","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2009-04-29T00:52:54Z","receivedAt":"2009-04-29T00:52:54Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"On 2009-04-28, Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:\n\n> On Tue, Apr 28, 2009 at 11:41:38AM +0200, martin f krafft wrote:\n>> also sprach Sitaram Chamarty <sitaramc@gmail.com> [2009.04.28.1049 +0200]:\n>> [...]\n>> > I know \"tg depend\" only has the \"add\" subcommand right now,\n>> > but is there a manual way of getting the effect of a\n>> > hypothetical \"tg depend remove\"?\n>> \n>> No, not yet, see http://bugs.debian.org/505303 for further\n>> discussion on the issue.\n> But note that you might get some problems after doing that.  See\n>\n> \thttp://thread.gmane.org/gmane.comp.version-control.git/116193/focus=116205\n\nHello Uwe,\n\nThis is a little beyond my comprehension :(  However, this\nis also why I am limiting myself to\n\n  - a single level of dependencies in tg, (master -->\n    multiple t/something --> t/all), and\n\n  - no changes of its own in t/all\n\nWhen any of the t/something graduates to master, t/all will\nbe blown away (safe, since it has no changes of its own) and\na new t/all created with the new set of dependencies.\n\nI'm pretty sure this will work -- you could say I'm using tg\nto automate the \"throw-away merge\" work flow.\n\nThanks,\n\nSitaram\n"},{"id":"112612","messageId":"20090429082410.GB18521@pengutronix.de","threadId":"19103","inReplyTo":"slrngvf976.65c.sitaramc@sitaramc.homelinux.net","subject":"Re: (topgit question) deleting a dependency","fromName":"Uwe Kleine-König","fromEmail":"u.kleine-koenig@pengutronix.de","sentAt":"2009-04-29T08:24:10Z","receivedAt":"2009-04-29T08:24:10Z","isPatch":false,"sender":{"key":"u.kleine-koenig@pengutronix.de","avatar":"https://gravatar.com/avatar/354b5e3ceb2806a2f1e1e382ac29ddbdad18288654da62b61eb13583a857eee7?d=mp&s=160"},"body":"Hello Sitaram,\n\n[mmh, your mail didn't have me in the addressees, wonder why.]\n\nOn Wed, Apr 29, 2009 at 12:52:54AM +0000, Sitaram Chamarty wrote:\n> On 2009-04-28, Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:\n> \n> > On Tue, Apr 28, 2009 at 11:41:38AM +0200, martin f krafft wrote:\n> >> also sprach Sitaram Chamarty <sitaramc@gmail.com> [2009.04.28.1049 +0200]:\n> >> [...]\n> >> > I know \"tg depend\" only has the \"add\" subcommand right now,\n> >> > but is there a manual way of getting the effect of a\n> >> > hypothetical \"tg depend remove\"?\n> >> \n> >> No, not yet, see http://bugs.debian.org/505303 for further\n> >> discussion on the issue.\n> > But note that you might get some problems after doing that.  See\n> >\n> > \thttp://thread.gmane.org/gmane.comp.version-control.git/116193/focus=116205\n> \n> Hello Uwe,\n> \n> This is a little beyond my comprehension :(  However, this\n> is also why I am limiting myself to\n> \n>   - a single level of dependencies in tg, (master -->\n>     multiple t/something --> t/all), and\n> \n>   - no changes of its own in t/all\n> \n> When any of the t/something graduates to master, t/all will\n> be blown away (safe, since it has no changes of its own) and\nWhat makes you think it will \"be blown away\"?  Or alternatively, what do\nyou mean saying that?  I often use the same approach and I never had the\nfeeling anything is blown away.  If upstream uses your t/something patch\nit just merges into t/something making it empty without changing the\ncorresponding tree (assuming master contains no other changes).  Then\nwhen t/something is merged into t/all nothing happens, because\nt/something's tree didn't change.\n\nSo the only thing is that t/all depends on an empty tg-branch.\n\nBest regards\nUwe\n\n-- \nPengutronix e.K.                              | Uwe Kleine-König            |\nIndustrial Linux Solutions                    | http://www.pengutronix.de/  |\n"},{"id":"112623","messageId":"slrngvgh7m.isk.sitaramc@sitaramc.homelinux.net","threadId":"19103","inReplyTo":"20090429082410.GB18521@pengutronix.de","subject":"Re: (topgit question) deleting a dependency","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2009-04-29T12:15:50Z","receivedAt":"2009-04-29T12:15:50Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"On 2009-04-29, Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:\n> Hello Sitaram,\n>\n> [mmh, your mail didn't have me in the addressees, wonder why.]\n\nSorry - I'm using gmane over slrn (NNTP) from a work server!\nSlrn splits the \"nntp post\" and sends it to gmane, which is\nquite happy to post on behalf of sitaramc@gmail.com (my\npersonal address) but slrn then tries to deliver the \"cc\"\npart using my local (work) mailer, with my work email\naddress as the \"From\".  I'm explicitly cc-ing you now, so to\nyou the email will appear to come from my work address.\nSorry about that!\n\n>> This is a little beyond my comprehension :(  However, this\n>> is also why I am limiting myself to\n>> \n>>   - a single level of dependencies in tg, (master -->\n>>     multiple t/something --> t/all), and\n>> \n>>   - no changes of its own in t/all\n>> \n>> When any of the t/something graduates to master, t/all will\n>> be blown away (safe, since it has no changes of its own) and\n\n> What makes you think it will \"be blown away\"?  Or alternatively, what do\n\nMy mistake.  I meant that I will blow it away myself, and\ncreate a new one with the same name except it's list of deps\nwill exclude the one that graduated.\n\n> you mean saying that?  I often use the same approach and I never had the\n> feeling anything is blown away.  If upstream uses your t/something patch\n> it just merges into t/something making it empty without changing the\n\nHow?  When I update master from upstream and then tg update\non t/all?\n\n> corresponding tree (assuming master contains no other changes).  Then\n> when t/something is merged into t/all nothing happens, because\n> t/something's tree didn't change.\n>\n> So the only thing is that t/all depends on an empty tg-branch.\n\nRegards,\n\nSitaram\n"},{"id":"112655","messageId":"20090429184851.GA17286@pengutronix.de","threadId":"19103","inReplyTo":"slrngvgh7m.isk.sitaramc@sitaramc.homelinux.net","subject":"Re: (topgit question) deleting a dependency","fromName":"Uwe Kleine-König","fromEmail":"u.kleine-koenig@pengutronix.de","sentAt":"2009-04-29T18:48:51Z","receivedAt":"2009-04-29T18:48:51Z","isPatch":false,"sender":{"key":"u.kleine-koenig@pengutronix.de","avatar":"https://gravatar.com/avatar/354b5e3ceb2806a2f1e1e382ac29ddbdad18288654da62b61eb13583a857eee7?d=mp&s=160"},"body":"Hello,\n\n> >> This is a little beyond my comprehension :(  However, this\n> >> is also why I am limiting myself to\n> >> \n> >>   - a single level of dependencies in tg, (master -->\n> >>     multiple t/something --> t/all), and\n> >> \n> >>   - no changes of its own in t/all\n> >> \n> >> When any of the t/something graduates to master, t/all will\n> >> be blown away (safe, since it has no changes of its own) and\n> \n> > What makes you think it will \"be blown away\"?  Or alternatively, what do\n> \n> My mistake.  I meant that I will blow it away myself, and\n> create a new one with the same name except it's list of deps\n> will exclude the one that graduated.\n> \n> > you mean saying that?  I often use the same approach and I never had the\n> > feeling anything is blown away.  If upstream uses your t/something patch\n> > it just merges into t/something making it empty without changing the\n> \n> How?  When I update master from upstream and then tg update\n> on t/all?\nyes.  I think it's even save to just remove empty dependencies (and add\nthe dependencies of the patch branch to be deleted) from .topdeps.\n\nBest regards\nUwe\n\n-- \nPengutronix e.K.                              | Uwe Kleine-König            |\nIndustrial Linux Solutions                    | http://www.pengutronix.de/  |\n"}]}