emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Keeping up to date
@ 2014-04-29 16:16 Peter Davis
  2014-04-29 16:44 ` Greg Troxel
  2014-04-29 16:45 ` John Hendy
  0 siblings, 2 replies; 7+ messages in thread
From: Peter Davis @ 2014-04-29 16:16 UTC (permalink / raw)
  To: emacs-orgmode

A while ago, I switched from ELPA to Git as my Org-mode source. However, I now have three Macs I'm trying to keep in sync, and doing Git updates is definitely more labor
intensive. Any suggestions for good ways to keep three machines all up-to-date with Emacs and Org?

I suppose the best thing would be to put all my emacs stuff in a Dropbox folder and run from that, but I haven't managed to overcome the inertia to get that working.

Org-mode is now my most heavily used emacs mode by far (though that may change if I ever get back to coding in a "real" programming language.)


Thanks,
-pd


-- 
----
Peter Davis
The Tech Curmudgeon
www.techcurmudgeon.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Keeping up to date
  2014-04-29 16:16 Keeping up to date Peter Davis
@ 2014-04-29 16:44 ` Greg Troxel
  2014-04-29 16:45 ` John Hendy
  1 sibling, 0 replies; 7+ messages in thread
From: Greg Troxel @ 2014-04-29 16:44 UTC (permalink / raw)
  To: Peter Davis; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1734 bytes --]


Peter Davis <pfd@pfdstudio.com> writes:

> A while ago, I switched from ELPA to Git as my Org-mode
> source. However, I now have three Macs I'm trying to keep in sync, and
> doing Git updates is definitely more labor intensive. Any suggestions
> for good ways to keep three machines all up-to-date with Emacs and
> Org?

I use git to obtain org mode.  For me, the tricky part is choosing which
branch and when to update.  Actually doing "git update" is easy.   So
I'd recommend:

  set "core.logallrefupdates = true" on all git repos

  on a well-connected server machine, clone the official repo, and
  checkout maint.

  on other machines, clone the first.

  when you want to update, create a tag 'stable-yyyymmdd' on the main
  machine.  update and ff-merge to the latest maint.  Test.

  If you have issues, git reset --hard stable-yyyymmdd.

  If you're happy, git remote update/merge (pull) on the others.

That's basically what I do.  I find the real work is resolving any issues
From the update and deciding if it's safe.  I used to follow master, not
maint, so it was probably scarier there.

> I suppose the best thing would be to put all my emacs stuff in a
> Dropbox folder and run from that, but I haven't managed to overcome
> the inertia to get that working.

Do you mean your .org files or the sources for org?  I don't see how git
is unsuitable for the "get sources" part.  I use it for .org files too
(separate repo of course), and have a script to autocommit/push every
morning on the main machine I edit on.   One could use a distributed
filesystem instead; I haven't tried the owncloud client (and wouldn't
want to put any bits with confidentiality needs on dropbox).


[-- Attachment #2: Type: application/pgp-signature, Size: 180 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Keeping up to date
  2014-04-29 16:16 Keeping up to date Peter Davis
  2014-04-29 16:44 ` Greg Troxel
@ 2014-04-29 16:45 ` John Hendy
  2014-04-29 18:27   ` Peter Davis
  1 sibling, 1 reply; 7+ messages in thread
From: John Hendy @ 2014-04-29 16:45 UTC (permalink / raw)
  To: Peter Davis; +Cc: emacs-orgmode

On Tue, Apr 29, 2014 at 11:16 AM, Peter Davis <pfd@pfdstudio.com> wrote:
> A while ago, I switched from ELPA to Git as my Org-mode source. However, I now have three Macs I'm trying to keep in sync, and doing Git updates is definitely more labor
> intensive. Any suggestions for good ways to keep three machines all up-to-date with Emacs and Org?

If by Org, you mean the Orgmode files and not your .org files, I don't
find it difficult. Once anywhere from 1x/week to 1x/month, I simply
do:
$ cd ~/.elisp/org.git
$ git pull
$ make clean && make

Then again, I don't do any local branches or development, so it might
be more difficult if you had files changed you'd need to merge, etc.
The above could probably even be put into a script. There's also
makeupN commands that I still have on my todo list to re-look into. I
think those even integrate the git pull/make steps, so you'd just need
to cd to your org.git repo and execute that.

> I suppose the best thing would be to put all my emacs stuff in a Dropbox folder and run from that, but I haven't managed to overcome the inertia to get that working.

The % of time that being on the bleeding edge of Org would have helped
me with some issue is minimal. There are great instances where I've
made a mailing list post and a change has been pushed to fix it nearly
immediately. But I tend to have initiated those anyway. Thus, I really
don't think most folks would notice a performance/feature benefit from
updating 1x/day and 1x/month (maybe even longer). Feel free to
disagree!

Regarding updating Emacs, this again seems super infrequent. I'm
mostly using Arch Linux, so the updates come whenever the repo
changes. My Win7 work computer would be a lot more similar to keeping
a Mac up to date, and I only update Emacs (aka, delete the old folder,
download a new version) maybe once or twice a year.

Sorry if the above was nothing new to you. Primarily, I'm trying to
understand what you find very difficult or trying. Or is it just doing
the above three times on separate computers that's annoying? I
definitely get that, though I'd invest in sharing the same
configurations between the systems before trying to get org.git and
Emacs running off of dropbox. Changes to .emacs that would propagate
to other computers would seem (to me, at least) *much* more impactful
than keeping Org/Emacs synced.


John

> Org-mode is now my most heavily used emacs mode by far (though that may change if I ever get back to coding in a "real" programming language.)
>
>
> Thanks,
> -pd
>
>
> --
> ----
> Peter Davis
> The Tech Curmudgeon
> www.techcurmudgeon.com
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Keeping up to date
  2014-04-29 16:45 ` John Hendy
@ 2014-04-29 18:27   ` Peter Davis
  2014-04-29 20:34     ` John Hendy
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Davis @ 2014-04-29 18:27 UTC (permalink / raw)
  To: emacs-orgmode

Thanks, John (and Greg) for your replies.

At some point, I'm going to have to bite the bullet and put all my emacs stuff in a Dropbox folder, so all my Macs will be in sync all the time. Apart from org-mode versions, I
have inconsistencies in init files, etc. that cause me headaches. John, I'm inclined to agree that getting all my init stuff sync'ed is more important, but I think part of that is
having all packages in one place so they're in sync as well.

Thanks!
-pd


-- 
----
Peter Davis
The Tech Curmudgeon
www.techcurmudgeon.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Keeping up to date
  2014-04-29 18:27   ` Peter Davis
@ 2014-04-29 20:34     ` John Hendy
  2014-04-29 23:12       ` Grant Rettke
  0 siblings, 1 reply; 7+ messages in thread
From: John Hendy @ 2014-04-29 20:34 UTC (permalink / raw)
  To: Peter Davis; +Cc: emacs-orgmode

On Tue, Apr 29, 2014 at 1:27 PM, Peter Davis <pfd@pfdstudio.com> wrote:
> Thanks, John (and Greg) for your replies.
>
> At some point, I'm going to have to bite the bullet and put all my emacs stuff in a Dropbox folder, so all my Macs will be in sync all the time. Apart from org-mode versions, I
> have inconsistencies in init files, etc. that cause me headaches. John, I'm inclined to agree that getting all my init stuff sync'ed is more important, but I think part of that is
> having all packages in one place so they're in sync as well.

I wondered about that. Technically, it seemed you only mentioned
Emacs/Org, which I wasn't sure if that encompassed Emacs (the binary
application), other Emacs .el files, and Org, or if you just meant
keeping your Emacs binary version up to date (and Emacs doesn't rev
/that/ often).

If you meant the former ("Emacs" meant your stash of various .el
files), then I agree that an be a headache. I'll often try some .el
program du jour, maybe keep it, maybe not, and just have them littered
about it ~/.elisp/site-lisp. Then I potentially have to add a line to
add that to my load path if it's a more involved program with it's on
dir vs. being a singular .el file. So, yes, that's a bit of a headache
as well and I think if you are doing a bunch with extra Emacs add-ons,
it would be worth syncing.

I'm thinking I fiddle with some .el or another perhaps 2-4 times a
year, so again, it's not really impacting me.


John

>
> Thanks!
> -pd
>
>
> --
> ----
> Peter Davis
> The Tech Curmudgeon
> www.techcurmudgeon.com
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Keeping up to date
  2014-04-29 20:34     ` John Hendy
@ 2014-04-29 23:12       ` Grant Rettke
  2014-04-30 17:51         ` "Clément B."
  0 siblings, 1 reply; 7+ messages in thread
From: Grant Rettke @ 2014-04-29 23:12 UTC (permalink / raw)
  To: John Hendy; +Cc: emacs-orgmode, Peter Davis

I use Cask https://github.com/cask/cask for 5 machines and it works
quite well if you like that style.
Grant Rettke | AAAS, ACM, ASA, FSF, IEEE, SIAM, Sigma Xi
grettke@acm.org | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson


On Tue, Apr 29, 2014 at 3:34 PM, John Hendy <jw.hendy@gmail.com> wrote:
> On Tue, Apr 29, 2014 at 1:27 PM, Peter Davis <pfd@pfdstudio.com> wrote:
>> Thanks, John (and Greg) for your replies.
>>
>> At some point, I'm going to have to bite the bullet and put all my emacs stuff in a Dropbox folder, so all my Macs will be in sync all the time. Apart from org-mode versions, I
>> have inconsistencies in init files, etc. that cause me headaches. John, I'm inclined to agree that getting all my init stuff sync'ed is more important, but I think part of that is
>> having all packages in one place so they're in sync as well.
>
> I wondered about that. Technically, it seemed you only mentioned
> Emacs/Org, which I wasn't sure if that encompassed Emacs (the binary
> application), other Emacs .el files, and Org, or if you just meant
> keeping your Emacs binary version up to date (and Emacs doesn't rev
> /that/ often).
>
> If you meant the former ("Emacs" meant your stash of various .el
> files), then I agree that an be a headache. I'll often try some .el
> program du jour, maybe keep it, maybe not, and just have them littered
> about it ~/.elisp/site-lisp. Then I potentially have to add a line to
> add that to my load path if it's a more involved program with it's on
> dir vs. being a singular .el file. So, yes, that's a bit of a headache
> as well and I think if you are doing a bunch with extra Emacs add-ons,
> it would be worth syncing.
>
> I'm thinking I fiddle with some .el or another perhaps 2-4 times a
> year, so again, it's not really impacting me.
>
>
> John
>
>>
>> Thanks!
>> -pd
>>
>>
>> --
>> ----
>> Peter Davis
>> The Tech Curmudgeon
>> www.techcurmudgeon.com
>>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Keeping up to date
  2014-04-29 23:12       ` Grant Rettke
@ 2014-04-30 17:51         ` "Clément B."
  0 siblings, 0 replies; 7+ messages in thread
