guile-gtk-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Replace deprecated constructs in guile-gnome-platform set


From: Detlev Zundel
Subject: Re: [PATCH] Replace deprecated constructs in guile-gnome-platform set
Date: Fri, 03 Sep 2010 15:30:23 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Hi,

I'm following up to myself, but it helps to get the context :)

> Note that this is my first attempt at sending patches for such an
> "umbrella" style git layout.  If there is a more clever way of generating
> those patches "from the root", then please let me know and I'll redo them.

I'm really not sure how this setup is supposed to be used.  Now that
there are new commits in the upstream repository, I went for the
(somewhat obvious) "scripts/pull-packages" route, but this effectively
does nothing.  Is this the way it is supposed to work?

Thinking about the problem, this seems to be perfectly fine, considering
how git works.  Maybe an explanation of my understanding of the
situation for the sample module "gtk" is in order.

First I clone the git://git.sv.gnu.org/guile-gnome.git repo to
guile-gnome-platform.  Now I run scripts/prepare-packages and let's
assume it wants to checkout gtk, so it does:

git branch gtk origin/gtk
git clone . gtk
( cd gtk ; git checkout -b gtk origin/gtk ).

Now essentially we have two repos - with remote and local branches:

guile-gnome-platform                    gtk
rbranches               lbranches               rbranches               
lbranches

origin/master   (<-tr)  master(*)               origin/master  (<-tr)   master
origin/gtk      (<-tr)  gtk                     origin/gtk     (<-tr)   gtk(*)

Where "(<-tr)" means "tracks branch".

No assume we have new changes in the upstream "gtk" branch.  Running
"scripts/pull-packages" now does the following:

( cd $root ; git pull )

"git pull" runs "remote update" and thus origin/gtk will have the new
changes, but it will _merge_ new changes only into the current branch,
i.e. it will only merge "origin/master" into "master".  So essentially
the local branch "gtk" still doesn't carry the new changes.

The script continues with

cd gtk ; git pull

now this pull will also do nothing, because it tracks "origin/gtk" which
is the (lcoal) "gtk" branch in the root directory.

What I have to do to get the new changes is this:

cd $root
git checkout gtk
git merge origin/gtk
git checkout master

The merge really updates the local branch.  Then the next
"scripts/pull-packages" works and the gtk directory gets its update.
Effectively from the perspective of git this is perfectly fine, because
it will never touch local branches without explicitely being asked to do
so.

Am I doing something seriously wrong?

Thanks
  Detlev

-- 
Whatever you do will be insignificant,
but it is very important that you do it.
                                        -- Mahatma Gandhi




reply via email to

[Prev in Thread] Current Thread [Next in Thread]