Jump to content

Home

OJP (Open Jedi Project)


razorace

Recommended Posts

Also consider this:

 

With a locked checkout system, individual users don't nessesarily HAVE to wait till that file is checked back in...

 

You could just go ahead and adjust that file locally anyway - even if it is checked out. Just make sure you mark each of your changes well.

 

Then - when the other user checks back in the file you need, you make sure the file you were working on is backed up somewhere.

Then you check out the file you need, which means getting the latest file from the repository with all the other users changes.

 

Then you merge it manually your end - finding all your changes in your backed up file and putting them into the latest file from the repository.

 

OK - it's more hassle. But at least the repository is SAFE.

 

...put it this way, I'd personally rather go though the kind of hassle mentioned above than have a potentially unsafe repository...

 

 

I know we haven't done the tests yet! But I'm just getting down all the possibilities just in case the tests expose problems with a totally unlocked system...

Link to comment
Share on other sites

  • Replies 243
  • Created
  • Last Reply

Feh. It's going to require COORDINATION. Which is why I say the bulk of your functions should be in external files, for instance, if I made a new file for g_ code, I'd call it g_wu_whatever.c - and I'd have some step by step code pastes for hooking it up to the main codebase. It's the least ugly way to go about it.

 

Every other way, checking, single code-base, etc - they just seem too problematic and klunky. I just want to code.

Link to comment
Share on other sites

Wudan,

 

I totally agree - external files...

...WHERE possible!

 

But many alterations can't be nice and neatly bundled up in seperate files.

 

I certainly see very little of the changes meant for Distribution 1 being able to be kept to seperate files.

Maybe more in Dist. 2 could be neatly packaged up in sep. files, but I seriously doubt ALL will...!

 

If the change requires all sorts of little code changes all over the place, you can't put them in seperate files!

 

So we need some kind of CVS system. I don't think this is in doubt. THe CVS system is meant to give you the co-ordination you mention - that is it's whole point!

 

And it obviously works! No big, complex open source project COULD work if CVS didn't!!

 

 

Were only talking about the specific details of the setup of the CVS system here...

 

Safety of the central resository vs. the convinience of the end user.

Personally, I think the safety of the respoitory should get top priority...

Link to comment
Share on other sites

Wudan, doesn't your idea make it a pain in the ass to put stuff back together? What exactly is wrong with just adding to the regular code, as long as it's neat and well documented?

 

ROP, what exactly do multiple checkouts do? Because I'm not quite getting it. How do you have two people checking out one file, and still get the new code from each person when you merge it? Wouldn't one overwrite the other?

Link to comment
Share on other sites

Multiple checkouts (in Visual SourceSafe) are 'similar' to an unlocked repository, except you still have the concept of checking out.

 

Checking out a file doesn't stop other people checking out that same file, but it means:

 

a. When you check out, you get the latest file from the repository. THis means that the system knows at what point you started altering the file, and what state it was in when it gave it to you.

 

b. When you check the file back in, the system has an exact record of who changed what and when inbetween. So it doesn't need to scan the file your checking in to make sure you have any alterations you should have. It KNOWS straight away whether you need to do a merge - because it knows when you checked out, and if anybody else has checked out AND in since then.

 

At this point it would attempt to do an automatic merge. As long as their are no conflicts, it can handle all this automatically. You only have to start manually merging stuff in if there are conflicts - but this doesnt' actually happen as often as you might think...

 

 

It's probably best not to think of multiple checkouts as checking in and out as you know it (i.e. totally locking out other users) - it's more a system of marking when alterations are made by different users -combined with automatic code merging.

 

It's an unlocked system in the strictist sense, but it's a very safe and organised unlocked system.

I know it works - I've used it pretty much every day for the past 5 years!!

 

But anyway - this is probably irrelavent anyway. Sounds like the CVS system were using doesn't have this 'marking' concept - at least not to the same extent (and SourceSafe obviously isn't free!) - so we have to make do.

 

And who knows - maybe this system CAN accurately work out when things need merging and make sure someone can't just overwrite stuff. We can find this out through some fairly simple tests

 

If this is the case - all is good...

Link to comment
Share on other sites

Subversion looks cool.

 

