From: "George Spelvin" <linux@horizon.com>
To: git@vger.kernel.org
Cc: linux@horizon.com
Subject: Git workflow: how to achieve?
Date: 24 Apr 2009 00:58:43 -0400 [thread overview]
Message-ID: <20090424045843.7674.qmail@science.horizon.com> (raw)
Here's something I and my co-workers would like to achieve, but are not
too sure how to arrange.
I want to be committing to a feature branch, but always be compiling
and testing a merge of that branch and several others. (Kind of like
linux-next.) I want to be able to switch feature branches easily.
For example, I may have a background project that I'm working on slowly in
between short-term fixes. Or I want to be running the latest kernel.org
kernel while my patches await approval.
If it's just my own projects, I can just commit in random order and
straighten things out later. Although even that is problematic,
as I may not remember what line of development a cleanup patch is a
prerequisite for. (This is something that darcs is apparently good at.)
But when I want to be testing something highly volatile like linux-next,
and ensuring that my work continues to merge with it cleanly, as well
as helping others with their branches, it becomes a daily pain.
The best attempt I have so far is to rebase a lot. But that means that
I can't do any merging in my development branch lest the rebasing turn
into a mess. And forcing everything to be linear makes changing branches
a pain. And I can't share half-finished versions with co-workers.
This is all vaguely quilt-like, although I'd rather not worry about the
order of patches. I suppose I'd like git to let me "commit under" the
final merge. When I switch branches, git should reorganize the tree of
merges so that the current branch is only one merge from the HEAD.
(Another thing I've wished for that might be related is for a branch
to have a notion of its origin. So I can rebase it onto an arbitrary
place in the commit tree without having to explicitly specify an origin.)
((Another really simple feature I keep wanting is "git commit -b
<newbranch>". I should probably try to write a patch...))
Anyway, my feature ideas might be unworkable, and in any case, they'll
take a long time to implement. Is there some easier way to achieve more
or less this effect?
Maybe the planned git-rebase improvements to handle merges better will
fix this, so I can just commit on top and periodically rebase the changes
under the head manually without too much pain? (git rebase -i -p does
appear to be working better than I remember.)
H'm... in fact, it might be as easy as replacing "git pull" with
git rebase -p -i <last merge>^
(Delete the merge in the editor)
git pull <remote>
Annoying to remember, but not TOO bad.
next reply other threads:[~2009-04-24 5:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-24 4:58 George Spelvin [this message]
2009-04-24 7:31 ` Git workflow: how to achieve? Uwe Kleine-König
2009-04-24 7:35 ` Andreas Ericsson
2009-04-27 22:59 ` George Spelvin
2009-04-28 7:24 ` Andreas Ericsson
2009-04-28 14:02 ` George Spelvin
2009-04-28 15:00 ` Andreas Ericsson
2009-04-28 15:59 ` Sitaram Chamarty
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=20090424045843.7674.qmail@science.horizon.com \
--to=linux@horizon.com \
--cc=git@vger.kernel.org \
/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).