From: "Clément B." @ 2014-04-30 17:51 UTC (permalink / raw)
  To: emacs-orgmode, jw.hendy, pfd

Hi everyone,

> So, yes, that's a bit of a headache
> as well and I think if you are doing a bunch with extra Emacs add-ons,
> it would be worth syncing.

Rather than Dropbox, you could use a version control system. My entire 
.emacs.d is under git control, I can try out a library, and if I like 
it, check it in. That way, I don't really care if my elisp directory is 
dirty, I only take home what I like.

Now, that works well for lonely .el files. Two problems arise if :

1. The library is a clone of another git repository (like org)

2. The library comes from melpa (also like org)

For the first one, technically, you could checkout org git repository 
inside your .emacs, and manage it as a submodule, but they are a huge 
pain. If you pull it out you can keep everything in sync though, and 
still be able to play around with org branches.

For the second one, melpa packages change too often to make it practical 
to check them in. One solution is use cask, as recommended by Grant, the 
other one (a bit more simplistic), is to make sure that the library is 
installed on every box you use, so the sync happens at the (m)elpa 
level. I have the following code in my init.el (it comes from emacs 
prelude I think) :

   (require 'cl)

   (package-initialize)
   (add-to-list 'package-archives
                '("melpa" . "http://melpa.milkbox.net/packages/"))
   (unless package-archive-contents
     (package-refresh-contents)

   (defvar my-packages
       '(org auctex ess)
       "A list of packages to ensure are installed at launch.")

     (dolist (pack my-packages)
       (when (not (package-installed-p pack))
         (package-install pack)))))


This makes sure org from melpa is installed when emacs starts. It 
doesn't check whether it's the last version though.


Clément

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-04-30 17:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-29 16:16 Keeping up to date Peter Davis
2014-04-29 16:44 ` Greg Troxel
2014-04-29 16:45 ` John Hendy
2014-04-29 18:27   ` Peter Davis
2014-04-29 20:34     ` John Hendy
2014-04-29 23:12       ` Grant Rettke
2014-04-30 17:51         ` "Clément B."

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.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).