Commit 49c0ff2 "Don't bind org-agenda .."

classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Commit 49c0ff2 "Don't bind org-agenda .."

Kaushal Modi
Hello Mark,

I recently saw this commit:
http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=49c0ff29c2e0243ba35ec17e3e3af49369be43db on emacs master branch.

It caught my attention because I haven't seen any commits for org-mode functional changes in emacs master. The org-related commits in emacs master are usually ones for compatibility with emacs master.

Not knowing the "right way", I am just confirming if commits like these should go to org master ( http://orgmode.org/cgit.cgi/org-mode.git/log/ ) instead.
--

Kaushal Modi

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Bastien Guerry-5
Hi Kaushal and Mark,

> I recently saw this commit:
> http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=
> 49c0ff29c2e0243ba35ec17e3e3af49369be43db on emacs master branch.
>
> It caught my attention because I haven't seen any commits for
> org-mode functional changes in emacs master. The org-related commits
> in emacs master are usually ones for compatibility with emacs master.
>
> Not knowing the "right way", I am just confirming if commits like
> these should go to org master ( http://orgmode.org/cgit.cgi/
> org-mode.git/log/ ) instead.

For *every* org commit, committers should first consider committing
(1) to the Org maint branch, then (2) to the Org master branch, then
(3) to the Emacs repo.

We don't discourage commits made directly in the Emacs repo, because
we are glad people fix things there too, but life would be a little
easier if all commits would go to upstream first.

In this particular case, the commit should go on Org master.  (No
need to delete it from Emacs.)

About the functionality itself, I just gave a quick look, but it
feels like (org-agenda-redo t) should be responsible for doing what
`org-agenda-redo-all' is doing, and we need to carefully check that
checking all buffers is a good idea.

Thanks,

--
 Bastien

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Kyle Meyer
Bastien Guerry <[hidden email]> writes:

> Hi Kaushal and Mark,
>
>> I recently saw this commit:
>> http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=
>> 49c0ff29c2e0243ba35ec17e3e3af49369be43db on emacs master branch.
>>
>> It caught my attention because I haven't seen any commits for
>> org-mode functional changes in emacs master. The org-related commits
>> in emacs master are usually ones for compatibility with emacs master.
>>
>> Not knowing the "right way", I am just confirming if commits like
>> these should go to org master ( http://orgmode.org/cgit.cgi/
>> org-mode.git/log/ ) instead.
>
> For *every* org commit, committers should first consider committing
> (1) to the Org maint branch, then (2) to the Org master branch, then
> (3) to the Emacs repo.
>
> We don't discourage commits made directly in the Emacs repo, because
> we are glad people fix things there too, but life would be a little
> easier if all commits would go to upstream first.

Right, but I think it's worth emphasizing that commits that are more
than just fixes are much harder to deal with.  Under the current system
for syncing Emacs and Org [*], bug fixes are (usually) trivial to
backport to Org's maint branch, but changes that are appropriate for
Org's master branch are more problematic because it's a release from the
Org maint branch that will be synced with the Emacs master branch.

[*] As mentioned several times on this list, the Emacs repo is very
    overdue for a sync with Org.  Aside from this commit, all
    Org-related commits on Emacs's side have been backported (or
    otherwise resolved) to Org's maint branch.  On the Org list, Kaushal
    expressed interest in moving along the final step of syncing, so
    hopefully a sync isn't too far off.
     
> In this particular case, the commit should go on Org master.  (No
> need to delete it from Emacs.)
>
> About the functionality itself, I just gave a quick look, but it
> feels like (org-agenda-redo t) should be responsible for doing what
> `org-agenda-redo-all' is doing, and we need to carefully check that
> checking all buffers is a good idea.

I think the options are

 1. Revert this commit in Emacs and make the (org-agenda-redo t) change
    you propose (in either maint or master).

 2. Revert this commit in Emacs.

 3. Revert this commit in Emacs and apply it to Org's master branch.

 4. Despite this commit being more appropriate for Org's master branch,
    backport it to Org's maint branch because it seems like it would be
    backward-compatible.

Other options will result in Emacs-specific Org code that isn't included
in a released version of Org and that will be lost when syncing.

--
Kyle

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Kaushal Modi
On Mon, Jun 19, 2017 at 3:12 PM Kyle Meyer <[hidden email]> wrote:

Right, but I think it's worth emphasizing that commits that are more
than just fixes are much harder to deal with.  Under the current system
for syncing Emacs and Org [*], bug fixes are (usually) trivial to
backport to Org's maint branch, but changes that are appropriate for
Org's master branch are more problematic because it's a release from the
Org maint branch that will be synced with the Emacs master branch.

I believe that in that case, the user just uses the org master branch.. Just as people wanting the latest and greatest emacs use the emacs master branch :)
 
