Git development
 help / color / mirror / Atom feed
* Two newbie question: "dead" branches and merging after cherry-pick.
@ 2006-01-27 17:36 Romano Giannetti
  2006-01-27 19:47 ` Alex Riesen
  2006-01-27 20:59 ` Junio C Hamano
  0 siblings, 2 replies; 4+ messages in thread
From: Romano Giannetti @ 2006-01-27 17:36 UTC (permalink / raw)
  To: git


Hi,

   this is a "really-newbie-question"...  git is the first SCM that I try to
   use, and I am really fascinated with it. I develop my software on three
   different PC and git solves all my problems of keeping uptodate with
   myself in a really nice way. 

   I have a couple of doubts that probably are at the very silly level but... 
   Here I go: 

        - I use to work on a topic branch to make test, try solutions for
        bugs, etc. Say I am done with the branch "test-bill-idea". I decide
        it's a dead branch, so that I do not want to see it in day-by-day
        work (git branch, basically), but I do not want to loose it. If I
        delete the branch I will loose all its commit at the next prune,
        correct? There is a way to maintain it as a dead or hidden branch,
        shown for example just by gitk --all? If I tag the tip of the
        branch, and then delete .git/refs/head/test-bill-idea, will the
        "dead branch commits" be preserved by next prune(s)? 

        - 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? 

   Thank you very much for your time! Have a nice week end,

         Romano   

   
-- 
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/

^ permalink raw reply	[flat|nested] 4+ messages in thread
* Re: Two newbie question: "dead" branches and merging after cherry-pick.
@ 2006-01-30 11:44 Romano Giannetti
  0 siblings, 0 replies; 4+ messages in thread
From: Romano Giannetti @ 2006-01-30 11:44 UTC (permalink / raw)
  To: git

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/

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

end of thread, other threads:[~2006-01-30 11:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
  -- strict thread matches above, loose matches on Subject: below --
2006-01-30 11:44 Romano Giannetti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox