How do I merge my own fork with updates from the main fork
Christopher Jones
jonesc at hep.phy.cam.ac.uk
Sat Aug 24 12:29:18 UTC 2019
> On 24 Aug 2019, at 1:28 pm, Christopher Jones <jonesc at hep.phy.cam.ac.uk> wrote:
>
> Hi,
>
> If you have unstated changes, you have to stash them before rebasing.
unstated -> unstaged ….
>
> That is why I suggested to use
>
> sudo port sync
>
> as it handles all this for you. Under the hood it does
>
> git pull —rebase —autostash origin master
>
> assuming origin is the primary MacPorts repo.
>
> Chris
>
>> On 24 Aug 2019, at 12:38 pm, Gerben Wierda <gerben.wierda at rna.nl <mailto:gerben.wierda at rna.nl>> wrote:
>>
>> This was helpful, except that the rebase failed. There were changes. I tried to repair but failed.
>>
>> Albus:macports-ports sysbh$ git fetch --all --prune
>> Fetching origin
>> Fetching upstream
>> remote: Enumerating objects: 33, done.
>> remote: Counting objects: 100% (33/33), done.
>> remote: Compressing objects: 100% (5/5), done.
>> remote: Total 20 (delta 12), reused 20 (delta 12), pack-reused 0
>> Unpacking objects: 100% (20/20), done.
>> From https://github.com/macports/macports-ports <https://github.com/macports/macports-ports>
>> f9f924a097b..a825aeb3efc master -> upstream/master
>> Albus:macports-ports sysbh$ git status
>> On branch master
>> Your branch is up to date with 'origin/master'.
>>
>> Changes not staged for commit:
>> (use "git add <file>..." to update what will be committed)
>> (use "git checkout -- <file>..." to discard changes in working directory)
>>
>> modified: net/nsd/Portfile
>>
>> Untracked files:
>> (use "git add <file>..." to include in what will be committed)
>>
>> net/nsd/%Portfile
>> net/nsd/Portfile-gw-20190817
>> net/nsd/Portfile.orig
>> net/unbound/%Portfile
>> net/unbound/Portfile-gw-20190817
>> net/unbound/Portfile.orig
>>
>> no changes added to commit (use "git add" and/or "git commit -a")
>> Albus:macports-ports sysbh$ git checkout master
>> M net/nsd/Portfile
>> Already on 'master'
>> Your branch is up to date with 'origin/master'.
>> Albus:macports-ports sysbh$ git rebase upstream/master
>> error: cannot rebase: You have unstaged changes.
>> error: Please commit or stash them.
>> Albus:macports-ports sysbh$ git reset
>> Unstaged changes after reset:
>> M net/nsd/Portfile
>> Albus:macports-ports sysbh$ git checkout .
>> Albus:macports-ports sysbh$ git status
>> On branch master
>> Your branch is up to date with 'origin/master'.
>>
>> Untracked files:
>> (use "git add <file>..." to include in what will be committed)
>>
>> net/nsd/%Portfile
>> net/nsd/Portfile-gw-20190817
>> net/nsd/Portfile.orig
>> net/unbound/%Portfile
>> net/unbound/Portfile-gw-20190817
>> net/unbound/Portfile.orig
>>
>> nothing added to commit but untracked files present (use "git add" to track)
>> Albus:macports-ports sysbh$ git rebase upstream/master
>> First, rewinding head to replay your work on top of it...
>> Applying: Updated nsd to 4.2.1, added startupitem to nsd, added @gctwnl as maintainer
>> Using index info to reconstruct a base tree...
>> M net/nsd/Portfile
>> M net/unbound/Portfile
>> Falling back to patching base and 3-way merge...
>> Auto-merging net/unbound/Portfile
>> CONFLICT (content): Merge conflict in net/unbound/Portfile
>> Auto-merging net/nsd/Portfile
>> CONFLICT (content): Merge conflict in net/nsd/Portfile
>> error: Failed to merge in the changes.
>> Patch failed at 0001 Updated nsd to 4.2.1, added startupitem to nsd, added @gctwnl as maintainer
>> hint: Use 'git am --show-current-patch' to see the failed patch
>>
>> Resolve all conflicts manually, mark them as resolved with
>> "git add/rm <conflicted_files>", then run "git rebase --continue".
>> You can instead skip this commit: run "git rebase --skip".
>> To abort and get back to the state before "git rebase", run "git rebase --abort".
>>
>> Albus:macports-ports sysbh$ cd net/unbound/
>> Albus:unbound sysbh$ ls -l
>> total 40
>> -rw-r--r-- 1 sysbh staff 3957 Aug 17 14:35 %Portfile
>> -rw-r--r-- 1 sysbh staff 4106 Aug 24 13:29 Portfile
>> -rw-r--r-- 1 sysbh staff 3979 Aug 17 14:23 Portfile-gw-20190817
>> -rw-r--r-- 1 sysbh staff 3487 Aug 14 21:20 Portfile.orig
>> Albus:unbound sysbh$ rm %Portfile Portfile Portfile-gw-20190817
>> Albus:unbound sysbh$ mv Portfile.orig Portfile
>> Albus:unbound sysbh$ cd ../nsd
>> Albus:nsd sysbh$ rm %Portfile Portfile Portfile-gw-20190817
>> Albus:nsd sysbh$ mv Portfile.orig Portfile
>> Albus:nsd sysbh$ ls -l
>> total 8
>> -rw-r--r-- 1 sysbh staff 2052 Aug 14 21:20 Portfile
>> Albus:nsd sysbh$ cd ../..
>> Albus:macports-ports sysbh$ git rebase upstream/master
>> fatal: It seems that there is already a rebase-apply directory, and
>> I wonder if you are in the middle of another rebase. If that is the
>> case, please try
>> git rebase (--continue | --abort | --skip)
>> If that is not the case, please
>> rm -fr ".git/rebase-apply"
>> and run me again. I am stopping in case you still have something
>> valuable there.
>>
>> Albus:macports-ports sysbh$ git rebase --continue
>> net/nsd/Portfile: needs merge
>> net/unbound/Portfile: needs merge
>> You must edit all merge conflicts and then
>> mark them as resolved using git add
>> Albus:macports-ports sysbh$ rm -fr ".git/rebase-apply"
>> Albus:macports-ports sysbh$ git rebase upstream/master
>> net/nsd/Portfile: needs merge
>> net/unbound/Portfile: needs merge
>> error: cannot rebase: You have unstaged changes.
>> error: additionally, your index contains uncommitted changes.
>> error: Please commit or stash them.
>> Albus:macports-ports sysbh$ git checkout .
>> error: path 'net/nsd/Portfile' is unmerged
>> error: path 'net/unbound/Portfile' is unmerged
>> Albus:macports-ports sysbh$ git help checkout
>> Albus:macports-ports sysbh$ git checkout -f .
>> warning: path 'net/nsd/Portfile' is unmerged
>> warning: path 'net/unbound/Portfile' is unmerged
>> Albus:macports-ports sysbh$ git help checkout
>>
>>
>>> On 24 Aug 2019, at 12:32, miniupnp <miniupnp at free.fr <mailto:miniupnp at free.fr>> wrote:
>>>
>>> Hello,
>>>
>>> Well, it looks like you have added 6 commits in you master branch.
>>> $ git status
>>> should tell you that.
>>> Merging upstream/master doesn't remove theses commits.
>>> It just "merges" new commits from the upstream/master branch into your current branch.
>>>
>>> To understand what is in your branch, you should use the command :
>>> $ git log --graph --decorate --all
>>>
>>> the github graph is also useful :
>>> https://github.com/gctwnl/macports-ports/network <https://github.com/gctwnl/macports-ports/network>
>>>
>>> What exactly do you want to do ?
>>> - have your master branch perfectly in sync with upstream/master ?
>>> In that case you should only commit in some other "work" branches.
>>>
>>> - use your master branch as a "work" branch.
>>> In that case I advise you to rebase on the upstream master.
>>>
>>> $ git fetch --all --prune
>>> $ git checkout master
>>> $ git rebase upstream/master
>>> $ git push --force origin master
>>>
>>>
>>>
>>> Le 24/08/2019 à 12:12, Gerben Wierda a écrit :
>>>> I’ve created my own git fork of macports to work on port updates (have submitted one pull request so far).
>>>>
>>>> Now ether is (for me) macports/macports-ports and gctwnl/macports-ports (the one from which I’ve created a pull request).
>>>>
>>>> It is not perfectly clear to me how I get the updates from macports/macports-ports back into my fork and be totally in sync.
>>>>
>>>> On my local machine, I see this in my macports-ports directory:
>>>>
>>>> Albus:macports-ports sysbh$ git remote -v
>>>> origin https://github.com/gctwnl/macports-ports.git <https://github.com/gctwnl/macports-ports.git> (fetch)
>>>> origin https://github.com/gctwnl/macports-ports.git <https://github.com/gctwnl/macports-ports.git> (push)
>>>> upstream https://github.com/macports/macports-ports.git <https://github.com/macports/macports-ports.git> (fetch)
>>>> upstream https://github.com/macports/macports-ports.git <https://github.com/macports/macports-ports.git> (push)
>>>>
>>>> So, only my own. These are the commands I ran locally:
>>>>
>>>> 14 git fetch upstream
>>>> 15 git merge upstream/master
>>>> 22 git push
>>>>
>>>> But instead of being in sync, GitHub.com <http://github.com/> for gctwnl/macports-ports branch master says:
>>>>
>>>> This branch is 6 commits ahead of macports:master.
>>>>
>>>> So, I am obviously missing something.
>>>>
>>>> Gerben Wierda
>>>> Chess and the Art of Enterprise Architecture <http://enterprisechess.com/>
>>>> Mastering ArchiMate <http://masteringarchimate.com/>
>>>> Architecture for Real Enterprises <https://www.infoworld.com/blog/architecture-for-real-enterprises/> at InfoWorld
>>>> On Slippery Ice <https://eapj.org/on-slippery-ice/> at EAPJ
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20190824/8e2e8276/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1930 bytes
Desc: not available
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20190824/8e2e8276/attachment.bin>
More information about the macports-users
mailing list