Closed GoogleCodeExporter closed 9 years ago
[deleted comment]
I have found the reason of this problem.
Let's say A uses B as a submodule, and B uses C as its submodule.
When we push something to C, the first updateSuperProjects() adds information
about the change in C into B repository.
updateGitlinks() uses RevWalker "rw" to find the matching commit
and it is operating on repo C. When the nested updateSuperProjects()
is called, it is supposed to modify repo A with the information about
change in repo B. However, updateGitlinks() still uses the same RevWalker
that searches repo C looking for a change that was made in repo B.
And it, obviously, fails...
I have created a patch for 2.4.2, and for master branch.
I tested 2.4.2 one but not the master one. However,
the code is very similar.
I have absolutely no experience with Gerrit sources, so this
change may not be 100% correct. But at least it works :)
Original comment by sjakub
on 17 Oct 2012 at 1:02
Attachments:
Actually the this problem affects not only nested repositories... Because the
exception stops processing subscribers, other repositories that directly use
the repository that got changed and happen to be processed after nested one,
won't get modified...
Original comment by sjakub
on 17 Oct 2012 at 5:29
Thanks for looking into how to fix this. Would you be able to push the fix to
the Gerrit project on [1] for code review?
We can only accept fixes from contributors that have a valid contributor
agreement, see [2] for details.
[1] https://gerrit-review.googlesource.com
[2] https://gerrit-review.googlesource.com/Documentation/dev-contributing.html
Original comment by edwin.ke...@gmail.com
on 17 Oct 2012 at 5:38
It's submitted (https://gerrit-review.googlesource.com/#/c/38520/).
I submitted it to master, should I do the same with stable-2.4 (and possibly
stable-2.5)?
I'm not sure what the procedure is...
Original comment by sjakub
on 17 Oct 2012 at 5:35
No need to upload it for stable-2.4. At the moment there is no stable bug-fix
release planned for 2.4 (not sure if there will be any).
Gerrit 2.5 is just about to be released (rc1 was published today). Only
critical bugs can still be fixed there. If your change gets accepted for master
I might cherry-pick it to 2.5 if this fix is important for you.
Original comment by edwin.ke...@gmail.com
on 17 Oct 2012 at 5:47
Got it. Thanks for the fast response. 2.5 would be great! :)
Original comment by sjakub
on 17 Oct 2012 at 6:08
[deleted comment]
We would also love to see this fixed in 2.5
Original comment by jt...@evernote.com
on 17 Oct 2012 at 6:10
I've cherry-picked it for 2.5.
Original comment by edwin.ke...@gmail.com
on 18 Oct 2012 at 10:37
Thanks! :)
Original comment by sjakub
on 18 Oct 2012 at 4:32
Issue 1628 has been merged into this issue.
Original comment by bklarson@gmail.com
on 25 Oct 2012 at 9:07
Original comment by edwin.ke...@gmail.com
on 31 Oct 2012 at 8:46
Original issue reported on code.google.com by
jt...@evernote.com
on 25 Jul 2012 at 5:14