Ulrik Sj�lin <
ulrik....@gmail.com> wrote:
> We?re therefore considering different ways of allowing developers to
> keep their branches stable while still making it easy to rebase them
> from an upstream branch. Apart from literally branching and fast-
> forwarding branches, one way would be to use the manifest to peg the
> unbranched gits to specific revisions and upon request get help from
> Repo or Gerrit with updating the manifest with fresh upstream SHA-1s.
Yup.
> This would require teaching Repo how to push and make changes to the
> manifest and it would also require teaching Gerrit a few new tricks.
Yup. My plan with atomic sync was to teach Gerrit to update the
manifest, and repo wouldn't generally do that.
> Would a change like this be aligned with the "new manifest format"
> change? We are very interested in implementing something like this
> would you consider taking it in?
Yes.
My plan on the new manifest format was to have Gerrit scan the
.gitmodules file and store in a database table the projects and
branches which need to be updated whenever another project is
updated:
.gitmodules:
[submodule "platform/apps/Clock"]
path = apps/Clock
url = git://
vcs.example.com/ClockWidget.git
revision = .
Gerrit code:
public class ManifestModule {
protected String manifestProject;
protected String manifestBranch;
protected String sourceProject;
protected String sourceRevision;
}
In above example:
manifestProject = 'platform/manifest'
manifestBranch = 'refs/heads/eclair';
sourceProject = 'platform/apps/Clock';
sourceRevision= 'refs/heads/eclair';
Anytime Gerrit updates platform/apps/Gerrit branch eclair then it
should also update project platform/manifest, branch eclair, at
path apps/Clock to point to the new commit.
If you guys want to take this on and try to do work on it, I would
greatly appreciate it.