git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: tom fogal <tfogal@alumni.unh.edu>
To: git@vger.kernel.org
Subject: More on svn workflows
Date: Sat, 23 Jan 2010 15:57:17 -0700	[thread overview]
Message-ID: <auto-000021753828@sci.utah.edu> (raw)

I have recently (1, 1.5 months ago?) started using a workflow similar
to the one described here:

  http://www.spinics.net/lists/git/msg109896.html

(short summary: work in private branch, "merge --no-ff" into svn
upstream, "merge" from svn upstream.)

... with the minor modification that I use "--squash" instead of
"--no-ff".  If I use --no-ff, I end up with a lot of "merge from master
into <myprivatebranch>" commits on my master branch before I dcommit.
It also merges in a lot of history that I feel like I shouldn't see--
that is, both the svn commit and my private branch's commit, and I'm
worried about what might happen if I dcommit that.  That said, I might
be in that situation because I used --squash 3 or 4 times before I
realized I was misremembering that thread.

Anyway, my current issue is that whenever I do a `git commit' after a
"merge --squash", I end up with *everything* I've done since starting
the branch in the commit message.  To be more explicit, say I've got
this setup:

  o--o--o                 master
         \
          o--o--o         private branch started

then I'll update master and merge it into my private branch:

  o--o--o--------D          master
         \        \
          A--B--C--o        private

test, merge --squash private into master and dcommit:

  o--o--o--------D---A'--B'--C'--D''     master
         \        \ /
          A--B--C--D'                    private

something happens upstream:

  o--o--o--------D---A'--B'--C'--D''--E        master
         \        \ /
          A--B--C--D'                          private

which I merge to private:

  o--o--o--------D---A'--B'--C'--D''--E        master
         \        \ /                  \
          A--B--C--D'-------------------E'     private

I do some work, commit F, and decide I want to push it upstream, so
I'll do a merge --squash into master:

  o--o--o--------D---A'--B'--C'--D''--E-------F'   master
         \        \ /                  \     /
          A--B--C--D'-------------------E'--F      private

Now the issue is when I `git commit' the merge from private, git says
this is a "squashed commit of the following", and lists the commit
messages for A, B, C, D, D', D'' E, E' and F.  I really just want the
commit message for "F" in this case -- every other message is already
on the trunk, in a different commit.  This wasn't such a big issue
at first: git picked up a few extra commits, so I hacked out the log
messages before committing them on master.  After doing this for a
while though, there's something like 100 commits I have to wade through
while doing this, and it's only going to get worse and worse.

On the other hand, I'm sure there's some option I could use so "git
commit" would startup with an empty commit message in this case, but I
do *want* the partial history, as it helps me design the commit message
that I want the svn trunk's history to have.

What am I doing wrong?

-tom

                 reply	other threads:[~2010-01-23 23:24 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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

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

  git send-email \
    --in-reply-to=auto-000021753828@sci.utah.edu \
    --to=tfogal@alumni.unh.edu \
    --cc=git@vger.kernel.org \
    --cc=tfogal@sci.utah.edu \
    /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.
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 NNTP newsgroup(s).