SQL Power Business Intelligence Productivity Tools

SQL Power Software Forum

SQL Power Software Forum

  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page  [Register] Register /  [Login] Login 
Messages posted by: m--s
Forum Index » Profile for m--s » Messages posted by m--s
Author Message
... also, as you are still "central" to the development of P*A, you can license it under different licenses simultaneously - this will ensure the incompatibilities will go away. On the downside of this would be, that every contributor to the central archive will have to agree on all these licenses. Still - it is worth considering, IMHO.

Michał Skrzypek
Why not consider LGPL then? It contains exactly the exception you described.

Michał Skrzypek
Jonathan wrote:[...] Michał, if you are interested in adapting your scripts to work in a unix shell, we'd be happy to provide you with an account on our nightly build server [...]

No problem at all - please PM me with the details.

Jonathan wrote:Long term, I am not opposed to abandoning subversion. Right now, we have our hands full and there is simply not time to change our development infrastructure. Once things calm down (and based on our current long-range plans, this will eventually happen ), we'll be much more open to experimenting with infrastructure.

It is good to see that you're open-minded. Anyway, I fully understand your point of view; these things cannot be done too fast, at least because the current developers will probably need some time and motivation to move to different toolchains. I'd be glad to help in providing this new opportunity (in the readonly form for now, but, technically, every local Mercurial repository is writable for the local user, so it can be fully tested by anyone)

Anyway, for now, I was just trying to make you aware of the new toys available for developers, therefore I consider this response being a success

Jonathan wrote:Finally, for anyone (this includes both of you) who is having trouble with connectivity to the Google hosted repository, we can make our mirror available to you. Maybe it will work better.

I don't need it, but I can test how reliably it works if you want. As for others, this seems to be quite beneficial for them.

Michał Skrzypek
I think you've summed it up nicely, but don't forget about the Jeff's proposal of providing the read-only Mercurial repository. This wouldn't do any harm to anyone, and seems like a fair compromise for now...

Michał Skrzypek
yaragalla_murali wrote:Hi m--s, still I have not succeded yet in creating a full mirror. It connects to the repo and after some time it says "200 ok connection lost". I had restarted it for few times and i got the same error message. So I think I have to try hard. Today I will try again. Hope I will succeded.

I've never experienced this from my location, so unfortunately I cannot help you. However, keep trying, as this behavior seems random, and you only need to complete the sync just once, so it seems being worth the effort.

yaragalla_murali wrote:Hi m--s, I tried to open the link "www.youtube.com/watch?v=4XpnKHJAok8 " but it says the requested resource not found. I am also interested in reading the article.

Yeah, I forgot to add "http://" at the beginning of the link - it seems strange, but in this case the forum's message parser linked to the local site instead. I've corrected it, so it should work out-of-the-box. The copy-pasted link, providced in your message, contained the space at the end, which also could invalidate the link in the case you pasted it in address-box of your browser.

Anyway, just in case, here is the corrected link again: http://www.youtube.com/watch?v=4XpnKHJAok8

Michał Skrzypek
Jonathan, while I fully understand your concerns, it is also clear to me, that DVCSs are the "wave of the future" - you cannot avoid these in the long run anyway. At least, when you consider, that in a long run there will be a large community behind your projects, actively developing in parallel.

Using Subversion delays decentralization, and while right now it isn't that obvious (because there are mainly commits form within your company), sooner or later you'll have to move away from the centralized model.

Anyway, I don't want to drag you off your hard work, so there is this one last link, just in case you missed it, and then I'll shut up (I promise!) . It is with Linus Torvalds visiting Google, and talking about Subversion, Git and DVCSs in general, really worth watching:


If this will not convince you, nothing will... Also, to spice it up a little , here is just one sentence from this video: "... Subversion has been the most pointless project ever started", roughly at 3:30.

Michał Skrzypek
Jeff wrote:[...]
I've noticed that in the OpenSolaris link, they're supporting both Subversion and a distributed solution, perhaps something we could do?