[*] As mentioned several times on this list, the Emacs repo is very
    overdue for a sync with Org.  Aside from this commit, all
    Org-related commits on Emacs's side have been backported (or
    otherwise resolved) to Org's maint branch.  On the Org list, Kaushal
    expressed interest in moving along the final step of syncing,

Yes!
 
so
    hopefully a sync isn't too far off.

It would need someone with Org authority to do the actual sync.. Bastein? Nicolas? Looks like Bastein did the last Org sync (v8.2.10) onto Emacs master in Oct 2014. We need to happen again; sync the latest release (9.0.8 as of now), and then keep on syncing the next Org release with Emacs master each time.

I use emacs master + org master as my daily driver and they work in harmony. Recently a commit in emacs master broke 'make test' on Org, but that has been fixed. I think that the best time to sync Org 9.0.8 with emacs master is *now*. Eli? John? 
 
> In this particular case, the commit should go on Org master.  (No
> need to delete it from Emacs.)
>
> About the functionality itself, I just gave a quick look, but it
> feels like (org-agenda-redo t) should be responsible for doing what
> `org-agenda-redo-all' is doing, and we need to carefully check that
> checking all buffers is a good idea.

I think the options are

 3. Revert this commit in Emacs and apply it to Org's master branch.

I would vote for this option.
--

Kaushal Modi

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Eli Zaretskii
> From: Kaushal Modi <[hidden email]>
> Date: Mon, 19 Jun 2017 19:36:15 +0000
> Cc: Mark Oteiza <[hidden email]>, Nicolas Goaziou <[hidden email]>,
> Emacs developers <[hidden email]>
>
> I use emacs master + org master as my daily driver and they work in harmony. Recently a commit in emacs
> master broke 'make test' on Org, but that has been fixed. I think that the best time to sync Org 9.0.8 with
> emacs master is *now*. Eli? John?

What exactly is the decision to be made here?  What are the pro's and
the con's?  For that matter, are there any con's?

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Kaushal Modi
On Mon, Jun 19, 2017 at 3:49 PM Eli Zaretskii <[hidden email]> wrote:
What exactly is the decision to be made here? 

It's just good to know that there is a clear green signal from the emacs maintainers.
 
What are the pro's and
the con's?  For that matter, are there any con's?

From what I understand, people who are still using org 8.2.10 from emacs master (and not using the latest release from Org Elpa) might need to make few backward incompatible changes to their org files ( http://orgmode.org/Changes.html ) and/or config. 

Pros: A lot of bug fixes and many many new features.
--

Kaushal Modi

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Bastien Guerry-5
In reply to this post by Kyle Meyer
Hi Kyle and all,

For this particular case, I suggest (1) reverting the commit in Emacs
master branch, (2) discussing it on the orgmode list and (3) appling
it to Org master branch.

IIRC this is the first problematic commit we have in Emacs, so I don't
want to make a rule--let's just say that such important changes should
go upstream first.

As for sync'ing Org latest stable release (9.0.8) with Emacs master
branch, I'm ready to do it now (thanks Kyle and Kaushal for your work
on keeping Org ready for this!)

For Emacs maintainers, here is a document with an overview of critical
Org changes since Org >=8.3.

I speak under the control of Nicolas, who did the bulk of the work,
but to my knowledge, none of these six changes causes any trouble now.
Only the first two were problematic when they were first proposed, but
they are good changes, and users are happy with them now.

Once Eli and John sends the green light I'm fine to send a patch.

Thanks!

--
 Bastien

org-mode-critical-changes-19062017.org (13K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Bastien Guerry-5
In reply to this post by Eli Zaretskii
Eli Zaretskii <[hidden email]> writes:

> What exactly is the decision to be made here?  What are the pro's and
> the con's?  For that matter, are there any con's?

There are no con's on my side but John had some concern about changes
made in Org 8.3.

The document I just sent is something I promised John a long time ago,
so I'm responsible for the delay.  I hope the document clears the path
for a new sync soon.

Thanks!

--
 Bastien

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Bastien Guerry-5
In reply to this post by Kaushal Modi
Hi Kaushal,

Kaushal Modi <[hidden email]> writes:

> From what I understand, people who are still using org 8.2.10 from
> emacs master (and not using the latest release from Org Elpa) might
> need to make few backward incompatible changes to their org files (
> http://orgmode.org/Changes.html) and/or config.

We have a helper function for the properties drawers syntax change.

Are you aware of other helper functions that we could point at for
the new syntax of export blocks and the new constraint on the Babel
header properties?  Maybe people have been sending recipes on the
mailing list, it would be useful to gather that knowledge in the
etc/ORG-NEWS file.

--
 Bastien

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Kaushal Modi
On Mon, Jun 19, 2017 at 4:41 PM Bastien Guerry <[hidden email]> wrote:
Hi Kaushal,

Kaushal Modi <[hidden email]> writes:

> From what I understand, people who are still using org 8.2.10 from
> emacs master (and not using the latest release from Org Elpa) might
> need to make few backward incompatible changes to their org files (
> http://orgmode.org/Changes.html) and/or config.

We have a helper function for the properties drawers syntax change.

Are you aware of other helper functions that we could point at for
the new syntax of export blocks and the new constraint on the Babel
header properties?  Maybe people have been sending recipes on the
mailing list, it would be useful to gather that knowledge in the
etc/ORG-NEWS file.

Not that I am aware of. Also I have never needed to use any of the helper functions because by chance, none of my existing org files or config were that backward incompatible that I would need helper functions to fix those.
--

Kaushal Modi

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Kyle Meyer
In reply to this post by Bastien Guerry-5
Bastien Guerry <[hidden email]> writes:

> Hi Kyle and all,
>
> For this particular case, I suggest (1) reverting the commit in Emacs
> master branch, (2) discussing it on the orgmode list and (3) appling
> it to Org master branch.

Thanks, Bastien.  Sounds good to me.  Mark?

--
Kyle

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Kyle Meyer
In reply to this post by Kaushal Modi
Kaushal Modi <[hidden email]> writes:

> On Mon, Jun 19, 2017 at 3:12 PM Kyle Meyer <[hidden email]> wrote:
>
>> Right, but I think it's worth emphasizing that commits that are more
>> than just fixes are much harder to deal with.  Under the current system
>> for syncing Emacs and Org [*], bug fixes are (usually) trivial to
>> backport to Org's maint branch, but changes that are appropriate for
>> Org's master branch are more problematic because it's a release from the
>> Org maint branch that will be synced with the Emacs master branch.
>
> I believe that in that case, the user just uses the org master branch..
> Just as people wanting the latest and greatest emacs use the emacs master
> branch :)

The issue is that, if we backport to Org's master branch, the changes in
Emacs's master branch will be reverted when synced with the release from
Org's maint branch.

--
Kyle

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Kyle Meyer
In reply to this post by Kaushal Modi
Kaushal Modi <[hidden email]> writes:

> On Mon, Jun 19, 2017 at 3:12 PM Kyle Meyer <[hidden email]> wrote:

[...]

>> [*] As mentioned several times on this list, the Emacs repo is very
>>     overdue for a sync with Org.  Aside from this commit, all
>>     Org-related commits on Emacs's side have been backported (or
>>     otherwise resolved) to Org's maint branch.  On the Org list, Kaushal
>>     expressed interest in moving along the final step of syncing,
>
> Yes!
>
>> so
>>     hopefully a sync isn't too far off.
>
> It would need someone with Org authority to do the actual sync.. Bastein?
> Nicolas? Looks like Bastein did the last Org sync (v8.2.10) onto Emacs
> master in Oct 2014.

As I mentioned to you in a message in May [*], Rasmus [+cc] was
previously working on doing a sync.  I think it'd be good to check with
him.

[*] https://lists.gnu.org/archive/html/emacs-orgmode/2017-05/msg00354.html

--
Kyle

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Bastien Guerry-5
In reply to this post by Kaushal Modi
Kaushal Modi <[hidden email]> writes:

> Not that I am aware of.

Okay, thanks for checking.

--
 Bastien

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Bastien Guerry-5
In reply to this post by Kyle Meyer
Kyle Meyer <[hidden email]> writes:

> The issue is that, if we backport to Org's master branch, the changes in
> Emacs's master branch will be reverted when synced with the release from
> Org's maint branch.

I'm not entirely sure I understand here.

In general we should backport changes from Emacs master to Org maint
branch, because changes in Emacs master are done against the latest
sync'ed Org maint release.

But for this particular case, applying the change in Org master is
the way to go, because the change is not a bug fix.

--
 Bastien

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Glenn Morris-3
In reply to this post by Kyle Meyer
Kyle Meyer wrote:

> The issue is that, if we backport to Org's master branch, the changes in
> Emacs's master branch will be reverted when synced with the release from
> Org's maint branch.

That's only true if an Org "sync" is yet again going to be just a dump
of the files from Org on top of the ones in Emacs. As has been explained
before, this is not how to do it. In relevant branch of the Org repo,
construct the diff between the current revision and the last revision
that was synced with Emacs. Then apply that diff to Emacs.

It really seems to me that keeping code in two repositories does not
benefit either users or developers (witness the apparent problems caused
by one single, simple commit). Did the project to include elpa packages
in Emacs releases stall?

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Bastien Guerry-5
In reply to this post by Kyle Meyer
Kyle Meyer <[hidden email]> writes:

> As I mentioned to you in a message in May [*], Rasmus [+cc] was
> previously working on doing a sync.  I think it'd be good to check with
> him.

Sure--sorry Rasmus!  Let me know if you want to do the merge
from Org latest stable release to Emacs master branch.

--
 Bastien

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Bastien Guerry-5
In reply to this post by Glenn Morris-3
Hi Glenn,

Glenn Morris <[hidden email]> writes:

> That's only true if an Org "sync" is yet again going to be just a dump
> of the files from Org on top of the ones in Emacs. As has been explained
> before, this is not how to do it. In relevant branch of the Org repo,
> construct the diff between the current revision and the last revision
> that was synced with Emacs. Then apply that diff to Emacs.

One problem is that the set of files in Org's repo is not the same
than the set of files in Emacs org/ directory.

So we cannot simply use ~$ git diff release_8.2.0 release_9.0.8 to
produce a patch that we would apply in the Emacs master branch.

We can produce individual patches for all the relevant files, though,
then carefully apply each of them, just to check that we are not
overwriting Emacs-only changes.

If there is a better recipe that does not involve maintaining another
branch in the Org repo, please let me know.

> It really seems to me that keeping code in two repositories does not
> benefit either users or developers (witness the apparent problems caused
> by one single, simple commit). Did the project to include elpa packages
> in Emacs releases stall?

I don't know about this, but I think Org should be used instead of
outline-mode for etc/TODO, etc/*NEWS, and some other files, and if
we go that way, Org needs to be part of Emacs core.

If such a move requires to trim Org's core from some non-essential
features, I'd still be in favor of it.

But I agree we should only use one repo, either Emacs or Org.

--
 Bastien

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Kyle Meyer
In reply to this post by Glenn Morris-3
Glenn Morris <[hidden email]> writes:

> Kyle Meyer wrote:
>
>> The issue is that, if we backport to Org's master branch, the changes in
>> Emacs's master branch will be reverted when synced with the release from
>> Org's maint branch.
>
> That's only true if an Org "sync" is yet again going to be just a dump
> of the files from Org on top of the ones in Emacs. As has been explained
> before, this is not how to do it. In relevant branch of the Org repo,
> construct the diff between the current revision and the last revision
> that was synced with Emacs. Then apply that diff to Emacs.

No, you face the same problem either way.  You have commit X in Emacs's
master branch and in Org's master branch, but not Org's maint branch.
Because the goal is to update Emacs to the latest Org release from Org's
maint [*], commit X would be reverted in the sync.  Sure, you could
selectively ignore the hunk that reverts back to maint's state
(i.e. keep the changes from commit X), but then you create a situation
where Emacs's Org files are a weird mix between the released version of
Org (maint) and the developmental version (Org's master).

--
Kyle

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Commit 49c0ff2 "Don't bind org-agenda .."

Mark Oteiza
In reply to this post by Kyle Meyer
On 19/06/17 at 05:44pm, Kyle Meyer wrote:
> Bastien Guerry <[hidden email]> writes:
> > For this particular case, I suggest (1) reverting the commit in Emacs
> > master branch, (2) discussing it on the orgmode list and (3) appling
> > it to Org master branch.
>
> Thanks, Bastien.  Sounds good to me.  Mark?

If (1) this key shall no longer bound to a lambda, and (2) the
functionality I implemented in some capacity shall exist, then please
make it happen in a way that works for you.

12
Loading...