[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH] Replace deprecated constructs in guile-gnome-platform set,
Detlev Zundel <=