From: Romano Giannetti <romanol@upcomillas.es>
To: git@vger.kernel.org
Subject: Re: Two newbie question: "dead" branches and merging after cherry-pick.
Date: Mon, 30 Jan 2006 12:44:44 +0100 [thread overview]
Message-ID: <20060130114444.GA17093@pern.dea.icai.upcomillas.es> (raw)
First of all, 1000 thanks and please forgive me for the broken thread, I was
not subscribed to the list before so I did a copy-and-paste from the web
archive.
Junio C. Hamano wrote:
>
> You are done with what you did in the branch for now, but you
> have not merged the work to your day-to-day development "master"
> for some reason. In the meantime you would want to switch to
> other topic branches to work on other topics, and while working
> on them you do not want to "git branch" and "git show-branch" to
> show the topic you are done with but not merged yet. Later you
> would want to come back to it to do some interesting stuff with
> it (maybe finally merge into "master", or format-patch to send
> upstream). Is that what is happening here?
> If so, I would have chosen "postponed" not "dead" to describe
> the situation but you said "dead" and that is why I am wondering
> if I am getting you correctly.
Yes, you have understood perfectly. I called them "dead" because really I do
not think to come back to them ever, but I want to maintain that as "old
story", something of the style "that was an error, store it so that you will
never fall in it again".
>
> Yes. You have the tag under .git/refs which points at the tip
> of that postponed branch head, so the development trail will not
> be lost. When you are done with other topics and would want to
> come back to that topic again, you could do this:
>
> $ git tag hold/jc/gitlink jc/link ;# copy it to tags/
> $ git branch -D jc/link ;# delete it from heads/
>
> Now "git branch" would not show it, but "gitk --all" still would.
>
What I have done (and it seems to work perfectly) is
git checkout master
mkdir .git/refs/olds
mv .git/heads/test-bill-idea .git/olds
and it seems to work ok. Thanks!
> - Easier: suppose I cheery-picked "abababab" from branch "testing"
> to master branch. What will happen if later I decide to merge
> all "testing" to master branch? I will have a merge conflict (trying
> to apply two times the same fix) or not?
>
> This is easy to experiment so I'd suggest you to try it and tell
> us what you see, like this:
>
> $ git checkout -b test-merge-throwaway master
> $ git cherry-pick abababab
> $ ... play with it, maybe making a couple of commits
> $ git pull . testing
>
> I would not be surprised if this resolves cleanly. If abababab
> is the only thing that touches the set of paths it touches,
> other than what are in "testing" and what you did since
> "testing" forked from "master", it is likely that the merge
> would resolve cleanly.
>
> Otherwise you would likely to see conflicts --- in which case
> you may want to suggest if/how we can reduce it. "cherry-pick"
> without -r drops a hint of which commit was picked in the commit
> log so it _might_ be a good idea to teach git to optionally take
> that information into account while doing the merge. I dunno.
>
> Once you are done experimenting, you can come back to master and
> delete the test-merge-throwaway branch:
>
> $ git checkout master
> $ git branch -D test-merge-throwaway
>
Thanks. I will play a bit with it. I sometime have a bit of fear to not
being able to come back to a good state. I will do my homework and study a
bit more git checkout, branch and reset (this latter gives me a bit of
headheache last time... ;-) ).
Thanks a lot.
--
Romano Giannetti - Univ. Pontificia Comillas (Madrid, Spain)
Electronic Engineer - phone +34 915 422 800 ext 2416 fax +34 915 596 569
http://www.dea.icai.upcomillas.es/romano/
next reply other threads:[~2006-01-30 11:44 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-30 11:44 Romano Giannetti [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-01-27 17:36 Two newbie question: "dead" branches and merging after cherry-pick Romano Giannetti
2006-01-27 19:47 ` Alex Riesen
2006-01-27 20:59 ` Junio C Hamano
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=20060130114444.GA17093@pern.dea.icai.upcomillas.es \
--to=romanol@upcomillas.es \
--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