* Incorrect merge @ 2010-11-01 13:48 Ken Brown 2010-11-01 15:46 ` Chong Yidong 2010-11-01 16:02 ` Chong Yidong 0 siblings, 2 replies; 39+ messages in thread From: Ken Brown @ 2010-11-01 13:48 UTC (permalink / raw) To: Michael Albinus; +Cc: Emacs Hi Michael, It looks like the following change got merged with the trunk inadvertently: revno: 100136 committer: Michael Albinus <michael.albinus@gmx.de> branch nick: emacs-23 timestamp: Mon 2010-10-25 13:46:21 +0200 message: * dbusbind.c (Fdbus_call_method_asynchronously) (Fdbus_register_signal, Fdbus_register_method): Check, whether `dbus-registered-objects-table' is initialized. Must not be synchronized with the trunk. Ken ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 13:48 Incorrect merge Ken Brown @ 2010-11-01 15:46 ` Chong Yidong 2010-11-01 16:02 ` Chong Yidong 1 sibling, 0 replies; 39+ messages in thread From: Chong Yidong @ 2010-11-01 15:46 UTC (permalink / raw) To: Ken Brown; +Cc: Michael Albinus, Emacs Ken Brown <kbrown@cornell.edu> writes: > Hi Michael, > > It looks like the following change got merged with the trunk inadvertently: > > revno: 100136 > committer: Michael Albinus <michael.albinus@gmx.de> > branch nick: emacs-23 > timestamp: Mon 2010-10-25 13:46:21 +0200 > message: > * dbusbind.c (Fdbus_call_method_asynchronously) > (Fdbus_register_signal, Fdbus_register_method): Check, whether > `dbus-registered-objects-table' is initialized. > > Must not be synchronized with the trunk. I just corrected this. Thanks. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 13:48 Incorrect merge Ken Brown 2010-11-01 15:46 ` Chong Yidong @ 2010-11-01 16:02 ` Chong Yidong 2010-11-01 17:54 ` Eli Zaretskii 1 sibling, 1 reply; 39+ messages in thread From: Chong Yidong @ 2010-11-01 16:02 UTC (permalink / raw) To: Ken Brown; +Cc: Michael Albinus, Emacs Ken Brown <kbrown@cornell.edu> writes: > It looks like the following change got merged with the trunk inadvertently: > > revno: 100136 > committer: Michael Albinus <michael.albinus@gmx.de> > branch nick: emacs-23 > timestamp: Mon 2010-10-25 13:46:21 +0200 > message: > * dbusbind.c (Fdbus_call_method_asynchronously) > (Fdbus_register_signal, Fdbus_register_method): Check, whether > `dbus-registered-objects-table' is initialized. > > Must not be synchronized with the trunk. Should be fixed now, thanks. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 16:02 ` Chong Yidong @ 2010-11-01 17:54 ` Eli Zaretskii 2010-11-01 20:21 ` Juanma Barranquero 0 siblings, 1 reply; 39+ messages in thread From: Eli Zaretskii @ 2010-11-01 17:54 UTC (permalink / raw) To: Chong Yidong; +Cc: michael.albinus, kbrown, emacs-devel > From: Chong Yidong <cyd@stupidchicken.com> > Date: Mon, 01 Nov 2010 12:02:31 -0400 > Cc: Michael Albinus <michael.albinus@gmx.de>, Emacs <emacs-devel@gnu.org> > > Ken Brown <kbrown@cornell.edu> writes: > > > It looks like the following change got merged with the trunk inadvertently: > > > > revno: 100136 > > committer: Michael Albinus <michael.albinus@gmx.de> > > branch nick: emacs-23 > > timestamp: Mon 2010-10-25 13:46:21 +0200 > > message: > > * dbusbind.c (Fdbus_call_method_asynchronously) > > (Fdbus_register_signal, Fdbus_register_method): Check, whether > > `dbus-registered-objects-table' is initialized. > > > > Must not be synchronized with the trunk. > > Should be fixed now, thanks. Should we have improved procedures to avoid such incidents in the future? This isn't the first time things get merged that shouldn't. I wonder how many such cases are still there on the trunk, undetected. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 17:54 ` Eli Zaretskii @ 2010-11-01 20:21 ` Juanma Barranquero 2010-11-01 20:37 ` Eli Zaretskii 0 siblings, 1 reply; 39+ messages in thread From: Juanma Barranquero @ 2010-11-01 20:21 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Chong Yidong, michael.albinus, kbrown, emacs-devel On Mon, Nov 1, 2010 at 18:54, Eli Zaretskii <eliz@gnu.org> wrote: > Should we have improved procedures to avoid such incidents in the future? Definitely. > This isn't the first time things get merged that shouldn't. Indeed. Juanma ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 20:21 ` Juanma Barranquero @ 2010-11-01 20:37 ` Eli Zaretskii 2010-11-01 22:19 ` Juanma Barranquero 2010-11-01 23:02 ` Óscar Fuentes 0 siblings, 2 replies; 39+ messages in thread From: Eli Zaretskii @ 2010-11-01 20:37 UTC (permalink / raw) To: Juanma Barranquero; +Cc: cyd, michael.albinus, kbrown, emacs-devel > From: Juanma Barranquero <lekktu@gmail.com> > Date: Mon, 1 Nov 2010 21:21:04 +0100 > Cc: Chong Yidong <cyd@stupidchicken.com>, michael.albinus@gmx.de, kbrown@cornell.edu, > emacs-devel@gnu.org > > On Mon, Nov 1, 2010 at 18:54, Eli Zaretskii <eliz@gnu.org> wrote: > > > Should we have improved procedures to avoid such incidents in the future? > > Definitely. Suggestions are welcome. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 20:37 ` Eli Zaretskii @ 2010-11-01 22:19 ` Juanma Barranquero 2010-11-02 1:50 ` Stephen J. Turnbull 2010-11-01 23:02 ` Óscar Fuentes 1 sibling, 1 reply; 39+ messages in thread From: Juanma Barranquero @ 2010-11-01 22:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: cyd, michael.albinus, kbrown, emacs-devel On Mon, Nov 1, 2010 at 21:37, Eli Zaretskii <eliz@gnu.org> wrote: > Suggestions are welcome. I don't think there are magic bullets. Either we note somewhere (in a file, for example) which revisions in the branches must not be committed to the trunk, or we make sure that the info is conspicuous enough in the patches themselves so the person doing the merge does not miss it. Adding a note to the commit log was suggested, and in fact followed in this particular case, but during the merge is usually not necessary to look at the commit log messages unless a conflict arises or you suspect trouble somehow. A note as the first line in the ChangeLog entry would be more visible, IMO. Perhaps also comments in the source, though that would be messy/ugly for big patches. Less significant, but more error prone than porting unwanted patches to the trunk is merging the ChangeLogs. In the merges I've done from emacs-23, making sure the resulting ChangeLogs were updated with the relevant entries (and nothing more and nothing less), was the most time-consuming aspect of the merge. Juanma ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 22:19 ` Juanma Barranquero @ 2010-11-02 1:50 ` Stephen J. Turnbull 2010-11-02 14:54 ` Stefan Monnier 0 siblings, 1 reply; 39+ messages in thread From: Stephen J. Turnbull @ 2010-11-02 1:50 UTC (permalink / raw) To: Juanma Barranquero Cc: Eli Zaretskii, michael.albinus, cyd, kbrown, emacs-devel Juanma Barranquero writes: > On Mon, Nov 1, 2010 at 21:37, Eli Zaretskii <eliz@gnu.org> wrote: > > > Suggestions are welcome. > > I don't think there are magic bullets. In Python, they have a script called svnmerge.py. This script did many things, one of them was to keep track of blocked revisions, ie, revisions that should not be merged to trunk (or to some given branch, IIRC). ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 1:50 ` Stephen J. Turnbull @ 2010-11-02 14:54 ` Stefan Monnier 2010-11-02 15:57 ` Óscar Fuentes 0 siblings, 1 reply; 39+ messages in thread From: Stefan Monnier @ 2010-11-02 14:54 UTC (permalink / raw) To: Stephen J. Turnbull Cc: kbrown, Juanma Barranquero, cyd, emacs-devel, michael.albinus, Eli Zaretskii >> > Suggestions are welcome. >> I don't think there are magic bullets. > In Python, they have a script called svnmerge.py. This script did > many things, one of them was to keep track of blocked revisions, ie, > revisions that should not be merged to trunk (or to some given branch, > IIRC). Indeed, the only way I can think of to try and make sure such undesired merges don't happen is to try and encode this fact into a merge script. Having such a merge script is a good idea in any case since it can help resolve the ChangeLog conflicts as well (they tend to require a lot of work, but most of it can be automated). Stefan ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 14:54 ` Stefan Monnier @ 2010-11-02 15:57 ` Óscar Fuentes 2010-11-02 16:45 ` Stephen J. Turnbull ` (2 more replies) 0 siblings, 3 replies; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 15:57 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: >> In Python, they have a script called svnmerge.py. This script did >> many things, one of them was to keep track of blocked revisions, ie, >> revisions that should not be merged to trunk (or to some given branch, >> IIRC). > > Indeed, the only way I can think of to try and make sure such undesired > merges don't happen is to try and encode this fact into a merge > script. The *only* way? What abut having a branch for that purpose? BTW, do you realize that the script would end cherry-picking commits and that bzr has no support for tracking cherry-picks? This way it is not possible to easily track commits across branches. [snip] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 15:57 ` Óscar Fuentes @ 2010-11-02 16:45 ` Stephen J. Turnbull 2010-11-02 17:14 ` Óscar Fuentes 2010-11-02 17:22 ` Stefan Monnier 2010-11-02 18:38 ` Eli Zaretskii 2 siblings, 1 reply; 39+ messages in thread From: Stephen J. Turnbull @ 2010-11-02 16:45 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes writes: > The *only* way? What abut having a branch for that purpose? Having a branch doesn't mean that people will use it properly. Most people do not understand branching and merging, or how to analyze workflows, and don't want to learn. Having a script allows them to participate without learning. > BTW, do you realize that the script would end cherry-picking > commits Not at all. The whole point of svnmerge.py is to support cherry-picking in SVN, as Python has up to 6 active mainlines at any given time, along with sandbox branches of varying longevity and proximity to a mainline. Sure, that requires a fairly high level of understanding and effort on the part of the script authors, but Python considered it worth it. It's not the only way, I'm sure, but it's one good, proven way. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 16:45 ` Stephen J. Turnbull @ 2010-11-02 17:14 ` Óscar Fuentes 2010-11-02 18:34 ` Stephen J. Turnbull 0 siblings, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 17:14 UTC (permalink / raw) To: emacs-devel "Stephen J. Turnbull" <stephen@xemacs.org> writes: > > The *only* way? What abut having a branch for that purpose? > > Having a branch doesn't mean that people will use it properly. They need to learn and remember how to insert the necessary meta-information needed by the script. > Most people do not understand branching and merging, or how to > analyze workflows, and don't want to learn. Having a script allows > them to participate without learning. Adding an extra branch does not increase the current workload. They would commit to common-fixes the same way they do for emacs-23. The only "new" thing to learn is that there is a branch for those changes shared by emacs-23 and trunk, which is a concept quite easy to grasp. This seems to me more clear than having to remember how to include some magical spell on the commit message. If the set of people who don't want to learn determines how the project is managed, the most sensible way is to revert to CVS or even to something more primitive. > > BTW, do you realize that the script would end cherry-picking > > commits > > Not at all. The whole point of svnmerge.py is to support > cherry-picking in SVN, as Python has up to 6 active mainlines at any > given time, along with sandbox branches of varying longevity and > proximity to a mainline. Sure, that requires a fairly high level of > understanding and effort on the part of the script authors, but Python > considered it worth it. > > It's not the only way, I'm sure, but it's one good, proven way. I used svnmerge.py. Is a hack that only seems "good" as long as you are desperate enough. And I think that you'll find quite harder to implement it on bzr than on SVN. It is quite pathetic to even consider using hacks that workaround the limitations of simplistic VCS like svn when there are standard practices on dVCS for properly solving the problem at hand. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 17:14 ` Óscar Fuentes @ 2010-11-02 18:34 ` Stephen J. Turnbull 2010-11-02 18:56 ` Óscar Fuentes 0 siblings, 1 reply; 39+ messages in thread From: Stephen J. Turnbull @ 2010-11-02 18:34 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes writes: > Adding an extra branch does not increase the current workload. Of course it does. Most occasional developers work only on the branch that they use every day, either trunk or stable/maintenance. That's where they test, that's where they refine. Adding the common-fixes branch means they need to clone and maintain that branch, and work in a branch that they don't use. Even for frequent contributors who help with porting patches back and forth between the branches, this requires more thinking about where you should do the work. > They would commit to common-fixes the same way they do for emacs-23. You mean, stuff that doesn't belong there, as started this thread? ;-) > If the set of people who don't want to learn determines how the project > is managed, It already has, in both the choice of BTS and the choice of dVCS. In the sense that in both cases the ability to continue with basically the same flow, even if implemented with slightly different commands, was a crucial requirement in choice of software. > And I think that you'll find quite harder to implement it on bzr > than on SVN. Depends on what you mean. The basic functionality we're talking about here, blocking certain revisions from being merged or cherry-picked, depends on a globally unique revision ID. In a centralized system, there's only one authority, so there's no problem. In a dVCS you have to contrive one, but all the dVCSes have one. So I don't think it's any harder in this sense. On the other hand, this can really only be enforced at push time. So a developer could make several commits in a branch that is blocked from merging before realizing it. That would be inconvenient, and it's not obvious to me how to work around. But I don't think it would be more than an inconvenience. Finally, although right now Emacs doesn't have the skills AFAIK, in the long run implementing for Bazaar might be far more powerful since the script could be adapted from svnmerge.py, written in Python, and thus have direct access to Bazaar's internal information. Maybe even as a plugin. > It is quite pathetic to even consider using hacks that workaround > the limitations of simplistic VCS like svn Call it what you like; however, the fact is that Emacs has chosen to use a workflow that emphasizes Bazaar's ability to work like a centralized system. Individual developers can use the decentralized features as they like, but the project workflow does not mandate them. > when there are standard practices on dVCS for properly solving the > problem at hand. But there aren't. Only Darcs supports cherry-picking properly. And as an add-on hack, svnmerge.py does. The revision-oriented systems don't implement the necessary accounting. What is available for the revision-oriented dVCSes is a set of workflows that *mostly* avoid creating a problem, but have their own inconveniences. I suspect the Emacs community will prefer to implement a tool that codifies their workflow and adds certain features such as true cherry-picking and blocking revisions, to changing the workflow. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 18:34 ` Stephen J. Turnbull @ 2010-11-02 18:56 ` Óscar Fuentes 2010-11-02 20:25 ` Stephen J. Turnbull 0 siblings, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 18:56 UTC (permalink / raw) To: emacs-devel "Stephen J. Turnbull" <stephen@xemacs.org> writes: > > Adding an extra branch does not increase the current workload. > > Of course it does. Most occasional developers work only on the branch > that they use every day, either trunk or stable/maintenance. That's > where they test, that's where they refine. Adding the common-fixes > branch means they need to clone and maintain that branch, and work in > a branch that they don't use. Almost every change on emacs-23 is intended to trunk too. Right now those changes that are exclusive to emacs-23 must be flagged somehow. Adding common-fixes just means that people working on emacs-23 will work on common-fixes, except for those cases where they would flag the change as belonging to emacs-23 only. Not so hard, IMO. > Even for frequent contributors who help with porting patches back and > forth between the branches, this requires more thinking about where > you should do the work. Uh? With common-fixes you merge the commits there into emacs-23 and trunk. That's all. > > They would commit to common-fixes the same way they do for emacs-23. > > You mean, stuff that doesn't belong there, as started this thread? ;-) The problem was that commits intended to emacs-23 were merged into trunk. Yes, people can do all kinds of mistakes, but no script will magically avoid them. [snip] > > when there are standard practices on dVCS for properly solving the > > problem at hand. > > But there aren't. Only Darcs supports cherry-picking properly. You are missing the point. common-fixes will eliminate the need for cherry-picking (and for examining each commit on emacs-23 before merging into trunk). The maintainers save time and the VC history is consistent (with commits maintaining its identity on the branches where they are installed) [snip] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 18:56 ` Óscar Fuentes @ 2010-11-02 20:25 ` Stephen J. Turnbull 2010-11-02 20:44 ` Óscar Fuentes 0 siblings, 1 reply; 39+ messages in thread From: Stephen J. Turnbull @ 2010-11-02 20:25 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes writes: > Almost every change on emacs-23 is intended to trunk too. Right now > those changes that are exclusive to emacs-23 must be flagged > somehow. Adding common-fixes just means that people working on emacs-23 > will work on common-fixes, except for those cases where they would flag > the change as belonging to emacs-23 only. Not so hard, IMO. Good luck to you in convincing the Emacs community, then. > > Even for frequent contributors who help with porting patches back and > > forth between the branches, this requires more thinking about where > > you should do the work. > > Uh? With common-fixes you merge the commits there into emacs-23 and > trunk. That's all. No, you have to choose whether to work in -23, trunk, or common-fixes. This involves checking whether the bug affects both or not, and whether the fix is the same. Often trivial, but not always. And what if you fix a bug in trunk, and only later realize it needs to be backported? Certainly, this is to some extent balanced by the extra work of flagging -23 changes that shouldn't go into trunk. The advantage of the svnmerge-py workflow is that you make these decisions later, after the work is done. > You are missing the point. common-fixes will eliminate the need for > cherry-picking (and for examining each commit on emacs-23 before merging > into trunk). The maintainers save time and the VC history is consistent > (with commits maintaining its identity on the branches where they are > installed) It doesn't eliminate the need for cherry-picking as long as there's more than one active branch: you can make a mistake about where to work. This should be a lot less frequent in the common-fixes workflow. It does require people who would otherwise focus on trunk to switch between branches, and to be continuously thinking about which branch they should be in. This is probably a mildly bad thing; work on the trunk is generally going to be more complex, and you'd like people to concentrate there. Every commit on common-fixes needs to be examined before making it to be sure that it's appropriate for both release branches (common-fixes is never released). I don't think there's any saving, and in fact the decision to work on common-fixes (before you have a patch) is probably harder than the decision to merge to trunk or not (with the work complete). To some extent that decision needs to be made before doing any work, which increases the burden and the likelihood of a mistake. The VC history is consistent, but I don't think the maintainers save much time and it's at a higher burden to the general contributors. And it requires everybody to adapt a new workflow at all phases of their work, instead of concentrating on the cherry pick only in the cases where it's needed. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 20:25 ` Stephen J. Turnbull @ 2010-11-02 20:44 ` Óscar Fuentes 2010-11-03 5:22 ` Stephen J. Turnbull 0 siblings, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 20:44 UTC (permalink / raw) To: emacs-devel "Stephen J. Turnbull" <stephen@xemacs.org> writes: > > Uh? With common-fixes you merge the commits there into emacs-23 and > > trunk. That's all. > > No, you have to choose whether to work in -23, trunk, or common-fixes. > This involves checking whether the bug affects both or not, and > whether the fix is the same. Often trivial, but not always. > > And what if you fix a bug in trunk, and only later realize it needs to > be backported? And how is this different from the current workflow? Right now people must decide the scope of the patch. Adding the common-fixes branch simplifies the task from the conceptual POV: instead of * commit fixes for emacs-23 and trunk into emacs-23 * commit fixes intended for trunk only into trunk. * commit fixes intented for emacs-23 only into emacs-23, put something into the log message and hope it is noticed. you have * commit fixes for emacs-23 and trunk into common-fixes. * commit fixes intended for emacs-23 only into emacs-23. * same for trunk. [snip] > > You are missing the point. common-fixes will eliminate the need for > > cherry-picking (and for examining each commit on emacs-23 before merging > > into trunk). The maintainers save time and the VC history is consistent > > (with commits maintaining its identity on the branches where they are > > installed) > > It doesn't eliminate the need for cherry-picking as long as there's > more than one active branch: you can make a mistake about where to > work. If you come with "yes, but someone can make a mistake..." then any schema we can think of can be dismissed with the same reasoning. > This should be a lot less frequent in the common-fixes > workflow. It does require people who would otherwise focus on trunk > to switch between branches, and to be continuously thinking about > which branch they should be in. Again, the current workflow requires people to decide that. [snip] > Every commit on common-fixes needs to be examined before making it to > be sure that it's appropriate for both release branches (common-fixes > is never released). If you want a fool-proof method, propose a gatekeeper workflow (with several layers of verification, for enhanced security :-) [snip] > The VC history is consistent, but I don't think the maintainers save > much time and it's at a higher burden to the general contributors. The consistency on VC history is a huge win for me. The ability to quickly decide which branches contain a given commit will turn more and more important as feature branches proliferate. Right now we should put the revision id (not revision number) of a fix on the respective bug report when closing it. > And it requires everybody to adapt a new workflow at all phases of > their work, This is an exaggeration. Only people who work on emacs-23 would need to adapt their workflow (committing to common-fixes instead of emacs-23). I admit that the big hurdle is to pass the word about the new workflow, but this could be forced by making emacs-23 read-only for all except some top maintainers, who would act as gatekeepers for some time. > instead of concentrating on the cherry pick only in the > cases where it's needed. Doing the cherry-picking (with the current workflow) or the merge (with my proposed branch) is something that only a few maintainers should care about. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 20:44 ` Óscar Fuentes @ 2010-11-03 5:22 ` Stephen J. Turnbull 2010-11-03 6:46 ` Óscar Fuentes 2010-11-03 6:52 ` Óscar Fuentes 0 siblings, 2 replies; 39+ messages in thread From: Stephen J. Turnbull @ 2010-11-03 5:22 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes writes: > > And what if you fix a bug in trunk, and only later realize it needs to > > be backported? > > And how is this different from the current workflow? It's not. That's precisely my point. You can reduce cherry-picking, but not eliminate it. > Right now people > must decide the scope of the patch. Adding the common-fixes branch > simplifies the task from the conceptual POV: instead of > > * commit fixes for emacs-23 and trunk into emacs-23 > * commit fixes intended for trunk only into trunk. > * commit fixes intented for emacs-23 only into emacs-23, put something > into the log message and hope it is noticed. But the svnmerge.py workflow does a lot better than that; as long as people use svnmerge.py, it does the accounting. People grumble about changing tools, but the workflow will be very similar; they'll get over it quickly. Changing the workflow is more effort, takes longer, and some people will never get over it. > you have > > * commit fixes for emacs-23 and trunk into common-fixes. > * commit fixes intended for emacs-23 only into emacs-23. > * same for trunk. You're counting bzr-level tasks, but my point is that these tasks are more complex/difficult than the corresponding tasks in the other workflow because the decisions are made in advance of any commit, rather than with the actual commit to look at. > > It doesn't eliminate the need for cherry-picking as long as there's > > more than one active branch: you can make a mistake about where to > > work. > > If you come with "yes, but someone can make a mistake..." then any > schema we can think of can be dismissed with the same reasoning. I'm not dismissing your scheme yet. I'm saying your accounting is way too optimistic. > > This should be a lot less frequent in the common-fixes > > workflow. It does require people who would otherwise focus on trunk > > to switch between branches, and to be continuously thinking about > > which branch they should be in. > > Again, the current workflow requires people to decide that. Again you ignore the point, which is that the current workflow means looking at an existing commit and making a decision. The commit-fixes workflow involves thinking about a prospective patch and making a decision where to produce it, or creating yet another branch and looking at the commit there. Creating a temporary branch just for that fix is precisely what I do with git, but doing that in Bazaar or Mercurial is too expensive for me. > > Every commit on common-fixes needs to be examined before making it to > > be sure that it's appropriate for both release branches (common-fixes > > is never released). > > If you want a fool-proof method, propose a gatekeeper workflow (with > several layers of verification, for enhanced security :-) You're missing the point yet again. > > The VC history is consistent, but I don't think the maintainers save > > much time and it's at a higher burden to the general contributors. > > The consistency on VC history is a huge win for me. The ability to > quickly decide which branches contain a given commit will turn more and > more important as feature branches proliferate. I don't agree; feature branches will branch from trunk, synch to it, and eventually merge to it, being entirely unconcerned with what is or is not in the maintenance branch or common-fixes, and vice-versa. That's really the point of having a separate maintenance branch. > Right now we should put the revision id (not revision number) of a > fix on the respective bug report when closing it. > > > And it requires everybody to adapt a new workflow at all phases of > > their work, > > This is an exaggeration. Only people who work on emacs-23 would need to > adapt their workflow (committing to common-fixes instead of > emacs-23). But that requires examining the commits of trunk-only workers for -23 relevance, and cherry-picking if they are relevant. You can't have it both ways. Either you're serious about consistent history and avoiding cherry-picking as much as possible, which requires everybody to consider whether their fixes are -23 relevant, or you're not. True, people working only on features can avoid this. > Doing the cherry-picking (with the current workflow) or the merge (with > my proposed branch) is something that only a few maintainers should care > about. Doing it is Bazaar's problem; if Bazaar doesn't make that work as convenient as possible, we made a big mistake. The question is which way is harder to think about. Your way requires all committers who fix bugs to worry about which branch to commit to. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-03 5:22 ` Stephen J. Turnbull @ 2010-11-03 6:46 ` Óscar Fuentes 2010-11-03 7:44 ` Stephen J. Turnbull 2010-11-03 6:52 ` Óscar Fuentes 1 sibling, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-03 6:46 UTC (permalink / raw) To: Stephen J. Turnbull; +Cc: emacs-devel "Stephen J. Turnbull" <stephen@xemacs.org> writes: [snip] > Your way requires all committers who fix bugs to worry about which > branch to commit to. Yes, exactly as it happens right now. Maybe you didn't notice that people commit to emacs-23 (and to emacs-23 only) whenever the fix applies to that release, and to trunk only otherwise. Then, from time to time, some maintainer merges (or, more precisely, cherry picks) emacs-23 into trunk. This means that people already need to figure out where to commit their fixes. Replacing emacs-23 with common-fixes here seems a tiny change on the workflow to me, much less burdensome than waiting for the availability and using a script that fakes cherry-pick tracking on bzr. (Good luck writing that script. It looks much harder to do than on the svn case, if possible at all without extending the repository format.) ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-03 6:46 ` Óscar Fuentes @ 2010-11-03 7:44 ` Stephen J. Turnbull 2010-11-03 13:51 ` Stefan Monnier 0 siblings, 1 reply; 39+ messages in thread From: Stephen J. Turnbull @ 2010-11-03 7:44 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes writes: > "Stephen J. Turnbull" <stephen@xemacs.org> writes: > > [snip] > > > Your way requires all committers who fix bugs to worry about which > > branch to commit to. > > Yes, exactly as it happens right now. Which is missing the point. One point of the svnmerge-based workflow is that the branch to commit doesn't really matter, and the decision to block merges/cherry-picks made after inspecting the commit. So the svnmerge approach is *better* in this respect. But the main point is that cherry-picking, which is a natural workflow in this context in general, and the historical practice of Emacs, is well-supported by svnmerge. The point of the common-fixes workflow is to (unnaturally) avoid cherry-picking. But (a) this is awkward for the workers, especially at first, and (b) it is a change. As I've said before, I personally use "emphemeral" branches in git for this situation. And I'm sure that for many communities, the common- fixes approach works well too. But the Python community strongly prefers the svnmerge approach (porting svnmerge to Mercurial is one of the blockers on their migration), and my feeling is that the Emacs community is similar to the Python community in this respect. I don't know about others, but you don't need to prove to me that your approach works. Although I haven't actually used it in practice, the theory looks good enough. The question I have is whether it's well- adapted to Emacs. So far the Emacs maintainers (including Richard) have been *very* conservative about changes to workflow. svnmerge (or a port of it) *supports* the current workflow. That's going to be tough to beat. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-03 7:44 ` Stephen J. Turnbull @ 2010-11-03 13:51 ` Stefan Monnier 2010-11-04 20:16 ` Lars Magne Ingebrigtsen 0 siblings, 1 reply; 39+ messages in thread From: Stefan Monnier @ 2010-11-03 13:51 UTC (permalink / raw) To: Stephen J. Turnbull; +Cc: Óscar Fuentes, emacs-devel > I don't know about others, but you don't need to prove to me that your > approach works. Although I haven't actually used it in practice, the > theory looks good enough. The question I have is whether it's well- > adapted to Emacs. Exactly. And even more so if you consider our use of ChangeLog files: Not only do I want a "merge script" in any case to help me resolve those spurious conflicts, so making this script look for commits with a "don't merge" flag and reverse apply their diffs before committing the merge is just a natural extension (in the sense that, just like for resolving conflicts in ChangeLog, all it does is automatize what we do manually). But on top of that, until we have a "merge script" I'd rather not add yet more branches to merge, since merging from emacs-common to emacs-23 will be yet another merge where I'll need to manually fix the ChangeLog conflicts. Of course, your argument will be that once we have a good "merge script" to resolve ChangeLog conflicts (or once we get rid of the ChangeLog files), we can use an emacs-common branch without suffering when merging from it into emacs-23. It's not like your point is not valid, but I don't think the difference matters nearly as much as this thread makes it out to be. Stefan ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-03 13:51 ` Stefan Monnier @ 2010-11-04 20:16 ` Lars Magne Ingebrigtsen 2010-11-05 9:30 ` Andreas Schwab 2010-11-08 16:03 ` Stefan Monnier 0 siblings, 2 replies; 39+ messages in thread From: Lars Magne Ingebrigtsen @ 2010-11-04 20:16 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > (or once we get rid of the ChangeLog files) You probably hoped nobody would notice that parenthesis, but is getting rid of the ChangeLog files in the cards? 1) They're a pain in the ass, both to write and due to the constant merge conflicts. 2) But they give a better overview over what's happening, and who's doing what, than any VC log I've seen. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-04 20:16 ` Lars Magne Ingebrigtsen @ 2010-11-05 9:30 ` Andreas Schwab 2010-11-05 11:42 ` Eli Zaretskii 2010-11-08 16:03 ` Stefan Monnier 1 sibling, 1 reply; 39+ messages in thread From: Andreas Schwab @ 2010-11-05 9:30 UTC (permalink / raw) To: emacs-devel Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > 1) They're a pain in the ass, both to write and due to the constant > merge conflicts. git-merge-changelog can help a lot here. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-05 9:30 ` Andreas Schwab @ 2010-11-05 11:42 ` Eli Zaretskii 0 siblings, 0 replies; 39+ messages in thread From: Eli Zaretskii @ 2010-11-05 11:42 UTC (permalink / raw) To: emacs-devel > From: Andreas Schwab <schwab@linux-m68k.org> > Date: Fri, 05 Nov 2010 10:30:26 +0100 > > Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > > > 1) They're a pain in the ass, both to write and due to the constant > > merge conflicts. > > git-merge-changelog can help a lot here. As can this bzr plugin: bzr branch lp:bzr-changelog-merge ~/.bazaar/plugins/changelog_merge It is still experimental, see https://lists.ubuntu.com/archives/bazaar/2010q3/070157.html and the rest of that thread (it continues in 2010q4) for details. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-04 20:16 ` Lars Magne Ingebrigtsen 2010-11-05 9:30 ` Andreas Schwab @ 2010-11-08 16:03 ` Stefan Monnier 1 sibling, 0 replies; 39+ messages in thread From: Stefan Monnier @ 2010-11-08 16:03 UTC (permalink / raw) To: emacs-devel >> (or once we get rid of the ChangeLog files) > You probably hoped nobody would notice that parenthesis, but is getting > rid of the ChangeLog files in the cards? It's been requested many times already, and seeing how it's the main source of pain when merging branches, there's clearly some incentives. What makes it more so is that the switch away from CVS removed one of the barriers: CVS's inability to generate good logs. > 1) They're a pain in the ass, both to write and due to the constant > merge conflicts. I don't find them painful at all to write, quite the contrary: I find it currently inconvenient to write commit logs without going through a ChangeLog file. So to get rid of ChangeLogs, we need to make "C-x 4 a" and friends work for *VC-Log* or something like that. But yes, the merging conflicts are annoying. > 2) But they give a better overview over what's happening, and who's > doing what, than any VC log I've seen. That's another issue, indeed: "bzr log" is OK but is not as good as the ChangeLog files in many cases. Some of the issues I see with it: - Not editable: bzr does not support fixing commit messages. - Slowish. OTOH, it has some advantages as well: - you can get a log for a specific set of files. - no issue when a commit spans several directories with different ChangeLog files, e.g. lisp/net/imap.el and lisp/gnus/nnimap.el. FWIW, overall, I'm in favor of ditching the ChangeLog, Stefan ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-03 5:22 ` Stephen J. Turnbull 2010-11-03 6:46 ` Óscar Fuentes @ 2010-11-03 6:52 ` Óscar Fuentes 2010-11-03 7:47 ` Stephen J. Turnbull 1 sibling, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-03 6:52 UTC (permalink / raw) To: emacs-devel "Stephen J. Turnbull" <stephen@xemacs.org> writes: > > > And what if you fix a bug in trunk, and only later realize it needs to > > > be backported? > > > > And how is this different from the current workflow? > > It's not. That's precisely my point. You can reduce cherry-picking, > but not eliminate it. One thing is to resort to cherry-picking when some exceptional condition is detected, and another thing is to use cherry-picking as a tool for an ordinary task. [snip] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-03 6:52 ` Óscar Fuentes @ 2010-11-03 7:47 ` Stephen J. Turnbull 0 siblings, 0 replies; 39+ messages in thread From: Stephen J. Turnbull @ 2010-11-03 7:47 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes writes: > One thing is to resort to cherry-picking when some exceptional condition > is detected, and another thing is to use cherry-picking as a tool for an > ordinary task. No, from the point of view of history consistency they're the same. Cross-branch histories aren't "a little bit inconsistent"; they're consistent or they're not. In the first case you can depend on tools like Bazaar and git to DTRT, and in the latter you can't. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 15:57 ` Óscar Fuentes 2010-11-02 16:45 ` Stephen J. Turnbull @ 2010-11-02 17:22 ` Stefan Monnier 2010-11-02 17:37 ` Óscar Fuentes 2010-11-02 18:38 ` Eli Zaretskii 2 siblings, 1 reply; 39+ messages in thread From: Stefan Monnier @ 2010-11-02 17:22 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel >>> In Python, they have a script called svnmerge.py. This script did >>> many things, one of them was to keep track of blocked revisions, ie, >>> revisions that should not be merged to trunk (or to some given branch, >>> IIRC). >> Indeed, the only way I can think of to try and make sure such undesired >> merges don't happen is to try and encode this fact into a merge >> script. > The *only* way? What abut having a branch for that purpose? It's difficult enough to make sure patches get installed in the right (emacs-23 or trunk) branch and to keep them in sync, that adding another branch would just add to the work. Using an ad-hoc script on the other hand would *reduce* the work. > BTW, do you realize that the script would end cherry-picking commits and > that bzr has no support for tracking cherry-picks? This way it is not > possible to easily track commits across branches. Of course that would end up doing cherry-picking, so what? We already do that by hand, so doing in from a script can't be worse. Stefan ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 17:22 ` Stefan Monnier @ 2010-11-02 17:37 ` Óscar Fuentes 0 siblings, 0 replies; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 17:37 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > It's difficult enough to make sure patches get installed in the right > (emacs-23 or trunk) branch and to keep them in sync, that adding another > branch would just add to the work. > Using an ad-hoc script on the other hand would *reduce* the work. Unless you end writing the Mythical Magic Script, the effects will be the reverse: more complexity, more confusion, more mistakes. >> BTW, do you realize that the script would end cherry-picking commits and >> that bzr has no support for tracking cherry-picks? This way it is not >> possible to easily track commits across branches. > > Of course that would end up doing cherry-picking, so what? > We already do that by hand, so doing in from a script can't be worse. The proposed branch would eliminate the need for cherry-picking, hence improving the traceability of patches. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 15:57 ` Óscar Fuentes 2010-11-02 16:45 ` Stephen J. Turnbull 2010-11-02 17:22 ` Stefan Monnier @ 2010-11-02 18:38 ` Eli Zaretskii 2010-11-02 19:19 ` Óscar Fuentes 2 siblings, 1 reply; 39+ messages in thread From: Eli Zaretskii @ 2010-11-02 18:38 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > From: Óscar Fuentes <ofv@wanadoo.es> > Date: Tue, 02 Nov 2010 16:57:37 +0100 > > BTW, do you realize that the script would end cherry-picking commits Can't it instead do a merge and then reverse cherry-pick the revisions that should not be merged? ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 18:38 ` Eli Zaretskii @ 2010-11-02 19:19 ` Óscar Fuentes 2010-11-02 21:21 ` Stefan Monnier 0 siblings, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 19:19 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> BTW, do you realize that the script would end cherry-picking commits > > Can't it instead do a merge and then reverse cherry-pick the revisions > that should not be merged? That's an option. It would be effective even for an human operator, as the number of commits on emacs-23 not intented for trunk is so small (that would not save the time required for reviewing the log messages looking for some text flagging that condition, though) IMO it is not a good thing to create revert commits as part of a process. In this case, they will break bisecting and add potential confussion to the VC history. For instance: the merged commits will be hidden by default on level 1 of the DAG, but the reverting commits will be always visible on the leftmost level of the DAG, unless you complicate things by creating a branch containing the revert commits and merge it into trunk. It is desirable that patches not intended for trunk should never be on trunk. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 19:19 ` Óscar Fuentes @ 2010-11-02 21:21 ` Stefan Monnier 0 siblings, 0 replies; 39+ messages in thread From: Stefan Monnier @ 2010-11-02 21:21 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > It is desirable that patches not intended for trunk should never be on > trunk. Most/all patches on emacs-23 which shouldn't be merged to trunk are like that because trunk already has those patches (tho typically in a slightly different form, e.g. in a different file). Stefan ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 20:37 ` Eli Zaretskii 2010-11-01 22:19 ` Juanma Barranquero @ 2010-11-01 23:02 ` Óscar Fuentes 2010-11-02 1:29 ` Jason Rumney 1 sibling, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-01 23:02 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> > Should we have improved procedures to avoid such incidents in the future? >> >> Definitely. > > Suggestions are welcome. The problem is that not everything that is committed on emacs-23 branch is intended to be merged into trunk. The solution is obvious: don't merge stuff from emacs-23 into trunk. Just use another branch (let's call it `common-fixes') where patches intended for trunk and emacs-23 are applied. Then you merge `common-fixes' into trunk and emacs-23. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-01 23:02 ` Óscar Fuentes @ 2010-11-02 1:29 ` Jason Rumney 2010-11-02 5:16 ` Óscar Fuentes 0 siblings, 1 reply; 39+ messages in thread From: Jason Rumney @ 2010-11-02 1:29 UTC (permalink / raw) To: emacs-devel On 02/11/2010 07:02, Óscar Fuentes wrote: > The problem is that not everything that is committed on emacs-23 branch > is intended to be merged into trunk. The solution is obvious: don't > merge stuff from emacs-23 into trunk. Just use another branch (let's > call it `common-fixes') where patches intended for trunk and emacs-23 > are applied. Then you merge `common-fixes' into trunk and emacs-23. > How does the developer verify that their change is correct? The common-fixes branch cannot be expected to build after some time has passed, as the changes commited to it might depend on other changes that differ between the trunk and emacs-23 branch, but are nonetheless required. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 1:29 ` Jason Rumney @ 2010-11-02 5:16 ` Óscar Fuentes 2010-11-02 9:16 ` Andreas Schwab 0 siblings, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 5:16 UTC (permalink / raw) To: emacs-devel Jason Rumney <jasonr@gnu.org> writes: > On 02/11/2010 07:02, Óscar Fuentes wrote: > >> The problem is that not everything that is committed on emacs-23 branch >> is intended to be merged into trunk. The solution is obvious: don't >> merge stuff from emacs-23 into trunk. Just use another branch (let's >> call it `common-fixes') where patches intended for trunk and emacs-23 >> are applied. Then you merge `common-fixes' into trunk and emacs-23. > > How does the developer verify that their change is correct? By testing it, of course. More precisely, the developer must ensure that everything he commits to common-fixes works on emacs-23 and trunk. > The common-fixes branch cannot be expected to build after some time > has passed, as the changes commited to it might depend on other > changes that differ between the trunk and emacs-23 branch, but are > nonetheless required. This is equivalent to saying that a change on common-fixes could depend on a change made to emacs-23 only. This does not qualify as a fix intended for both emacs-23 and trunk, doesn't it? ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 5:16 ` Óscar Fuentes @ 2010-11-02 9:16 ` Andreas Schwab 2010-11-02 14:17 ` Óscar Fuentes 0 siblings, 1 reply; 39+ messages in thread From: Andreas Schwab @ 2010-11-02 9:16 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes <ofv@wanadoo.es> writes: > This is equivalent to saying that a change on common-fixes could depend > on a change made to emacs-23 only. How do you keep the branch up-to-date? Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 9:16 ` Andreas Schwab @ 2010-11-02 14:17 ` Óscar Fuentes 2010-11-02 17:24 ` Stefan Monnier 0 siblings, 1 reply; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 14:17 UTC (permalink / raw) To: emacs-devel Andreas Schwab <schwab@linux-m68k.org> writes: > Óscar Fuentes <ofv@wanadoo.es> writes: > >> This is equivalent to saying that a change on common-fixes could depend >> on a change made to emacs-23 only. > > How do you keep the branch up-to-date? AFAIK almost all changes to emacs-23 are eventually merged into trunk. This means that common-fixes would containt all changes intended to emacs-23, except those few which are not intended for trunk. This means that the divergence of emacs-23 from common-fixes will not be significant. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 14:17 ` Óscar Fuentes @ 2010-11-02 17:24 ` Stefan Monnier 2010-11-02 17:41 ` Óscar Fuentes 2010-11-02 17:44 ` Davis Herring 0 siblings, 2 replies; 39+ messages in thread From: Stefan Monnier @ 2010-11-02 17:24 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel >>> This is equivalent to saying that a change on common-fixes could depend >>> on a change made to emacs-23 only. >> How do you keep the branch up-to-date? > AFAIK almost all changes to emacs-23 are eventually merged into > trunk. This means that common-fixes would containt all changes intended > to emacs-23, except those few which are not intended for trunk. This > means that the divergence of emacs-23 from common-fixes will not be > significant. Another problem with your branch approach is that a patch applied (mistakenly) to emacs-23 rather than to emacs-common would end up lost. It's a lot easier to detect excess patches and lost patches. Stefan ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 17:24 ` Stefan Monnier @ 2010-11-02 17:41 ` Óscar Fuentes 2010-11-02 17:44 ` Davis Herring 1 sibling, 0 replies; 39+ messages in thread From: Óscar Fuentes @ 2010-11-02 17:41 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > Another problem with your branch approach is that a patch applied > (mistakenly) to emacs-23 rather than to emacs-common would end up > lost. Not exactly lost, but applied to emacs-23 only. > It's a lot easier to detect excess patches and lost patches. If you see someone committing to emacs-23 (something that would be quite infrequent) the usual reaction would be to take a look and, unless it obviously pertains to emacs-23 only, ask the author if the change is on the right place. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Incorrect merge 2010-11-02 17:24 ` Stefan Monnier 2010-11-02 17:41 ` Óscar Fuentes @ 2010-11-02 17:44 ` Davis Herring 1 sibling, 0 replies; 39+ messages in thread From: Davis Herring @ 2010-11-02 17:44 UTC (permalink / raw) To: Stefan Monnier; +Cc: Óscar Fuentes, emacs-devel > Another problem with your branch approach is that a patch applied > (mistakenly) to emacs-23 rather than to emacs-common would end up lost. > It's a lot easier to detect excess patches and lost patches. Could we restrict emacs-23 so that only the merges (and explicit maintainer action) could update it? The number of branch-only patches is small; it might not be too much trouble to rely on just a few people to commit them. Davis -- This product is sold by volume, not by mass. If it appears too dense or too sparse, it is because mass-energy conversion has occurred during shipping. ^ permalink raw reply [flat|nested] 39+ messages in thread
end of thread, other threads:[~2010-11-08 16:03 UTC | newest] Thread overview: 39+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-11-01 13:48 Incorrect merge Ken Brown 2010-11-01 15:46 ` Chong Yidong 2010-11-01 16:02 ` Chong Yidong 2010-11-01 17:54 ` Eli Zaretskii 2010-11-01 20:21 ` Juanma Barranquero 2010-11-01 20:37 ` Eli Zaretskii 2010-11-01 22:19 ` Juanma Barranquero 2010-11-02 1:50 ` Stephen J. Turnbull 2010-11-02 14:54 ` Stefan Monnier 2010-11-02 15:57 ` Óscar Fuentes 2010-11-02 16:45 ` Stephen J. Turnbull 2010-11-02 17:14 ` Óscar Fuentes 2010-11-02 18:34 ` Stephen J. Turnbull 2010-11-02 18:56 ` Óscar Fuentes 2010-11-02 20:25 ` Stephen J. Turnbull 2010-11-02 20:44 ` Óscar Fuentes 2010-11-03 5:22 ` Stephen J. Turnbull 2010-11-03 6:46 ` Óscar Fuentes 2010-11-03 7:44 ` Stephen J. Turnbull 2010-11-03 13:51 ` Stefan Monnier 2010-11-04 20:16 ` Lars Magne Ingebrigtsen 2010-11-05 9:30 ` Andreas Schwab 2010-11-05 11:42 ` Eli Zaretskii 2010-11-08 16:03 ` Stefan Monnier 2010-11-03 6:52 ` Óscar Fuentes 2010-11-03 7:47 ` Stephen J. Turnbull 2010-11-02 17:22 ` Stefan Monnier 2010-11-02 17:37 ` Óscar Fuentes 2010-11-02 18:38 ` Eli Zaretskii 2010-11-02 19:19 ` Óscar Fuentes 2010-11-02 21:21 ` Stefan Monnier 2010-11-01 23:02 ` Óscar Fuentes 2010-11-02 1:29 ` Jason Rumney 2010-11-02 5:16 ` Óscar Fuentes 2010-11-02 9:16 ` Andreas Schwab 2010-11-02 14:17 ` Óscar Fuentes 2010-11-02 17:24 ` Stefan Monnier 2010-11-02 17:41 ` Óscar Fuentes 2010-11-02 17:44 ` Davis Herring
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).