emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Git org and Emacs CVS
@ 2008-02-06 17:32 Leo
  2008-02-07  9:41 ` Carsten Dominik
  0 siblings, 1 reply; 5+ messages in thread
From: Leo @ 2008-02-06 17:32 UTC (permalink / raw)
  To: emacs-orgmode

Dear All,

I compiled a new Emacs from latest CVS from time to time and wish also
to use the latest org version.

I know that it has been a hassle for Carsten to sync org with the one in
Emacs. However with the new facility git, will that be easier to do?

Best,
-- 
.:  Leo  :.  [ sdl.web AT gmail.com ]  .:  [ GPG Key: 9283AA3F ]  :.

          Use the best OS -- http://www.fedoraproject.org/

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

* Re: Git org and Emacs CVS
  2008-02-06 17:32 Git org and Emacs CVS Leo
@ 2008-02-07  9:41 ` Carsten Dominik
  2008-03-24  5:15   ` Michael Olson
  0 siblings, 1 reply; 5+ messages in thread
From: Carsten Dominik @ 2008-02-07  9:41 UTC (permalink / raw)
  To: Leo; +Cc: emacs-orgmode

Hi Leo,

synching with Emacs still needs special care and I am not yet  
experienced enough
with git to set up something more automatic.  So not, this will not  
change
anything.

As you know, there are scripts out there which will upgrade to the  
lates org-mode
with a single command.  Why don't you use these?

- Carsten

On Feb 6, 2008, at 6:32 PM, Leo wrote:

> Dear All,
>
> I compiled a new Emacs from latest CVS from time to time and wish also
> to use the latest org version.
>
> I know that it has been a hassle for Carsten to sync org with the  
> one in
> Emacs. However with the new facility git, will that be easier to do?
>
> Best,
> -- 
> .:  Leo  :.  [ sdl.web AT gmail.com ]  .:  [ GPG Key: 9283AA3F ]  :.
>
>          Use the best OS -- http://www.fedoraproject.org/
>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

* Re: Git org and Emacs CVS
  2008-02-07  9:41 ` Carsten Dominik
@ 2008-03-24  5:15   ` Michael Olson
  2008-04-29  5:17     ` Carsten Dominik
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Olson @ 2008-03-24  5:15 UTC (permalink / raw)
  To: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 4264 bytes --]

Carsten Dominik <dominik@science.uva.nl> writes:

> Hi Leo,
>
> synching with Emacs still needs special care and I am not yet
> experienced enough with git to set up something more automatic.  So
> not, this will not change anything.

Hi Carsten,

git does indeed make it easy to merge changes between Emacs 23 and an
upstream project.  I use it for ERC.  One strategy is as follows:

 - Make a branch called "emacs23" which contains Org exactly as it is in
   Emacs23, but with the same directory structure as your master
   branch.
 - Make a directory called "scripts" in the emacs23 branch that contains
   two scripts: one to sync changes from Emacs->upstream and one to sync
   upstream->Emacs.  Both operate by copying files into the proper place
   in the Emacs directory hierarchy.  Here are some examples -- modify
   them to match Org's layout and such.

===== BEGIN file: sync-to-emacs =====
#!/bin/bash

# Load common definitions
. scripts/common.defs

IFS="
"

for i in $LISP; do
    cp $i $EMACS/lisp/erc
done

for i in $MAN; do
    cp $i $EMACS/doc/misc
done

for i in $IMAGES; do
    # Do nothing
    :
done

cp ChangeLog* $EMACS/lisp/erc
cp $NEWS $EMACS/etc/ERC-NEWS
===== END file: sync-to-emacs =====

===== BEGIN file: sync-from-emacs =====
#!/bin/bash

# Load common definitions
. scripts/common.defs

(cd $EMACS/lisp/erc && find . -maxdepth 1 -mindepth 1 -type f -exec cp {} $OLDPWD \;)
cp $EMACS/etc/ERC-NEWS NEWS
cp $EMACS/doc/misc/erc.texi .
rm -f *.elc .cvsignore
git diff --stat
===== END file: sync-from-emacs =====

===== BEGIN file: common.defs =====
# Common definitions for syncing ERC             -*- Shell-script -*-

EMACS=~/proj/emacs/emacs/git-emacs

# Contents

IMAGES="images/icq-offline.png
images/icq-online.png
images/irc-offline.png
images/irc-online.png
images/msn-offline.png
images/msn-online.png"

NEWS="NEWS"