I don't think it does anything like the 'multiple' checkout stuff I've been talking about (at least I couldn't see anything like that in the description - current or planned...)

 

But it looks like it's an overall improvment on CVS in some areas...

 

I think I've had it lucky using SourceSafe! Seems the free, online stuff is either fully open or fully locked down - no real inbetween...

Link to comment
Share on other sites

Well - don't get me wrong - it has it's problems. Things can start to get unglued when you start branching stuff AS WELL as multiple check-outs! lol - but that's just asking for trouble anyway!

 

At the end of the day, we've had very little trouble with it at our place.

Were certainly not worried about work being over-written in the repository - AND were not restricted to single check-outs...

 

Yeah - CVS will do the job. But if we think it might be likely that we could over-write stuff accidently, I think we should just bite the bullet and lock the repository down. With no 'inbetween' to choose, I think that's the best alternative.

 

...that's just my opinion though.

 

...and we still need to get it set up and do the tests first anyway...

Link to comment
Share on other sites

Correct. I'll look into Asynchrony today. There are some other places similar to SourceForge, but I don't believe they will approve of our project, as they are all true open source. Asynchrony hosts closed source projects, infact there is no approval, it's instant.

Link to comment
Share on other sites

sorry... i've been out of the loop here for some time, but this project sounds like it has a lot going for it. I'd like to assist if possible.

 

It seems to me that if you're going to create an "Open Jedi Project" then it should actually be open, in line with the concepts of Open Source. If it's not really open then it's probably a good idea to call it something else. Additionally it would be necessary to give consideration to the Raven/LA license. However, as wudan mentioned, definitely requires management of the changes, but the changes would be subject to approval, etc.

 

I'm sure you already know this, but with regard to CVS, it's quite a radical change of concepts from VSS. I've been a VSS user/admin for quite a while now, and we're moving to CVS in our organization. The idea is that you don't actually check out files like in VSS... a "check out" in CVS is akin to a Get in VSS, which can be a bit confusing. The merge happens after you work on the file locally.

 

But getting back to the concepts of the project, it sounds like it's going to be a great asset to the mod community.

Link to comment
Share on other sites

Well, I got bad news. After checking out the freepository.com system some more, I don't think it's going to be what we need. Getting direct CVS access in Windows is INSANE. You'd have to install a CYGWIN shell and crap and that is too goddamn complicated. In addition, the webpage system is far too primative to be useable.

 

I'd say our best hope lies with sourceforge since their system can be easily accessed with WinCVS (as far as I know). I know I've seen a JK2 mod on the site so I don't think we'll have a problem getting it there.

 

Or, we could try getting someone to manually host a CVS server for our purposes.

Link to comment
Share on other sites

I've got a message back from ChrisC3P0.

 

He says he can give us hosting. He can't set up the forums until the website is up and running. (That's the policy).

 

So - Emon - you may want to get in touch with Chris directly to sort out the website. Just send him a quick PM I guess.

 

 

recombinant,

 

oooo. Someone who has used a 'normal' CVS system AND VSS. Cool. Maybe you know of a free CVS system appropiate for what were trying to do which has some kind of 'multiple check-out' system - or something equivalent...

(btw - Did my explination of multi checkouts make sense?)

 

About the 'totally' open thing - well - again, I'll go with the majority. Maybe it's even just a case of not calling them 'rules' as much as 'guidelines' - or whatever.

Link to comment
Share on other sites

Bingo! 'normal' CVS does a check to make sure that you don't accidently revert someone else's revision if you haven't updated before committing. I believe that commit will not work (gives an error) if your code isn't 100% up-to-date with the CVS repository.

 

http://www.cvshome.org/docs/manual/cvs-1.11.6/cvs_10.html#SEC83

 

Unfortunately, you need direct access to teh CVS system for this to work (since the program has to store a lot of data locally to do this) and freepository.com's method for direct access is too complicated for our purposes. Hell, I'm not even willing to do it. It involves installing a unix shell and crap. Not worth it. :)

 

We need a repository where we can use winCVS or something that's easy. Since it sounds like we're going to 100% open access, security isn't much of an issue.

Link to comment
Share on other sites

AHA!

 

Yes - 'unreserved' checkouts sounds like the CVS equivelent of the 'multiple' checkout concept I'm used to.

And it looks like it's (reasonably) safe. I'd still be wise to do quick tests, but at least the concept is there...

 

Phew! That's a relief!

 

OK - so now we just need to find a system that isn't a total nightmare to work with...?

Link to comment
Share on other sites

See, I was pretty sure that was the situation. The book I was using was written in tutorial form so it was like impossible to just flip thru and find specific information on the commit system. The 4:00am tired didn't help either. :D

 

Anyway, I'm hoping that sourceforge will accept us. I'm pretty sure WinCVS works with it.

Link to comment
Share on other sites

Yeap - sorry Razor, you were right - it was just a difference of terminology...

 

Reserved and unreserved (CVS)

 

as opposed to

 

single and multiple (VSS).

 

It'd be nice, recombinant, if you could confirm that for us - since you seem to be familiar with both systems. BUt certainly looks like it to me from the stuff Razor has just linked to...

Link to comment
Share on other sites

Originally posted by razorace

Anyway, I'm hoping that sourceforge will accept us. I'm pretty sure WinCVS works with it.

 

Yes... for Windows systems it seems that WinCVS is sort of the standard, and Sourceforge's system evidently works well with WinCVS. It's definitely not a trivial setup, however, and it can be a challenge. I'm still working on it. ;)

 

Honestly, I've only had a little experience with CVS so far, and I'm not the CVS admin at work. However, there are a few people here I can use as resources, since they've used CVS, specifically with Windows as a client.

 

I'm very familiar with multiple checkouts in VSS, and it's a similar concept to CVS - basically more than one person checks out a file and VSS attempts to merge when you're done. If it can't figure it out, you get the esteemed privilege of doing the merge manually. :D

 

But CVS basically lets you work all you want - there is no real checkout per se like VSS ("Hey, I'm working on this file and you can't have it until I'm done!"), but that's the whole different mindset behind CVS. VSS' multiple checkout system is the closest analog.

 

Sorry I couldn't be more help at this point... if I find out more I'll let you know.

 

:D

Link to comment
Share on other sites

Originally posted by Wudan

RECOMBINANT!!! Where've you been?

 

Oh, I've been lurking about.... lots of stuff going on and I had to drop some extracurricular activities to maintain my sanity.

 

BTW, we released the software product I've been working on since last year (remember my month-long disappearance back in March???).

 

...and of course we're now working on version 1.01. ;)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...