I am a little confused about that. If I want tags/1.2.3 to be available for download instead of the one in trunk, how do I do that? In the FAQ, it says that I should change stable tag to 1.2.3 in trunk/readme.txt. I did that but WPD is still showing the old version in the trunk. I thought it would automatically package tags/1.2.3 after changing stable tag in trunk/readme.txt. Or I am doing it wrong?
you have to commit the changes to the /trunk directory yourself, changing the version number in the /trunk/readme.txt is not going to do this on its own.
Whenever i update a version say from 1.0.0 to 2.0.0 i first create a directory in /tags and name it just like the last version 1.0.0 the i copy everything from /trunk to it so if someone wants an older version he can get it. the i just commit any changes of the new version to /trunk
so basically trunk holds only the latest version (no need to create a new directory in trunk.)