LISP="erc-autoaway.el
erc-backend.el
erc-button.el
erc-capab.el
erc-compat.el
erc-dcc.el
erc-ezbounce.el
erc-fill.el
erc-goodies.el
erc-hecomplete.el
erc-ibuffer.el
erc-identd.el
erc-imenu.el
erc-join.el
erc-lang.el
erc-list.el
erc-log.el
erc-match.el
erc-menu.el
erc-netsplit.el
erc-networks.el
erc-notify.el
erc-page.el
erc-pcomplete.el
erc-replace.el
erc-ring.el
erc-services.el
erc-sound.el
erc-speedbar.el
erc-spelling.el
erc-stamp.el
erc-track.el
erc-truncate.el
erc-xdcc.el
erc.el"

MAN="erc.texi"
===== END file: common.defs =====

Some scenarios follow.

* Capturing changes from Emacs in the emacs23 branch

 - Switch to the emacs23 branch: git checkout emacs23
 - Run the relevant sync script: ./scripts/sync-from-emacs
 - Use "git add -i" to commit small concise atomic changes until all
   changes have been recorded.  Optionally use the --author argument to
   "git commit" to capture the name of the author of the original
   changes.

* Syncing changes from Emacs to upstream Org

 - First do the capturing changes into emacs23 step.
 - Run "git log" and place its contents into an Emacs buffer.
 - git checkout master
 - Cherry pick each commit from emacs23 that you want to migrate
   upstream by copying its commit ID from the Emacs buffer and doing:
   git cherry-pick $COMMIT_ID

* Syncing changes to Emacs

 - First do the syncing changes from Emacs step.
 - Then switch to the emacs23 branch: git checkout emacs23
 - Do a simple "git merge master".
 - Resolve any conflicts.
 - If new files were added, modify scripts/sync-to-emacs to include
   them.
 - Run the sync-to-emacs script: ./scripts/sync-to-emacs
 - Check in the changes to Emacs using CVS.  Or use git, checking in the
   change locally and then doing "git cvsexportcommit" to migrate that
   change to CVS.  The latter option requires commit access to CVS and
   use of the read-only public Emacs git repo at http://git.sv.gnu.org/
   (not much point to it, other than to automate contact with CVS as
   much as possible :^)

-- 
|       Michael Olson  |  FSF Associate Member #652     |
| http://mwolson.org/  |  Hobbies: Lisp, HCoop          |
| Projects: Emacs, Muse, ERC, EMMS, ErBot, DVC, Planner |
`-------------------------------------------------------'

[-- Attachment #1.2: Type: application/pgp-signature, Size: 188 bytes --]

[-- Attachment #2: Type: text/plain, Size: 204 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

* Re: Re: Git org and Emacs CVS
  2008-03-24  5:15   ` Michael Olson
@ 2008-04-29  5:17     ` Carsten Dominik
  2008-04-29  5:43       ` Michael Olson
  0 siblings, 1 reply; 5+ messages in thread
From: Carsten Dominik @ 2008-04-29  5:17 UTC (permalink / raw)
  To: Michael Olson; +Cc: emacs-orgmode

Just did my first sync-from-emacs, seems to have gone all right!

Thanks.

- Carsten

On Mar 24, 2008, at 6:15 AM, Michael Olson wrote:

