unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Eric Abrahamsen <eric@ericabrahamsen.net>
Cc: emacs-devel@gnu.org
Subject: Re: fixing an Elpa package
Date: Mon, 20 Apr 2015 08:34:59 -0400	[thread overview]
Message-ID: <jwvd22zm1it.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87383vgzk7.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Mon, 20 Apr 2015 13:04:56 +0800")

> Okay, thanks for this. Just so I'm very clear: the above command uses
> --squash so that Git would pay attention to the metadata in your dummy
> commit, but I should not be using --squash from here on out, is that
> correct?

I'm not sure, to tell you the truth.  I never use --squash, so I'm not
very familiar with it.  But with the current tree, I see that

   git subtree merge --squash -P packages/gnorb gnorb/master

gives me relatively few conflicts, whereas

   git subtree merge -P packages/gnorb gnorb/master

gives me a load of conflicts, so it seems that if you don't provide the
"--squash" argument, Git assumes that you haven't used "--squash" in the
past either and doesn't look for the commit messages that "--squash"
uses to try and find the common ancestor.

IOW, if you've used --squash in the past, it's best to keep doing so.

You can switch to the non-squash option, of course, if you want.
Basically, you can do a

   git subtree merge -P packages/gnorb 321b23b1ad1b770e2b2bd27921f069b9394ca4d0
   git diff | patch -R -p1
   git commit -am 'Dummy merge to convert to non-squash subtree'

where 321b23b1ad1b770e2b2bd27921f069b9394ca4d0 is the revision
up-to-which the branch has already been (squash-)merged.

> I ran the command you listed above, resolved the conflicts, and
> committed. That gave me one squashed commit containing all the new
> commits from my external repo, and another merge commit (this second
> commit was huge, and looked like most of the code from the package).

Sounds right.

> The external and Elpa trees were not in sync, though -- "diff -r" gave
> me some differences.

These should only be differences due to the commits I installed directly
into elpa.git, which you maybe haven't merged in the same way into your tree?
[ Just guessing here.  ]


        Stefan



  reply	other threads:[~2015-04-20 12:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-18 15:34 fixing an Elpa package Eric Abrahamsen
2015-04-18 17:27 ` Stefan Monnier
2015-04-19  3:41   ` Eric Abrahamsen
2015-04-20  1:52     ` Stefan Monnier
2015-04-20  5:04       ` Eric Abrahamsen
2015-04-20 12:34         ` Stefan Monnier [this message]
2015-04-23  9:20           ` Eric Abrahamsen
2015-04-23 13:19             ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvd22zm1it.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=eric@ericabrahamsen.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).