*** tannerld has joined #schooltool | 00:09 | |
*** tannerld has left #schooltool | 00:13 | |
newz2000 | jinty: still around? | 00:19 |
---|---|---|
newz2000 | jinty: the server is up, but I think you should reboot it in order to use the kernel I set as the default. Also, can you create a user for me, 'mnuzum' and give me sudo access? My ssh key is at: https://launchpad.net/people/newz | 00:22 |
newz2000 | I'll e-mail you that as well | 00:22 |
jinty | newz2000: yeah, still here now and then, making your user now | 00:33 |
newz2000 | thanks | 00:36 |
newz2000 | did you reboot the server? | 00:36 |
jinty | no, not yet, you can if you wish | 00:37 |
jinty | otherwise I'll do it now | 00:38 |
newz2000 | go ahead, and also, can you reset the root password to something? | 00:38 |
jinty | your password is in the pwd file in your home directory | 00:39 |
newz2000 | ok. When you reboot I'll go in there | 00:40 |
jinty | rebooting | 00:40 |
newz2000 | crossing fingers | 00:41 |
jinty | :) its there | 00:41 |
newz2000 | Sweet | 00:41 |
jinty | just removing the root password now | 00:41 |
newz2000 | great, I logged in ok | 00:42 |
newz2000 | So future reboots should not be a problem since the grub menu is updated correctly. Just note that dapper kernels don't work. | 00:43 |
jinty | Thanks, not that I reboot the machine at all;) | 00:45 |
jinty | only for kernel upgrades, perhaps when we upgrade away from dapper | 00:45 |
newz2000 | I'd even be careful about doing that, personally. | 00:45 |
newz2000 | because the server reboots fine, just with no networking. | 00:46 |
newz2000 | I've thought it would be cool to have a script that runs 5min after boot and detects if no networking... then fixes grub and reboots. | 00:46 |
* jinty doesn't even think about upgrades unless he loses security support | 00:46 | |
newz2000 | But I haven't done that yet, and until someone does it, messing with kernels is asking for trouble | 00:46 |
newz2000 | yeah, me too. You'll be safe with dapper for a while. | 00:47 |
jinty | but, thanks, especially for keeping me infomed, sounds like it took a while | 00:47 |
newz2000 | I'm glad that we have some awesome sysadmins so that I only have to mess with this once in a blue moon | 00:48 |
jinty | nothing you can do about a power supply going down | 00:48 |
*** jinty has quit IRC | 01:44 | |
*** batlogg_ has quit IRC | 01:44 | |
*** poolie__ is now known as poolie | 01:50 | |
*** poolie has quit IRC | 02:00 | |
*** didymo has quit IRC | 02:00 | |
*** jfroche has quit IRC | 02:00 | |
*** th1a has quit IRC | 02:00 | |
*** Aiste has quit IRC | 02:00 | |
*** Aim2 has quit IRC | 02:00 | |
*** lisppaste5 has quit IRC | 02:00 | |
*** SteveA has quit IRC | 02:00 | |
*** aclark has quit IRC | 02:00 | |
*** kitblake has quit IRC | 02:00 | |
*** didymo has joined #schooltool | 02:00 | |
*** povbot has joined #schooltool | 02:11 | |
*** srichter has joined #schooltool | 02:12 | |
*** newz2000 has joined #schooltool | 02:29 | |
*** didymo has joined #schooltool | 02:29 | |
*** jfroche has quit IRC | 02:33 | |
*** th1a has quit IRC | 02:35 | |
*** Aiste has quit IRC | 02:35 | |
*** aclark has quit IRC | 02:35 | |
*** kitblake has quit IRC | 02:35 | |
*** aclark has joined #schooltool | 02:35 | |
*** th1a has joined #schooltool | 02:36 | |
*** Aiste has joined #schooltool | 02:36 | |
*** licio has joined #schooltool | 02:45 | |
licio | newz2000, hi | 02:46 |
*** licio has quit IRC | 03:05 | |
*** joseph has joined #schooltool | 04:25 | |
joseph | hello everyone | 04:26 |
joseph | how are you all doing? | 04:26 |
joseph | anyone here? | 04:29 |
*** joseph has quit IRC | 04:39 | |
*** newz2000 has left #schooltool | 05:03 | |
*** lisppaste5 has joined #schooltool | 05:52 | |
*** Aiste has quit IRC | 09:24 | |
*** Aiste has joined #schooltool | 09:28 | |
*** Aiste_ has joined #schooltool | 09:47 | |
*** batlogg has joined #schooltool | 09:58 | |
*** lisppaste5 has quit IRC | 10:04 | |
*** jinty has joined #schooltool | 10:05 | |
*** Aiste has quit IRC | 10:07 | |
*** lisppaste5 has joined #schooltool | 10:08 | |
*** batlogg has quit IRC | 10:28 | |
*** batlogg has joined #schooltool | 10:33 | |
*** batlogg has quit IRC | 10:38 | |
*** jinty has quit IRC | 11:10 | |
*** kitblake has joined #schooltool | 11:14 | |
*** poolie has quit IRC | 11:20 | |
*** ignas has joined #schooltool | 11:35 | |
*** Aiste_ has quit IRC | 11:44 | |
*** Aiste has joined #schooltool | 11:47 | |
*** kitblake has quit IRC | 12:11 | |
*** Aiste has quit IRC | 12:11 | |
*** ignas has quit IRC | 12:11 | |
*** lisppaste5 has quit IRC | 12:11 | |
*** th1a has quit IRC | 12:11 | |
*** aclark has quit IRC | 12:11 | |
*** didymo has quit IRC | 12:11 | |
*** Aim2 has quit IRC | 12:11 | |
*** didymo has joined #schooltool | 13:00 | |
*** aclark has joined #schooltool | 13:00 | |
*** th1a has joined #schooltool | 13:00 | |
*** lisppaste5 has joined #schooltool | 13:00 | |
*** vidasp has joined #schooltool | 13:00 | |
*** Aiste has joined #schooltool | 13:00 | |
*** ignas has joined #schooltool | 13:00 | |
*** kitblake has joined #schooltool | 13:00 | |
*** Aim2 has joined #schooltool | 13:00 | |
*** th1a_ has joined #schooltool | 13:23 | |
*** th1a has quit IRC | 13:26 | |
*** jinty has joined #schooltool | 13:36 | |
*** joerg has joined #schooltool | 13:55 | |
joerg | hi | 13:55 |
ignas | hi | 13:57 |
*** joerg_ has joined #schooltool | 14:20 | |
*** joerg has quit IRC | 14:33 | |
*** licio has joined #schooltool | 14:45 | |
*** ddaa has joined #schooltool | 14:49 | |
ddaa | ignas: ping | 14:49 |
ignas | ddaa: pong | 14:49 |
ddaa | got an initial import of the dump you gave me | 14:50 |
ddaa | I'd like you to have a look and tell me what you need done differently | 14:50 |
ignas | ok | 14:50 |
ignas | where is it ? | 14:50 |
* ddaa uploads it to people.ubuntu.com | 14:50 | |
ddaa | coming soon, got it done yesterday late evening, and I've been busy preparing the christmas dinner this morning | 14:51 |
ignas | :) | 14:51 |
ddaa | I had to do a lot of svn2bzr hacking to get the damn thing working | 14:53 |
ignas | bzr changed a lot since svn2bzr was abandoned | 14:53 |
ddaa | the import was done using a lightly customized svn2bzr to support the unusual naming convention | 14:53 |
ddaa | actually the problems were not really bitrot | 14:54 |
ddaa | since jelmer had a reasonably current branch of svn2bzr that uses python-subversion and libsvn_ra instead of reading the dump | 14:54 |
ddaa | instead, there were just plain bugginess | 14:54 |
ddaa | and not-workingness | 14:54 |
ignas | i see | 14:56 |
ignas | how big is the repository after the import ? | 14:56 |
ddaa | a no-trees repository is 210M | 14:57 |
ddaa | the tarball I'm uploading is 41M | 14:57 |
ignas | no-trees ? | 14:57 |
ddaa | svn2bzr by default produces a repository where branches have working trees | 14:58 |
ddaa | that inflates the size of the repository quite a bit because of the working source files duplicated all around | 14:58 |
ignas | ah, hmm, like darcs keeping "_darcs/current" that has all unmodified tree you are working on? | 14:59 |
ddaa | I do not know what darcs does in this respect | 15:00 |
ddaa | so I did a "bzr branches | xargs -n1 bzr remove-tree" before making the tarball | 15:00 |
ignas | i see, so i can "check out" any tree i want, yet the repository stays compact | 15:01 |
ddaa | mh... I notice forgot to "touch .bzr/repository/no-working-trees"... so the repo I uploaded will still create working trees automatically when creating new branches inside. | 15:01 |
ddaa | ignas: yes | 15:01 |
ignas | nice :) | 15:02 |
ddaa | So, the new svn2bzr works a live repo, not a dump | 15:02 |
ddaa | the coversion took about 2h | 15:02 |
ddaa | and eat about 600MB RAM | 15:02 |
ddaa | I suspect the excessive RAM usage is caused by the fact that it keeps all branches open | 15:03 |
ddaa | but since it was not excessive enough to prevent completion on my workstation, I did not spend time experimenting with it. | 15:03 |
ignas | i see, well, I should be able to perform it on my laptop | 15:04 |
ignas | thanks a lot for your help on the migration | 15:05 |
ddaa | BTW, the diamond topology with the schooltool/schoolbell refactoring is not preserved | 15:05 |
ddaa | and generally svn2bzr does not try to have files copied across branches use the same file ids. | 15:06 |
ddaa | Branch creation by copying or branch renaming is done by "bzr branch" and "mv", but it's as far as it goes. | 15:06 |
ddaa | This would be fixable, but would be some work. | 15:07 |
ignas | hmm, so if i will look at a file that belonged to schoolbell some time ago, but now is in schooltool i'll see the person who copied it as the author of changes (like with svn)? | 15:07 |
ddaa | I think svn annotate actually tracks copies | 15:07 |
ddaa | here, it would be difficult to preserve this information at all | 15:08 |
ddaa | I'm saying that the various branches may not merge very well | 15:08 |
ignas | hmm | 15:08 |
ignas | so if i have 3 active branches at the moment in the repository | 15:08 |
ignas | merging some changes between them might be a bit difficult at first | 15:09 |
ddaa | yes, until you have done a roundtrip of merge and reconciled the file ids | 15:09 |
ddaa | the file id thing can possibly be improved | 15:10 |
ignas | what are the terms i should look for in the bzr documentation to understand more about it? | 15:10 |
ddaa | but the things are always going to be a bit rough until all the active stuff is bzr-native. | 15:10 |
ignas | i see | 15:10 |
ddaa | So I would like you to look at the data, experiment a bit, and tell me if specific things need improving. | 15:11 |
ignas | ok | 15:11 |
ddaa | http://people.ubuntu.com/~david/schooltool/st.bzr-2.tgz | 15:12 |
ddaa | that's the tarball of the repo | 15:12 |
ignas | actively developing on 2 branches with changes spanning 5-10 commits, and then merging between them with svn is becoming a bit convoluted ... | 15:12 |
ddaa | when people use bzr, they usually have many more branches | 15:12 |
ddaa | like one branch per feature, instead of one branch per developer | 15:12 |
ddaa | though sometimes people end up having their own personal "integration" branch. | 15:13 |
ddaa | branching strategies in DVCS is a whole field of its own :) | 15:13 |
ignas | what i am worried about is the UI branch (not sure it is available in the dump i gave you) it is quite far away from trunk (a month+ of work on it, and a month or more work on the trunk) | 15:14 |
ddaa | if it just branched and diverged, that should be as good as possible | 15:14 |
ddaa | what would be problematic would be there were some merges between the two since it branched | 15:14 |
ddaa | esp. if there were merges that added files | 15:15 |
ddaa | merges that only modified files would be handled as well as with svn (that is badly, but it's not a regression). | 15:15 |
ignas | hmm, in that case i'll have trouble with my current branches that are a little bit different with most of the changes being merged from one to the other | 15:15 |
ignas | the trunk vs "school specific customized schooltool"x3 actually ... | 15:16 |
ignas | hmm, i am not sure it is possible to fix that though | 15:17 |
ddaa | I cannot answer this off hand :) | 15:18 |
ignas | svn isn't telling anyone that it's merging 7 revisions from trunk to a branch | 15:18 |
ddaa | if you give me more details about the branches where you see problems, I can look and see what can be improved. | 15:18 |
ignas | ok | 15:19 |
ignas | jinty: are you there? | 15:19 |
ddaa | the customized svn2bzr is http://people.ubuntu.com/~david/schooltool/svn2bzr.schooltool/ | 15:19 |
ddaa | my personal svn2bzr branch is http://bazaar.launchpad.net/~ddaa/svn2bzr/devel | 15:20 |
ddaa | The script I used to run svn2bzr is http://people.ubuntu.com/~david/schooltool/run-svn2bzr-st | 15:21 |
ddaa | Note that it's setup so svn2bzr saves a debug-level log and drop in the debugger if there is an uncaught exception. | 15:21 |
ignas | i see | 15:22 |
ddaa | it's useful to diagnose a problem that happens after 1h30 of runtime :) | 15:22 |
ignas | :) | 15:22 |
ignas | it's still better than tailor :) | 15:22 |
ddaa | pretty much anything is better than tailor | 15:23 |
ddaa | tailor is simple but dumb | 15:23 |
ignas | dumb - yes, simple - maybe ;) | 15:23 |
ignas | unit tests that want sf.net repository working :) | 15:23 |
ddaa | hu... | 15:23 |
ddaa | sf.net is spethial... | 15:24 |
ddaa | I canot find any documentation that seems to deal with issues of reconciling file ids. | 15:27 |
ddaa | ignas: you can contact me at ddaa@canonical.com | 15:29 |
ddaa | But I'll be on vacation next week and the second week of January. | 15:30 |
ignas | i see | 15:30 |
ddaa | Next week I may be able to spare a few hours. But second week of January I'll be trekking in the desert of Morroco. | 15:30 |
ignas | :) | 15:30 |
jinty | ignas: yep | 15:32 |
ddaa | ignas: anything else I can help you with today? | 15:32 |
ignas | ddaa: not at the moment | 15:33 |
ignas | ddaa: i want to try it on an up to date repo as it has a couple of test cases i will have to handle | 15:33 |
ignas | sooner or later | 15:33 |
ignas | jinty: maybe you could either tar.bz2 an svn dump of an up to date st repo, or give me the access required to do that ? | 15:33 |
ignas | jinty: please :) | 15:33 |
* ddaa grumbles things about how svn dump is an incredibly verbose format | 15:34 | |
ignas | well, compressed dump was smaller than compressed bzr repository | 15:35 |
jinty | on the way, but one question, can this conversion be done incrementally? | 15:39 |
jinty | I am wondering if we could make a read only bzr repository updated each day from svn... | 15:39 |
ignas | hmm, not much use without the way back, i would rather want an oposite conversion - generating readonly svn (developers work with bzr, svn based buildtools continue to work) | 15:40 |
ignas | we'd only require a couple of branches converted ... | 15:41 |
jinty | ignas, sounds like that migh work | 15:42 |
ddaa | jinty: svn2bzr does not do mirroring | 15:43 |
jinty | and avoid breaking my infrastructure till it can be converted | 15:43 |
ignas | yes, but there are other tools iirc | 15:43 |
ignas | which branches/tags do you need ? | 15:43 |
ddaa | cscvs does mirroring, but works on individual branches, not on whole repositories | 15:44 |
ignas | we'd want to have an svn mirror of a bzr branch | 15:44 |
ignas | or something like that ... | 15:44 |
ddaa | bzr-svn can do anything but it does not support (yet) the branch naming convention of the schooltool repo. | 15:44 |
jinty | ignas: ftp://ftp.schooltool.org/pub/schooltool/st-repo.tar.gz (its a tarball of the backup repo copy) | 15:44 |
ddaa | It would be possible to fix svn2bzr to be able to do mirroring, or bzr-svn to be able to handle the schooltool repo, but both are non-trivial amounts of work. | 15:45 |
jinty | I need the release branches, tags and the trunk | 15:46 |
ignas | ddaa: we don't need that, we'd want changes made to bzr trunk to get to svn trunk not really thinking about branches | 15:46 |
ddaa | ignas: jelmer started working on publishing bzr branches to svn clients. But I do not think it's functionaly yet. | 15:46 |
ignas | i think tailor would work in this case | 15:47 |
ddaa | bzr-svn would allow you to "bzr commit" to a svn repo | 15:47 |
ddaa | and keep track of what bzr revision was merged in what svn revision | 15:48 |
* jinty notes that he needs to check if buildout supports bzr... | 15:48 | |
ddaa | I do not think tailor allows you to round-trip the ancestry information. | 15:48 |
* ddaa steps back and tries to understand what the guys want to get | 15:49 | |
ignas | release tools are designed to work with svn branches, if we will be developing using bzr - fixing a bug in scholtool-0.11.x will be in bzr repo, so we want (on some date, one way or another) to push all the changes made to bzr branch to an appropriate svn branch | 15:51 |
ddaa | I see. | 15:51 |
ignas | namely - 2 release branches and probably trunk | 15:51 |
ddaa | If you just want to bzr -> svn -> release-tools for a few branches, I think tailor is a good fit. | 15:51 |
ddaa | as long as you do not want something like bzr -> svn -> bzr or bzr -> svn -> release -> bzr | 15:52 |
ignas | a simple crontab script that would run tailor on 3 bzr working trees would work i guess | 15:52 |
ddaa | I guess. There might be some gotchas. In particular your should never "push" to those branch, but only merg+commit. | 15:53 |
ignas | hmm, why so? | 15:54 |
ddaa | so the line of history stays append-only | 15:54 |
ddaa | here's an example | 15:54 |
ignas | oh, i just thought of a way to break it, the system is distributed, so i can have old unpushed patches and they'll distort the history if pushed | 15:56 |
ddaa | st.trunk: A -> B -> C | 15:56 |
ddaa | st.ignas: A -> D [merges C] -> E | 15:56 |
ddaa | Then if you push st.ignas to st.trunk, the history of st.trunk becomes A->D->E | 15:56 |
ddaa | So effectively the branch have moved forward, but the revision number of the tip has not increased. It's not something you can mirror to svn. | 15:57 |
ddaa | not easily, at least | 15:57 |
ignas | i see the point ... | 15:57 |
ddaa | something smart might be able to mirror A->B->C->D->E, but I do not expect tailor to be this smart. | 15:57 |
ddaa | To avoid this sort of situation, you can use a checkout of st.trunk, and merge and commit there. | 15:58 |
ddaa | It is my opinion that push should not do this sort of thing by default, but that's how it works now. | 15:58 |
ddaa | Using checkouts for multi-committers branches is also better form, since it allows people to speak meaningfully about revision numbers. | 15:59 |
jinty | Er, if all development is in bzr, I don't see why we even need a history in svn... It's nor required for the release tools. | 15:59 |
ignas | yes | 15:59 |
ignas | hmm | 15:59 |
jinty | (or a history that makes sense) | 16:00 |
ignas | a shell script would work for such thing too :) | 16:00 |
jinty | indeed;) | 16:00 |
ignas | bzr pull, bzr diff | patch p0 | 16:00 |
ignas | svn ci | 16:00 |
jinty | I don't know the deatails, but something like that. | 16:01 |
ignas | jinty: how often and what kind of releases are you going to be doing for schooltool ? | 16:01 |
jinty | not often at all | 16:01 |
ignas | with 0.x.x versions being discontinued | 16:01 |
ddaa | jinty: sounds like a good idea. Keep a legacy system in the process is a needless source of failure modes. | 16:01 |
jinty | but until we have a new way to make releases, I'd like to keep the old one working | 16:02 |
ignas | hmm, can we do it this way - we keep old svn repository available | 16:02 |
ignas | and when you will want/need to make a release | 16:02 |
ignas | i will port bzr changes to svn | 16:02 |
ddaa | you can have both .bzr and .svn in the same repo. | 16:02 |
ignas | as it would take up less time than devloping/testing tools to make it automatically | 16:03 |
ddaa | so you can effectively do something like "bzr update ; svn ci -m 'sync with bzr' ;" | 16:03 |
jinty | yes, sounds like a workable idea | 16:03 |
jinty | we don't need something totally correct, merely something that works | 16:04 |
ddaa | then in this case, you want "bzr pull --overwrite; svn ci -m 'sync with bzr'" | 16:04 |
ignas | ddaa: do i need any more up to date libraries/bzr branches to perform the migration ? | 16:05 |
ignas | ones not available in edgy by default | 16:05 |
ddaa | I used bzr-0.13 | 16:05 |
jinty | ddaa: some admin questions now: what's a reasonable way to admin/grant access a central repository? can I do it via apache https? | 16:06 |
ddaa | edgy python-subversion is okay | 16:06 |
ddaa | jinty: there is a dav transport for bzr that exists as a plugin. | 16:06 |
ddaa | but the recommended writable transport is sftp, since that's what everybody uses | 16:07 |
ddaa | you can offer unix accounts with scponly as a shell to prevent people from actually getting a shell | 16:07 |
ddaa | you can also use a team-owned branch on launchpad.net | 16:08 |
jinty | then the repo would be stored on launchpad.net and we wouldn't have to have it on our server at all? | 16:08 |
ddaa | but launchpad.net does no do repositories, so when you create a new branch, you need to upload all the data | 16:08 |
jinty | ahh | 16:08 |
ddaa | jinty: yes, it's a hosting service. Though the data would still be on individual developers systems. | 16:09 |
jinty | and a checkins mailing list? | 16:09 |
ddaa | thumper is working right now on allowing launchpad to send email message when it detects new commits. You do not need to have branches hosted on launchpad to use it. They just need to be registered there, they are automatically mirrored. | 16:10 |
ignas | jinty: look at bundlebuggy - i want one :) | 16:11 |
ddaa | the way the bzr people get commit emails is tied to their use of pqm, and it's not something I want to push you to use. | 16:11 |
ddaa | It's fiddly to set up. | 16:11 |
ddaa | OTOH, it should be possible to set up a cronscript that gives you email messages for new commits. | 16:12 |
ddaa | Something just as simple as "bzr missing; bzr pull" would work. | 16:12 |
jinty | hmm, ok, I guess I'll have to go through the docs myself at some point, it's time for me to stop asking questions for a while | 16:13 |
ddaa | jinty: the docs are not good on in depth stuff | 16:13 |
ddaa | but the bzr folks are very helpful if you ask on #bzr or on the mailing list | 16:14 |
jinty | ok, once I spend more investigation time in, i'll pass by there | 16:14 |
ddaa | Please CC me on the message if you post on the mailingh list. | 16:15 |
ddaa | I routinely have a huge backlog there. | 16:15 |
jinty | ignas: sorry, I think bundlebuggy is not going to make it for christmass;) | 16:15 |
ignas | :D | 16:16 |
jinty | ddaa: sure, but I might only have the concentrated time next year... | 16:16 |
ddaa | same thing for me | 16:16 |
jinty | anyway, ignas and I should do some tests first | 16:16 |
ignas | ddaa: how did the command line that you used to dump the repo look like ? any special parameters? | 16:18 |
ddaa | dump? I did not dump the repo. But I did "svnadmin create st.repo ; bzcat dump.bzr2 | svnadmin load -q st.repo" | 16:19 |
ddaa | s/bzr2/bz2/ | 16:20 |
ignas | not dump, migrate | 16:20 |
ignas | wrong word | 16:20 |
ddaa | http://people.ubuntu.com/~david/schooltool/run-svn2bzr-st | 16:21 |
ddaa | My command was "./run-svn2bzr-st" :) | 16:21 |
ignas | thank you :) | 16:21 |
ddaa | Monday, you asked for a script that you could run as is :) | 16:21 |
ignas | :) | 16:22 |
ddaa | note that it needs the customised svn2bzr.schooltool branch | 16:22 |
ddaa | to deal with the trunk/* and branches/obsolete/* and branches/schooltool/* branches | 16:23 |
ignas | and then i just do "bzr branches | xargs -n1 bzr remove-tree" + "touch .bzr/repository/no-working-trees" in the export directory? | 16:27 |
ddaa | Yes, that will remove the working trees and set up the repository so they are no longer created by default. | 16:28 |
*** joerg_ is now known as joerg | 16:37 | |
*** jinty has quit IRC | 16:38 | |
*** jinty has joined #schooltool | 16:39 | |
*** mgedmin has joined #schooltool | 16:43 | |
*** Aiste has quit IRC | 16:48 | |
*** ignas has quit IRC | 18:03 | |
*** licio has quit IRC | 18:18 | |
*** thisfred has joined #schooltool | 18:21 | |
*** jinty has quit IRC | 19:17 | |
*** jinty has joined #schooltool | 19:17 | |
*** alga has joined #SchoolTool | 19:25 | |
*** th1a_ is now known as th1a | 19:34 | |
*** ignas has joined #schooltool | 19:37 | |
ignas | ddaa: still in there? | 19:37 |
lisppaste5 | ignas pasted "merge between lyceum branch and trunk" at http://paste.lisp.org/display/33218 | 19:39 |
ddaa | ignas: having dinner, back soon | 19:40 |
ddaa | I see, it's the sort of problem I feared. | 19:42 |
ddaa | I'll look deeper, but if it's what I expect, it's fixable. | 19:43 |
ddaa | (fixable in svn2bzr) | 19:43 |
*** thisfred has quit IRC | 19:44 | |
ddaa | the text conflicts are still going to happen unless we introduce some heuristics to guess past merges. But even without the heuristics, it would be no worse than svn. | 19:45 |
ddaa | with bzr you can specify a merge base, with something like "bzr merge -r 123.." | 19:45 |
ddaa | the file name conflicts, I'll look into fixing | 19:45 |
* ddaa goes back to the kitchen | 19:46 | |
lisppaste5 | ignas annotated #33218 with "And apparently a lot of files are zero sized in lyceum bzr checkout" at http://paste.lisp.org/display/33218#1 | 19:56 |
lisppaste5 | ignas annotated #33218 with "Find shows these cases" at http://paste.lisp.org/display/33218#2 | 20:00 |
ddaa | mh | 20:13 |
ddaa | for the __init__.py, maybe that's normal | 20:13 |
ddaa | for GPL.txt that's definitely wrong | 20:14 |
ignas | i know, the svn checkout works fine and only has __init__.py's | 20:15 |
ddaa | okay | 20:15 |
ignas | but in bzr checkout some files were zeroed... | 20:15 |
ddaa | I see. | 20:15 |
ddaa | the zeroed files... it's weird | 20:18 |
ignas | maybe because of copying ?http://source.schooltool.org/trac/log/trunk/schooltool/src/schooltool/securitypolicy/browser/templates/access_control.pt | 20:18 |
ddaa | shouldn't be... but that looks like a likely culprit | 20:19 |
ignas | hmm http://source.schooltool.org/trac/log/trunk/schooltool/src/schooltool/securitypolicy/browser/configure.zcml is not zeroed | 20:20 |
ignas | http://source.schooltool.org/trac/log/trunk/schooltool/src/schooltool/securitypolicy/browser/views.py is | 20:20 |
ignas | and the difference is that zcml was not just added + copied | 20:20 |
ignas | but was rather added + modified + copied | 20:20 |
ignas | GPL.txt - didn't get modified either | 20:21 |
ignas | just copied from one branch to another | 20:21 |
ddaa | I cannot imagine how that could yield this behaviour. | 20:22 |
* ddaa goes to stare at the copy handling code | 20:22 | |
* ignas can see such pattern as most of the code that is "empty" was created on one branch and copied to another | 20:23 | |
ignas | copied as in branched | 20:23 |
ddaa | yeah | 20:23 |
lisppaste5 | ignas annotated #33218 with "not sure if it's a bug but bzr visualise bails out too" at http://paste.lisp.org/display/33218#3 | 20:28 |
ddaa | haha | 20:28 |
ddaa | I think I found somethnig that might explain the copying problem | 20:29 |
* ddaa curses libsvn | 20:29 | |
ddaa | duh | 20:30 |
* ddaa double curses libsvn | 20:31 | |
ddaa | okay, I got a lead on both problems | 20:31 |
ignas | hard to fix ? | 20:31 |
ddaa | if my hunches are right, they are easy to fix | 20:32 |
ddaa | want to know about it? | 20:32 |
ddaa | ignas: what kind of encoding are your guys using? | 20:33 |
ignas | utf-8 | 20:33 |
ddaa | The "invalid token" problem is reminiscent of something that affected bzr-svn as well. | 20:33 |
ddaa | libsvn supposedly gives utf8 for everything. | 20:33 |
ddaa | and bzrlib except utf8 for everything | 20:34 |
ddaa | except libsvn gives utf8 for everything, except when it does not | 20:34 |
ignas | hmm | 20:34 |
ddaa | and bzrlib apparently does not go out of its way to check input validity | 20:34 |
ddaa | everything as in commit messages and authors | 20:34 |
ignas | ouch | 20:35 |
ddaa | so fixing the latter should be a simple matter of trying to roundtrip the commit metadata through a utf8 decode-encode. | 20:35 |
ddaa | and falling back to ascii-decode with replacement of high bit characters | 20:36 |
ignas | i think we might even have ^X^S commited in a commit message because of using a different editor ;) | 20:36 |
ddaa | he | 20:36 |
ddaa | That should be valid utf8 :) | 20:36 |
ddaa | The first one is of the same kind | 20:36 |
ddaa | the low-level libsvn function to get file data is svn_ra_get_file | 20:37 |
ddaa | which puts data in a stream object | 20:37 |
ddaa | though it appears it does not rewind the stream | 20:37 |
ignas | :) | 20:37 |
ddaa | so the caller has to stream.seek(0) to get the data | 20:37 |
ddaa | the code that does file modifications and additions does it | 20:38 |
ddaa | but the code that does recursive directory copies does not | 20:38 |
ddaa | and this browsers/views.py file was added by copying the browsers directory | 20:38 |
* ddaa triple curses libsvn for good measure | 20:39 | |
ignas | yes, this module was developed in a separate branch | 20:39 |
ddaa | not sure how GPL.txt ended up empty | 20:39 |
ddaa | maybe it travelled through a directory copy at some point | 20:39 |
ignas | the trunk -> old_trunk, branch -> trunk | 20:40 |
ddaa | branch copying is treated differently | 20:40 |
ddaa | it's done by bzr branch | 20:40 |
ignas | http://source.schooltool.org/trac/log/trunk/schooltool/GPL.txt?rev=4984 | 20:40 |
ignas | http://source.schooltool.org/trac/changeset/4610 | 20:41 |
ignas | the ckeck in that did the copy | 20:41 |
ddaa | mh... no, that would not exercise this case... | 20:42 |
ddaa | anyway, I'll hack something about those two problems today | 20:42 |
ignas | thank's a lot :) | 20:42 |
ddaa | we'll see if things go better | 20:42 |
ignas | you can even try it out on the repository jinty has linked to i think | 20:43 |
ignas | it's more up to date | 20:43 |
ddaa | for now, I'll just play with the old one | 20:43 |
ddaa | it's already long enough to process for my taste :) | 20:43 |
ignas | indeed | 20:43 |
ddaa | so... the name conflict problem is a bit more complicated to fix, because it involves digging a fair bit into bzrlib stuff I'm not familiar with. | 20:44 |
ddaa | So I'm not sure when I'll be able to tackle it. | 20:45 |
ignas | i see | 20:45 |
ddaa | not hard, but may be a day of work | 20:45 |
ignas | quite a lot especially if one is busy | 20:45 |
ddaa | well... if I'm at work, making you happy is one of my top priorities | 20:46 |
ddaa | the problem is more that I'm on leave next week and second week of Jan, as I mentioned before. | 20:46 |
mgedmin | ignas: a perfect opportunity to brandish your amazon wishlist ;-) | 20:46 |
ignas | :D | 20:47 |
ddaa | not sure I'll be able to expense it, but maybe SteveA can use some leverage :) | 20:47 |
*** Aiste has joined #schooltool | 20:53 | |
ddaa | mh | 21:02 |
ddaa | I just realised that the code probably ignores all keyword and filename expansion. | 21:02 |
ddaa | hu, I mean keyword expansion and line ending conversion | 21:03 |
ddaa | is this a problem? | 21:03 |
mgedmin | I don't think that will be a problem | 21:15 |
mgedmin | (assuming that no \r characters suddenly appear in our .py files) | 21:15 |
*** Aiste has quit IRC | 21:18 | |
ddaa | actually, sorry | 21:21 |
ddaa | it seems that problem is not with libsvn not giving utf8 | 21:21 |
ddaa | but with bzrlib not escaping control characters before stuffing them in xml | 21:21 |
ddaa | ignas: so you were right, the ^X^S thing was probably the culprit | 21:22 |
ignas | i guess some of such things should be used as svn-bzr test cases as well | 21:27 |
ddaa | yes, it's where I'm copying the code from :) | 21:27 |
ddaa | I actually was the first one to complain about those bad revisions because they cause errors in the launchpad mirroring system. | 21:28 |
* ddaa takes one curse from libsvn and gives it to bzrlib | 21:28 | |
ignas | :) | 21:31 |
* ddaa kicks svn2bzr again | 21:41 | |
ignas | ./.bzr/repository/knits/60/evolve20.py-20061222142425-i215k1g7p7vbn5z1-25419.knit vs ./.bzr/repository/knits/5b/evolve20.py-20061222142425-i215k1g7p7vbn5z1-25423.knit - is the 5 digit number a file id ? | 21:41 |
ddaa | hu | 21:42 |
ddaa | I think the whole thing before the .knit is the file id | 21:42 |
ignas | oh | 21:43 |
ignas | ahh | 21:43 |
ddaa | something like "file name when first added"-"date when added"-"randomness"-"no clue" | 21:44 |
ddaa | maybe the "no clue" thing is some serial number used to avoid having producing too much randomness when adding many files | 21:45 |
ddaa | s/producing/to produce/ | 21:45 |
* ddaa vaguely recalls this being discussed a long time ago | 21:45 | |
ignas | hmm, i see | 21:46 |
ddaa | you can see the file-id for a file with "bzr inventory --show-ids FILE" | 21:52 |
*** ignas has quit IRC | 22:20 | |
*** mgedmin has quit IRC | 22:36 | |
*** alga has quit IRC | 22:48 | |
*** didymo has quit IRC | 23:22 | |
*** vidasp has quit IRC | 23:30 | |
*** jinty has quit IRC | 23:47 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!