>> 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