> Carsten Dominik <dominik@science.uva.nl> writes:
>
>> Hi Leo,
>>
>> synching with Emacs still needs special care and I am not yet
>> experienced enough with git to set up something more automatic.  So
>> not, this will not change anything.
>
> Hi Carsten,
>
> git does indeed make it easy to merge changes between Emacs 23 and an
> upstream project.  I use it for ERC.  One strategy is as follows:
>
> - Make a branch called "emacs23" which contains Org exactly as it is  
> in
>  Emacs23, but with the same directory structure as your master
>  branch.
> - Make a directory called "scripts" in the emacs23 branch that  
> contains
>  two scripts: one to sync changes from Emacs->upstream and one to sync
>  upstream->Emacs.  Both operate by copying files into the proper place
>  in the Emacs directory hierarchy.  Here are some examples -- modify
>  them to match Org's layout and such.
>
> ===== BEGIN file: sync-to-emacs =====
> #!/bin/bash
>
> # Load common definitions
> . scripts/common.defs
>
> IFS="
> "
>
> for i in $LISP; do
>   cp $i $EMACS/lisp/erc
> done
>
> for i in $MAN; do
>   cp $i $EMACS/doc/misc
> done
>
> for i in $IMAGES; do
>   # Do nothing
>   :
> done
>
> cp ChangeLog* $EMACS/lisp/erc
> cp $NEWS $EMACS/etc/ERC-NEWS
> ===== END file: sync-to-emacs =====
>
> ===== BEGIN file: sync-from-emacs =====
> #!/bin/bash
>
> # Load common definitions
> . scripts/common.defs
>
> (cd $EMACS/lisp/erc && find . -maxdepth 1 -mindepth 1 -type f -exec  
> cp {} $OLDPWD \;)
> cp $EMACS/etc/ERC-NEWS NEWS
> cp $EMACS/doc/misc/erc.texi .
> rm -f *.elc .cvsignore
> git diff --stat
> ===== END file: sync-from-emacs =====
>
> ===== BEGIN file: common.defs =====
> # Common definitions for syncing ERC             -*- Shell-script -*-
>
> EMACS=~/proj/emacs/emacs/git-emacs
>
> # Contents
>
> IMAGES="images/icq-offline.png
> images/icq-online.png
> images/irc-offline.png
> images/irc-online.png
> images/msn-offline.png
> images/msn-online.png"
>
> NEWS="NEWS"
>
> LISP="erc-autoaway.el
> erc-backend.el
> erc-button.el
> erc-capab.el
> erc-compat.el
> erc-dcc.el
> erc-ezbounce.el
> erc-fill.el
> erc-goodies.el
> erc-hecomplete.el
> erc-ibuffer.el
> erc-identd.el
> erc-imenu.el
> erc-join.el
> erc-lang.el
> erc-list.el
> erc-log.el
> erc-match.el
> erc-menu.el
> erc-netsplit.el
> erc-networks.el
> erc-notify.el
> erc-page.el
> erc-pcomplete.el
> erc-replace.el
> erc-ring.el
> erc-services.el
> erc-sound.el
> erc-speedbar.el
> erc-spelling.el
> erc-stamp.el
> erc-track.el
> erc-truncate.el
> erc-xdcc.el
> erc.el"
>
> MAN="erc.texi"
> ===== END file: common.defs =====
>
> Some scenarios follow.
>
> * Capturing changes from Emacs in the emacs23 branch
>
> - Switch to the emacs23 branch: git checkout emacs23
> - Run the relevant sync script: ./scripts/sync-from-emacs
> - Use "git add -i" to commit small concise atomic changes until all
>  changes have been recorded.  Optionally use the --author argument to
>  "git commit" to capture the name of the author of the original
>  changes.
>
> * Syncing changes from Emacs to upstream Org
>
> - First do the capturing changes into emacs23 step.
> - Run "git log" and place its contents into an Emacs buffer.
> - git checkout master
> - Cherry pick each commit from emacs23 that you want to migrate
>  upstream by copying its commit ID from the Emacs buffer and doing:
>  git cherry-pick $COMMIT_ID
>
> * Syncing changes to Emacs
>
> - First do the syncing changes from Emacs step.
> - Then switch to the emacs23 branch: git checkout emacs23
> - Do a simple "git merge master".
> - Resolve any conflicts.
> - If new files were added, modify scripts/sync-to-emacs to include
>  them.
> - Run the sync-to-emacs script: ./scripts/sync-to-emacs
> - Check in the changes to Emacs using CVS.  Or use git, checking in  
> the
>  change locally and then doing "git cvsexportcommit" to migrate that
>  change to CVS.  The latter option requires commit access to CVS and
>  use of the read-only public Emacs git repo at http://git.sv.gnu.org/
>  (not much point to it, other than to automate contact with CVS as
>  much as possible :^)
>
> -- 
> |       Michael Olson  |  FSF Associate Member #652     |
> | http://mwolson.org/  |  Hobbies: Lisp, HCoop          |
> | Projects: Emacs, Muse, ERC, EMMS, ErBot, DVC, Planner |
> `-------------------------------------------------------'
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

* Re: Re: Git org and Emacs CVS
  2008-04-29  5:17     ` Carsten Dominik
@ 2008-04-29  5:43       ` Michael Olson
  0 siblings, 0 replies; 5+ messages in thread
From: Michael Olson @ 2008-04-29  5:43 UTC (permalink / raw)
  To: Carsten Dominik; +Cc: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 383 bytes --]

Carsten Dominik <dominik@science.uva.nl> writes:

> Just did my first sync-from-emacs, seems to have gone all right!

Glad to hear it.

-- 
|       Michael Olson  |  FSF Associate Member #652     |
| http://mwolson.org/  |  Hobbies: Lisp, HCoop          |
| Projects: Emacs, Muse, ERC, EMMS, ErBot, DVC, Planner |
`-------------------------------------------------------'

[-- Attachment #1.2: Type: application/pgp-signature, Size: 188 bytes --]

[-- Attachment #2: Type: text/plain, Size: 204 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

end of thread, other threads:[~2008-04-29  5:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-06 17:32 Git org and Emacs CVS Leo
2008-02-07  9:41 ` Carsten Dominik
2008-03-24  5:15   ` Michael Olson
2008-04-29  5:17     ` Carsten Dominik
2008-04-29  5:43       ` Michael Olson

Code repositories for project(s) associated with this public 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).