Just keep in mind, that in Subversion the history is linear, while in DVCSs it is represented as a DAG (directed acyclic graph, used instead of the weird "branches/tags/trunk' structure), so the conversion from Subversion to Mercurial is possible (and even supported by the Mercurial itself to some extend, but not very straightforward), it is only a one-way conversion.

Hence, if you want to support both, you will have to rely on the Subversion repository as the "golden master", and it is A Bad Thing (TM), at least in my opinion (personally, I really don't like dealing with the whole "branches/tags/trunk" hell from the Subversion, along with its 'intelligent' line-endings conversions between platforms). Still, it is of course better than the current situation, and it has its advantages (broader range of tools supporting this, etc).

A screenshot with DAG within Mercurial GUI (shown after issuing the 'hg view' command) can be found on the Wikipedia page: http://en.wikipedia.org/wiki/Mercurial_(software). The interface there is a bit outdated, but it shows the concept well.

Michał Skrzypek
[...] Uh, svnsync is a much much larger operation. Instead of just
downloading the latest changes, you're replicating the entire
repository's history. While svnsync is easily restartable, so is 'svn
checkout' and 'svn update'. [...]

I'd like to give a really simple answer to that: although it is a much larger operation, it gives me the comfort (sic!) of having everything locally, so I am not depending on anyone else (including the provider and Google). Also, further updates are really fast - and I have the whole history of the project, which makes for an excellent add-on to the documentation.

Anyway, as I view this as a very general issue with Subversion (I mean, WHY is it so complicated to just mirror the repository, especially in the world where backups are essential? - this would make a really good question to the Subversion developers), I would suggest you, the developers at PowerSQL, to move to distributed VCS Mercurial, where these problems will never even appear. Especially while you're trying to attract the community.

Among the DVCSs - why I'm recommending Mercurial? It is cross-platform (unlike Git, which only pretends to be working reliably under Windows), and it is also fast (unlike everything else other that Git, for example: Bazaar is slow as hell in the comparison, see one of the links below).

I can try to help you with moving to Mercurial if you wish (within a reasonable timeframe, as I'm quite busy right now).

Of course, Mercurial also has its disadvantages, but before answering, please read these:

Unfortunately, the screenshots of Mortal Kombat have been removed since form the 3rd link

Hope this all helps you understand my point of view,
Michał Skrzypek
Although I am definitely not Jeff , I can confirm that - this is the whole purpose of these scripts. The scripts are just simple sets of commands, and nothing in-between is stored in the memory, everything is on the disk (which is a non-volatile memory), so restarting the system is safe. You only need to later begin with starting the "server" script again, because the "sync" script relies on the loopback connection (with "localhost").

It is worth noting, that the "server" script runs a full-featured Subversion server, which means that you can connect with it as with any other Subversion server. The only (crucial) difference is that everything is stored locally. You should refer your svn client (be it Eclipse, Tortoise-SVN, or even the plain command 'svn co') to this server instead of googlecode's one (ie the address would be svn://localhost:23232/power-architect-svnsync/trunk), if you just want to checkout the latest version, or without "trunk" at the end to checkout the whole repository (much larger, but in fact everything is done locally, so it won't last very long).

Michał Skrzypek
Jeff wrote:I posted on the Google Code mailing list. Based on the error messages you sent, here's response that I got.

More than likely this developer is behind some sort of web-proxy that
doesn't understand WebDAV http requests (like REPORT or PROPFIND).

The thing is, that the connection usually works, but breaks randomly (sic!), so I'd rather suggest, that it is the Google side we should blame

Michał Skrzypek
yaragalla_murali wrote:Hi I got it. I am able to run the scripts properly. Right now running the scripts and something is going on. will let you know by tomorrow morning about the complete result.

I'm really glad that you are this far. Anyway, please remember, that the connection will probably fail in the middle - then, just restart the "sync" script, it should resume from the right place.

Remember also, that introducing the "svn pdel" command moved the responsibility of NOT running multiple instances of the svnsync script from the script to the user - if you forget about that and fire up multiple instances simultaneously, the mirror repository will probably become corrupted.

Bye for now,
Michał Skrzypek
yaragalla_murali wrote:I have tried as you said. I got the following error. Also attaching the modified scripts.

You can sync only the root of the repository, and not just the "trunk" subdir of it. Therefore, the "init" script failed, and then the "sync" script complained that the repository has not been initialized (as can be observed in the output you've provided).

So, you need to remove the "trunk" subdir. Change the corresponding line to:

After that, go to the step 3 from the "manual". It worked for me just a few minutes ago.

Hope this will finally work for you - you're really close to the full success
Michał Skrzypek
Update: This post has been corrected a few times.

yaragalla_murali wrote:Hi no luck with command line tools too. One thing I want to say is, before the svn client used to connect sometime and sometimes not. Now it is getting connected and was able to check out up to 65%, after that it is the same error. (...)

You probably got this all wrong - svnsync will NOT prevent the disconnection, but then it will allow you to continue from the point where it occurred. Take a look again in the "Locks" section. If you want to "arm" the scripts with this ability, then below is the improved "svncync-2sync.bat" script:

The only thing changed is the inclusion of the "svn pdel" command. After this change, you can re-run this batch file even after forcefully killing the previous instance.

Just in case, here is the SHORT MANUAL:

1. Configure everything in the "_setenv.bat" file.
2. Don't forget to rename the directory with initial empty repository to match the project's name with "-svnsync" ending.
3. Run "svnsync-0serve.bat"
4. Run "svnsync-1init.bat". It needs to be done just once. It hard-codes the SVN_REMOTE_URL into the local repository, and it cannot be changed later - you'll need to replace the repository with the initial one (provided inside the zipfile) if you want to reconfigure it.
5. Run "svnsync-2sync.bat". You can wait after it finishes, or you can even kill it in the middle, and restart it - it will simply continue the syncing process. If some error occurs or it simply hangs waiting for the connection - just re-run it.
6. When everything finishes, you can kill the server process, or just re-use it for local connection with the client (Eclipse for example). Just remember, that this mirror should be considered read-only, otherwise the re-syncing process will then fail.
7. After some time passes, just execute the steps 3 and 5 to refresh the repository.

The remaining scripts are dealing with various conversions to Mercurial, so these are probably out of scope (not needed here).

I'm also updating the "syncer-v2.zip" file to "syncer-v2b.zip" to reflect the change described here.

Good luck!
Michał Skrzypek
One more thing - about something different (but still related to asking me questions) - there is a problem with these forums - whenever something is posted, I get 3 or 4 (four!) mails with the same contents, informing me that there is a new thread/post and containing the post itself. Could something be done about it?

Sorry for the off-topic, I just hope it is something simple to solve, and if it is not, then I'll create separate thread on that.

Best of all,
Michał Skrzypek

PS. just in case there are more serious problems with these forums, my email is michals(to be replaced with 'at')math.uni.lodz.pl
Update: I've included the change described somewhere below.

I've experienced these/similar problems myself. The servers at googlecode doesn't seem to be very stable - at least from my location (Poland). However, I've developed the way of dealing with these problems. First of all, you need to take a look at the svnsync tool. Look there: http://svn.collab.net/repos/svn/trunk/notes/svnsync.txt. Especially take a look at the "Locks" section.

Svnsync is a tool to create a local mirror of the svn server, and then to re-sync it at regular (or not-so-regular) intervals. I am using it as a helper tool to convert the repository from Subversion to Mercurial.

In particular, I have succeeded in converting both power-architect and power-matchmaker repositories to Mercurial using these scripts - and that means I've also succeeded in setting up local mirrors.

I am really sorry, but, being extremely busy right now, I cannot devote much time to your problem, I am however attaching the very simple set of scripts, that I'm used to using to convert any svn repo to Mercurial under win32 (yup - and that's horrible, I know). Some of these scripts will be useful to you, hopefully - after careful inspection, of course.

If you have any questions regarding these scripts (with short answers, please) , feel free to ask.

Hope this all helps.

Michał Skrzypek
Forum Index » Profile for m--s » Messages posted by m--s
Go to:   
Powered by JForum 2.1.8 © JForum Team