Ask Your Question
0

Why is so hard to use Mercurial queues?

asked 2010-08-18 20:03:02 +0100

timothyclemans gravatar image

I stopped developing for Sage largely because reviewers wanted me to use Mercurial queues. I gave up on trying to learn it. Is there a way to accomplish what Mercurial queues does without the learning curve?

edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted
1

answered 2010-08-18 20:28:26 +0100

William Stein gravatar image

updated 2010-08-18 20:29:18 +0100

You don't have to use queues to contribute to Sage. As evidence, I didn't use queues at all until June 2010.

That said, I think it would be great if hg_sage were improved so that it could use queues without you having to know anything much about them. This would be an alternative answer to your question, if it existed. But it doesn't today.

By the way, I don't think queues are that hard. I used to think they were before I read the new tutorial at the developers guide page.

edit flag offensive delete link more
1

answered 2010-08-18 21:50:07 +0100

I stopped developing for Sage largely because reviewers wanted me to use Mercurial queues.

I don't know about the reviewers you worked with, but when I'm reviewing tickets, I only care about what kind of patches are posted -- I don't care how they were created. A clean diff, ticket number in the commit message, proper username...that's what I want.

Is there a way to accomplish what Mercurial queues does without the learning curve?

Right now, probably not. But I did find that once I figured out queues, it was the most natural and easy way to work. Take a copy of Sage, qimport a patch, test it, pop and delete it -- and my copy of Sage is just like it started. Things get a bit more complicated with the sage-combinat stuff, since they have a huge queue and use guards and all that -- but you can ignore that stuff.

It sounds like much of your confusion would be cleared if you could sit down with someone and have them show you things -- or maybe a good chat on IRC with a shared screen session. Read the Mercurial book and ask questions. I think you can understand queues without too much trouble.

edit flag offensive delete link more

Comments

The thing that queues do let you do is post a clean diff for the reviewers to look at. If you're using regular Mercurial and make 5 different commits for one patch, you end up with 5 different patch files which are difficult to review.

Mike Hansen gravatar imageMike Hansen ( 2010-08-18 23:38:59 +0100 )edit
0

answered 2010-08-19 02:32:35 +0100

mhampton gravatar image

I've done a fair amount of Sage development and I still haven't learned queues. I do understand the ideas, and I see the advantages, so someday soon I will switch to them, but at the moment I am too lazy. You can just clone a copy of Sage, work in that, and if things get messed up clone another copy from the main branch. Cloning can be annoyingly slow but if you are multitasking its not that big a problem.

In summary: queues are good but not necessary.

edit flag offensive delete link more
0

answered 2010-08-19 12:26:38 +0100

niles gravatar image

For me, the hardest thing about queues was getting started after I'd already written some code and made some changes. I tried to be careful, follow the manual, and make backups, but I still lost work. When I made a fresh clone of sage and started queues before making any changes, things smoothed out a lot.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2010-08-18 20:03:02 +0100

Seen: 804 times

Last updated: Aug 19 '10