Looking into adding commit sets to Gerrit

94 views
Skip to first unread message

Rob Taylor

unread,
Mar 14, 2011, 2:12:15 PM3/14/11
to repo-d...@googlegroups.com, s...@google.com, Diego Celix
Hi all,

I'm looking into adding the concept of commit sets to gerrit, where a
commit set is a number of dependant git commits that should be reviewed
as one item.

I currently see the functionality as something like a throwaway topic
branch, but with added state:
* Comments on commit set / topic branch as a whole
* Review status for commit set / topic branch

At the moment, we're imagining that we could have a 'magic' refspec that
creates a commit set from all the commits pushed in one operation.

I'd like to get an idea if the main developers think this would be a
useful addition to gerrit, any issues that you think we might hit, or
any other ways we should look at implementing this functionality.

One issue I've noted is that the Gerrit 2.2 plans involve moving from
the current SQL database to keeping the state in git, with a database
for caching the current state. I'd obviously prefer if this work could
be done on master. Is there a sensible approach to the implementation
that allows us to contribute to master in a meaningful way but also
allows us to get it up and running in the near future?

Thanks,
Rob

--

Rob Taylor, CTO, Codethink Ltd. - http://codethink.co.uk
Twitter: @robtaylor78 - LinkedIn: http://www.linkedin.com/in/robtaylor78
Office: +44 161 236 5575 - Cell: +44 7891 533856

Edwin Kempin

unread,
Mar 14, 2011, 4:10:27 PM3/14/11
to Rob Taylor, repo-d...@googlegroups.com, s...@google.com, Diego Celix
Hi Rob,

do you know that in Gerrit it's already possible to group changes by
topics/tags?
In the Gerrit documentation you can find a short example [1]:
"To include a short tag associated with all of the changes in the same
group, such as the local topic branch name, append it after the
destination branch name. In this example the short topic tag
driver/i42 will be saved on each change this push creates or updates:

git push ssh://john...@git.example.com:29418/kernel/common
HEAD:refs/for/experimental/driver/i42"

A real-life example can be found here [2].

At the moment the functionality related to topics is quite limited.
Basically you can
- uploaded changes for a topic
- see that a change belongs to a topic
- see a list of all changes that belong to a topic

But as far as I know there was always the idea to add further
functionality for topics.
So I guess this would be the right starting point to add your
additional features, like comments on the topic.

Best regards,
Edwin

[1] https://review.source.android.com/Documentation/user-upload.html#push_create
[2] https://review.source.android.com/#q,status:open+project:tools/gerrit+branch:master+topic:git-store,n,z

2011/3/14 Rob Taylor <rob.t...@codethink.co.uk>:

> --
> To unsubscribe, email repo-discuss...@googlegroups.com
> More info at http://groups.google.com/group/repo-discuss?hl=en
>

Rob Taylor

unread,
Mar 14, 2011, 7:34:28 PM3/14/11
to Edwin Kempin, repo-d...@googlegroups.com, s...@google.com, Diego Celix
Hi Edwin,

Many thanks for your quick reply and pointers. I did mean the existing
tag functionality by 'topic branch'. Stumbling over my words as usual ;)

So topic tags seems like definitely the right place to start with the
new functionality. I think the next steps would be:

- support for review status and comments for a tag as a whole:
- I suspect there shouldn't be any particular linkage of the review
status of a tag to the review status of the commits that make it up. It
could be that each of the parts is fine, but the whole is not complete.

- support for a description for a tag
- Not really sure what sort of mechanism would make sense for this -
maybe a server command?

Does that sound sensible? I guess it would also be nice to order the
commits within a tag in a useful way - maybe topological order?

Thanks,
Rob

Reply all
Reply to author
Forward
0 new messages