Git tree rebased
So, as discussed previously [1], I've just rebased the git tree on top of Linus' 2.6.19-rc4. You can see our old history on the devel-2006-10-31 branch [2], but our shiny new history is on master, and conveniently at the top for easy reading of what we haven't merged yet.
If your remotes file currently has a line in it like:
Pull: refs/heads/master:refs/heads/origin
then you'll want to add the '+' at the beginning:
Pull: +refs/heads/master:refs/heads/origin
otherwise git will refuse to update. With the +, it will complain, but do it anyway.
[1] http://lists.parisc-linux.org/pipermail/parisc-linux/2006-October/030326.html
[2] http://git.parisc-linux.org/?p=linux-2.6.git;a=shortlog;h=devel-2006-10-31
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
Quoted 10 lines · Matthew Wilcox
If your remotes file currently has a line in it like:
Pull: refs/heads/master:refs/heads/origin
then you'll want to add the '+' at the beginning:
Pull: +refs/heads/master:refs/heads/origin
otherwise git will refuse to update. With the +, it will complain, but do it anyway.
As we've now learned, it's not that easy. The problem is that all your local repositories have a divergent branch of history from the one now in the shared repo's master branch. Here's a recovery guide. Sorry for all the inconvenience.
First, be sure your tree is clean before you pull. ie git-diff returns nothing. Otherwise you'll be in even more pain than the rest of this.
Now, if you have no commits outstanding vs upstream (git-log origin..master returns nothing), life is fairly easy. After you put in the + above, you need to git-pull, then
git-checkout origin
git-branch -D master
git-checkout -b master
Now you can work as before.
If you have commits in your master branch, then we need to move them over to the new origin branch.
git-fetch origin devel-2006-10-31:devel-2006-10-31
git-fetch origin
git-checkout -b new-master origin
for i in git-rev-list devel-2006-10-31..master |tac; do if ! git-cherry-pick -r $i; then sh; fi; done
# assuming the above goes OK git-branch -D master git-checkout -b master git-branch -d new-master
Any more problems, please let me know. I hadn't thought through all the consequences of rebasing the current master branch.
_______________________________________________
parisc-linux mailing list [email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 8 lines · Matthew Wilcox
Quoted 4 lines · Joel Soete
* refs/heads/origin: does not fast forward to branch 'master' of
git://git.parisc-linux.org/git/linux-2.6;
not updating.Any idea of what I missed?
It's THE BIT YOU JUST QUOTED!
well ...
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
If your remotes file currently has a line in it like:
trying so to translate your idea in non git expert you mean that file:
# find . -type f | xargs grep "refs/heads/master" ./.git/remotes/origin:Pull: refs/heads/master:refs/heads/origin ./.git/HEAD:ref: refs/heads/master
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Pull: refs/heads/master:refs/heads/origin
then you'll want to add the '+' at the beginning:
Pull: +refs/heads/master:refs/heads/origin
so my .git/remotes/origin looks like now:
URL: git://git.parisc-linux.org/git/linux-2.6.git
Pull: +refs/heads/master:refs/heads/origin
Pull: refs/heads/linus:refs/heads/linus
Pull: refs/heads/scsi:refs/heads/scsi
Quoted 1 line
Quoted 1 line
Quoted 1 line
otherwise git will refuse to update. With the +, it will complain,
Ok it do something:
# git-pull 2>&1 | tee -a /var/logs/GitParisc26.log remote: Generating pack... remote: Done counting 1545 objects. remote: Result has 1156 objects. remote: Deltifying 1156 objects. remote: 100% (1156/1156) done Unpacking 1156 objects remote: Total 1156, written 1156 (delta 947), reused 15 (delta 11) * refs/heads/origin: does not fast forward to branch 'master' of git://git.parisc-linux.org/git/linux-2.6; forcing update. * refs/heads/linus: fast forward to branch 'linus' of git://git.parisc-linux.org/git/linux-2.6 from e80391500078b524083ba51c3df01bbaaecc94bb to ae99a78af33f00565a05dbbc6ca9b247fed002c5 Auto-following refs/tags/v2.6.19-rc4-pa0 Auto-following refs/tags/v2.6.19-rc4 remote: Generating pack... remote: Done counting 2 objects. remote: Deltifying 2 objects. remote: 100% (2/2) done remote: Total 2, written 2 (delta 0), reused 0 (delta 0) Unpacking 2 objects * refs/tags/v2.6.19-rc4-pa0: storing tag 'v2.6.19-rc4-pa0' of git://git.parisc-linux.org/git/linux-2.6 * refs/tags/v2.6.19-rc4: storing tag 'v2.6.19-rc4' of git://git.parisc-linux.org/git/linux-2.6 Trying really trivial in-index merge... fatal: Merge requires file-level merging Nope. merge: warning: conflicts during merge Merging HEAD with 1c5484420c0a451eafd30121fd1fcc62bd234f1e Merging: 823bbec4f4c48113da0083fc8220d60748daf8ed PA-RISC: sparse fixes 1c5484420c0a451eafd30121fd1fcc62bd234f1e Enable CONFIG_LOCALVERSION_AUTO in defconfigs found 1 common ancestor(s): 7059abedd2f04b68bd7e1a79c9c72f7aeee134c0 Linux 2.6.19-rc3 Auto-merging Makefile CONFLICT (content): Merge conflict in Makefile Auto-merging arch/ia64/ia32/ia32_signal.c Auto-merging arch/parisc/configs/712_defconfig Auto-merging arch/parisc/configs/a500_defconfig Auto-merging arch/parisc/configs/b180_defconfig Auto-merging arch/parisc/configs/c3000_defconfig Auto-merging arch/parisc/defconfig Auto-merging arch/x86_64/ia32/ia32_signal.c Removing include/asm-i386/mach-visws/do_timer.h Auto-merging include/linux/compat.h Auto-merging kernel/compat.c Automatic merge failed; fix conflicts and then commit the result.
Quoted 1 line
Quoted 1 line
Quoted 1 line
but do it anyway.
root@sidh:/Develop/parisc-linux/parisc-2.6 # head Makefile VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 19
<<<<<<< HEAD/Makefile
EXTRAVERSION =-rc3-pa0
=======
EXTRAVERSION =-rc4
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
1c5484420c0a451eafd30121fd1fcc62bd234f1e/Makefile
NAME=Avast! A bilge rat!
And now what am I supposed to do with this 'conflictual' file in my local git tree?
(I know what I have to do if I want to use this file to build the kernel but what's up for the next git-pull?)
Joel
Quoted 2 lines
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux