Here's what I have tried. Hopefully somebody has a moment to look at this and suggest something. Thanks!
Edit: I believe I have answered my own question: https://stackoverflow.com/a/12760672/906794
Clone my repo
$ git clone leoj3n/roots
Cloning into 'roots'...
remote: Counting objects: 3177, done.
remote: Compressing objects: 100% (1362/1362), done.
remote: Total 3177 (delta 2117), reused 2761 (delta 1792)
Receiving objects: 100% (3177/3177), 1.40 MiB | 609 KiB/s, done.
Resolving deltas: 100% (2117/2117), done.
Checking out files: 100% (146/146), done.
Change directory
$ cd roots
Check status
roots(parent) $ git status
# On branch parent
nothing to commit (working directory clean)
Add upstream
roots(parent) $ git remote add upstream retlehs
roots(parent) $ git remote
origin
upstream
Fetch
roots(parent) $ git fetch --all
Fetching origin
Fetching upstream
remote: Counting objects: 70, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 56 (delta 28), reused 51 (delta 23)
Unpacking objects: 100% (56/56), done.
From git://github.com/retlehs/roots
* [new branch] classic -> upstream/classic
* [new branch] grunt -> upstream/grunt
* [new branch] improve_sidebar_config -> upstream/improve_sidebar_config
* [new branch] master -> upstream/master
* [new branch] vcard_refactor -> upstream/vcard_refactor
* [new tag] 5.1.0 -> 5.1.0
* [new tag] 5.2.0 -> 5.2.0
* [new tag] 6.0.0 -> 6.0.0
* [new tag] 6.1.0 -> 6.1.0
Rebase parent
onto upstream/master
roots(parent) $ git rebase -i upstream/master
<<<<<< BEGIN WHAT I HAD IN vi >>>>>>
pick 4904103 improved url cleaning for child themes
s 986e6de added some is_child_theme() checks
s 2860aee urls now look like /child/css/*
s 4282ee0 Look for files in child, then in roots
p bf9a89a Now using Theme Hook Alliance
f 56d1211 Added THA utility script
f 7702269 Added missing hooks
f 14204d8 Support for multisite
f aca4577 No more multisite rewrites
f 8144b83 Revert some changes
pick fbf1dec Added filter to disable sidebars
pick 9b77e72 Added font-awesome
f 161864d Remove test code
<<<<<< END WHAT I HAD IN vi >>>>>>
Then I get this error:
error: could not apply 4904103... improved url cleaning for child themes
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
Could not apply 4904103... improved url cleaning for child themes
Resolve the conflicts
roots(parent|REBASE-i) $ git mergetool
merge tool candidates: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse ecmerge p4merge araxis bc3 emerge vimdiff
Merging:
lib/config.php
Normal merge conflict for 'lib/config.php':
{local}: modified file
{remote}: modified file
Hit return to start merge resolution tool (opendiff):
2012-10-06 05:10:11.363 FileMerge[22088:707] Unable to load platform at path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
2012-10-06 05:10:11.364 FileMerge[22088:707] Unable to load platform at path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform
Note I get some errors running Opendiff.
Done resolving conflicts, so continue
roots(parent|REBASE-i) $ git rebase --continue
You must edit all merge conflicts and then
mark them as resolved using git add
Huh? Check status:
roots(parent|REBASE-i) $ git status
# Not currently on any branch.
# You are currently rebasing.
# (all conflicts fixed: run "git rebase --continue")
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: lib/config.php
# modified: lib/htaccess.php
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# lib/config.php.orig
Remove merge backup file
roots(parent|REBASE-i) $ rm lib/config.php.orig
roots(parent|REBASE-i) $ git status
# Not currently on any branch.
# You are currently rebasing.
# (all conflicts fixed: run "git rebase --continue")
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: lib/config.php
# modified: lib/htaccess.php
#
Continue rebase
roots(parent|REBASE-i) $ git rebase --continue
You must edit all merge conflicts and then
mark them as resolved using git add
Hmm, try adding everything
roots(parent|REBASE-i) $ git add -A
roots(parent|REBASE-i) $ git rebase --continue
You must edit all merge conflicts and then
mark them as resolved using git add
This is when I gave up and made this S.O. question.
Here's some more info:
roots(parent|REBASE-i) $ git diff-files --ignore-submodules
:100644 100644 f65cf1dc4573c51e54d7cf3772d06caf96726616 0000000000000000000000000000000000000000 assets/js/vendor/jquery-1.8.2.min.js
I think it may have to do with the mergetool opendiff—notice the errors above.
roots(parent|REBASE-i) $ git config --list
user.name=xxxxxx
user.email=xxxxxx
credential.helper=osxkeychain
alias.pu=!git fetch origin -v; git fetch upstream -v; git merge upstream/master
alias.co=checkout
alias.ci=commit
alias.rb=rebase
color.ui=auto
core.excludesfile=/Users/xxxxxx/.gitignore_global
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=false
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
[email protected]:leoj3n/roots.git
branch.parent.remote=origin
branch.parent.merge=refs/heads/parent
remote.upstream.url=git://github.com/retlehs/roots.git
remote.upstream.fetch=+refs/heads/*:refs/remotes/upstream/*
Surprisingly, I was able to rebase on my windows machine using tortoisemerge.
It seems the problem was because of file times being off. This repo is on a network drive and is accessed/modified by both Windows and Macs...
All I needed to do, it seems, is change a single configuration item...
git config --global core.trustctime false
The solution was found at https://stackoverflow.com/a/5255700/906794
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With