>> Platonides <[email protected]> wrote:
>> The fundamental change is something else to me: you lose feeling
>> of linearity. I like hg because it still tries to give me a cosy nice
>> local version numbers (great to switch from SVN, you can even have
>> your old SVN commit numbers to stay after migration). But when
>> I look at the gerrit interface (not gerrit's fault) I have
>> no idea what was done before, what was done after, what's the history.
>
> Yes, git is so poewerful, that gets fragile in itself. I end up with
> several clones and no idea about where they differ.
> Isn't there a way to compare them?

Yeah, I have the same problem very often. Many times got confused 
enough to save diffs and "rm -rf" the working directory.

Git is a mess to integrate with - it's almost impossible to have some API.
And you can't have "hg rollback" - my favorite feature of Mercurial
(no need to commit --amend or something).

>> Looking at this again:
>> 
>> https://gerrit.wikimedia.org/r/#change,2916
>> 
>> I have 28f176ca9ca3767bfa9f0ec219f5fa0c299c5761 and
>> 87f491132487313144e531354578ea2fbd3b42b4 here (those are commits,
>> fine) and Ifb002160485030496c7d3f2abc4991484b533648 
>> 
>> Additionally there is this c64fd4488d2ea24e120acb15db413377494dd3b3 
>> ("Patch Set 1") referring me to (gitweb) which is calls it "commit".
>> Ah, and there is 1101a1b3fe7f4d1c29321157fc1ef9b9f3fb6ff0 as well.
>> 
>> Ouch and there is this "refs/changes/16/2916/1" <-- the good think
>> I can actually click on it in gitweb!
>
> ? That's not a link.

Go to to the gitweb screen 

https://gerrit.wikimedia.org/r/gitweb?p=test/mediawiki/extensions/examples.git;a=log;h=87f491132487313144e531354578ea2fbd3b42b4

and you will see little pink patches (tags) like

https://gerrit.wikimedia.org/r/gitweb?p=test/mediawiki/extensions/examples.git;a=log;h=refs/changes/14/2914/1

those refs/changes/14/2914/1 are gerrit pointers to commits.
(http://book.git-scm.com/7_git_references.html calls them "Git references")

I see also some people want to get rid of them at times:
http://www.mailinglistarchive.com/html/[email protected]/2010-05/msg00014.html

Unfortunately, I don't see them in my local repository. Why?
How can you clone them?


>> All this makes "MFT r111795, r111881, r111920, r112573, r112995, r113169"
>> looks pale in comparison. And I can actually click a link in 
>> [[Special:Code]],
>> and go back and forth on followups, neat!
>
> I proposed several times to bump git change numbers, so new ones  don't
> "conflict" with svn ones. Ie. the number alone would allow you to point
> to gerrit or CodeReview, keeping a bit of consistency between models.
> Even the urls kind of match https://gerrit.wikimedia.org/r/123 for r123
>
> Who cares about that? That r stands there for being a review system.
> I was told that zero effort was going to be made for that (they were
> unsure about the consequences of bumping the auto_increment, although
> there's little I can do about that) and to just talk about
> "change 1234" not "r1234".
>
> It's obvious that c3000 comes after r115000, isn't it? ;)

It looks like that Gerrit precedessor, Rietveld
works with SVN (yes!) and has a much nicer interface:

http://codereview.appspot.com/5727045/#ps1

it uses "Issues" as bases for development (I think this is
gerrit's "change"). Maybe we should use that instead
(yes, I know, google app engine and stuff...)

>> I really think that tighter integration with bugtracker (so
>> bug attachments end up in vcs review queue and commit comments
>> can be seen as quasi-bugs) would be much more beneficial to
>> users. I will try to see how it would have worked with systems
>> like fossil for example and report back.
>
> Indeed, that'd be an important feature.

And I think now you have englightened me.

Maybe our workflow should probably be completely 'change' based 
and not 'commit' based. 

Our [[Git/Workflow]] page does not say much about changesets.

Actually working on a changeset mini-branch
(git fetch origin refs/changes/16/2916/1 && git checkout FETCH_HEAD)
and then 

git add ... && git commit -m "..." && git push origin HEAD:refs/changes/2916

would be a nice workflow; we probably wouldn't (or shouldn't)
do rebasing then since theoretically many people can work
on a changeset at the same time. 

(I can't check how it works since my "git push" fails again on 
[remote rejected] HEAD -> refs/for/master (prohibited by Gerrit))

If "refs/changes/2916" would work also for fetch (now you need
"refs/changes/xx/2916/n" it could be very interesting.

If only I could somehow fetch all tags "refs/changes/*...." to my
local git repository - anybody knows how do this?


It also seems impossible to do code reviews offline, since
we need to 

ssh -p 29418 gerrit.wikimedia.org host gerrit review <options> 

It seems that we can use revision numbers sometimes:

ssh -p 29418 gerrit.wikimedia.org gerrit query 2714 

but to work on review witch patchsets we need to be more specific:

ssh gerrit.wikimedia.org gerrit review eff577ea766db8dcb3952baf99ba8053fac0da8c 
--restore 


So I think 'having stuff offline' is not an argument for gerrit
at all.

I can't even see changesets/patchets in my local git repository
- it looks like I am living in a slightly different world
with gerrit. Similarly to what we have with bugzilla now.

//Saper


_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to