Closed Bug 1497714 Opened 7 years ago Closed 7 years ago

git moz-phab fails with hm Multiple children found for commit HASH, unable to continue

Categories

(Conduit :: moz-phab, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bholley, Unassigned)

References

Details

(Keywords: conduit-story, conduit-triaged)

Attachments

(3 files)

Attached file console output
See the attached error log
We should investigate this before general release of git support.
Blocks: 1481527
Keywords: conduit-triaged
I don't see anything unusual in the provided log. It seems to be a nice linear stack. I can't replicate the issue. Could you provide an output from the commands below? 1. `git log --graph --oneline --all` 2. `git rev-list --all --children | grep fa6de450dc09`
Flags: needinfo?(bobbyholley)
Flags: needinfo?(bobbyholley)
This is important but is going to take a bit of work when it comes to rebasing after commits are amended. So we're going to release git support shortly as it is, with a notice that it won't yet support stacks that have branches within them. This bug will be our next moz-phab priority.
No longer blocks: 1481527
Keywords: conduit-story
Depends on: 1504966
Any update here? Just ran into this error.
Kats: I tried the above commands and noticed that I had an extra branch from one of my commits, from a try push (branches/default/tip). I had rebased patch 2 in a patchset, but patch 1 still had an extra head pointing at branches/default/tip. I was able to successfully `moz-phab submit <patch2> <final_patch>` to get around this bug. I'm also theorizing that nuking or moving the branches/default/tip branch might help here, but I haven't tried that yet.
In my case I had checked out a new branch that was just the first commit of a longer working branch, e.g.: git checkout -b base_branch master // hack hack hack git commit -am "patch 1" // hack hack hack git commit -am "patch 2" git checkout -b just_part_1 HEAD~ moz-phab submit --upstream master In this case doing `moz-phab submit master just_part_1` doesn't work either. I had to do a dummy `git commit --amend` which effectively cloned the "patch 1" commit to a new commit so that "patch 2" wasn't a descendant, and then I could submit.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
I just glanced through the patch and noticed that it attempts to check out and rebase every branch that contains the amended commits. Has this been tested in a situation with multiple git worktrees? git doesn't generally let you check out a branch if Annie worktree has the branch checked out. i.e. something like this (I didn't try this specifically): cd gecko git checkout -b mypatchset master git commit # make changes git worktree add -b secondpatchset ../gecko2 mypatchset cd ../gecko2 git commit # add a commit to secondpatchset on top of the first one cd ../gecko moz-phab submit # this might try to checkout secondpatchset and fail
s/Annie/another/ (sorry phone autocorrect)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: