How do I merge my own fork with updates from the main fork

Gerben Wierda gerben.wierda at rna.nl
Sat Aug 24 11:38:40 UTC 2019


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
   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> 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/96a16dec/attachment.html>


More information about the macports-users mailing list