Использование системы контроля версий SVN (Tortoise SVN)

Форум для поддержки пользователей. User support forum for general help and assistance.

Moderator: STC

User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by Fred »

Can you be more specific about what you want to allow/deny?

I think you don't understand the concept, though. So I'll try to explain here.

With SVN there is ONE repo and it lives on a server, you have access or you do not, people with access can either look and commit, or just look, and people without permission cant even look, depending on the setup.

With Git, everyone has the full repo, everyone can commit, you can't control anyone - and you don't want to. What you can control, is what you pull back from theirs into yours, and what you choose to endorse and promote. Same goes for me with FreeEMS, if some god-like coder comes along and writes better firmware in his git branch, I can't (and shouldn't want to) do anything about it. If people find out, they will use his, not mine, and that is for the best for everyone. It drives me to do better, and gets the users the best thing, naturally/by default.

Given that SECU-3 is FOSS, you should probably share everything (you already are, right?) so then you're only talking about what they can/cant change/modify? If so, you want them to be able to modify anything. You are never forced to take those changes back and distribute them, so you have complete control about what is in your MASTER code base (master only because you invented it) and no control over what others do with their copies. That is as it should be. Does that make sense?

The upshot is that there is nothing stopping people from working on your stuff in a version controlled structured way, AND, when they do, chances are it'll be on github and you'll be able to see what they are doing and learn from it, reject it, pull it back into yours, etc, and all very easily.

The other aspect, is that you would have a git repo per aspect, one for firmware, one for manager, one for docs, etc etc, they would NOT be in one big repo tree like is SO common on SVN. Each gets tagged independently, and so on and so forth. This is also better as it isolates changes between unrelated or potentially unaffected sub areas of your project.

Does that make (more) sense?

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by Fred »

STC, did my post make sense to you? If not, help me clarify. I'd love you to "see the light" and make the move and never look back. It took my friend 3 months to convince me to try it, now I won't use anything else. Likewise it took me 3 months to convince Dave to try it, now he also loves it. You've gotta learn from our mistakes man! Jump in sooner and be happier :-)

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by STC »

Yes, it did. I've decided to accept your proposition. Now I need to think about how to migrate and how to organize new repository. I think to move repositories 1:1 (as is). Also, I must make guys to use new repository.
What do you think, is it acceptable to move only software (boot loader, firmware and SECU-3 manager) for a start? And later we can also move documentation's repository (guys have access only to this one(currently)).
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
alex34
LQFP112 - Up with the play
Posts: 181
Joined: Tue Dec 07, 2010 5:06 pm

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by alex34 »

I think all guys wouldn`t mind :)
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by Fred »

STC, THAT'S FUCKING AWESOME :-)

My advice is to do one first to get used to it. Start with firmware? There is git-svn bridge to do the transfer for you, I can probably do that for you with RO permissions if you like. But you could do it yourself just the same :-)

Do you have branches and tags at all? What is the structure of the repo? Pretty cleanly laid out?

If you need help let me know. You'll keep all history, but it will take some time for the git bridge to suck that history out of shitty old SVN :-)

Fred,
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by STC »

Currently the structure is simple:
-boot loader repository;
-firmware repository;
-manager repository;
-documentation repository.

There are no tags. Currently single branch of firmware is present in one user's folder.

"Documentation" repository contains folders for each user (mine also). Each user publishes his files (alternative firmware, hardware designs etc) in his own folder.
For example http://subversion.assembla.com/svn/secu3doc/Serj_K/
Maybe it is bad idea to mix hardware and software in the same user's folder?
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by Fred »

is there a hardware repository too?

When i said structure, i meant inside each one, like ./src/ ./docs/ etc, i'll check it out now. OK, not much!

http://svn2.assembla.com/svn/secu3app/

I'd recommend you migrate the source to ./src/ BUT only after migrating the lot to git.

http://svn2.assembla.com/svn/secu3bld/

What are the .exe files in there? If they are generated from it, then they should be elsewhere as a download, not part of the repository, and if they are from elsewhere, then you should just link to them. Specifically, what are their licenses?? You can't just throw a binary in like that without saying where it came from and providing reference to sources for it, etc.

http://svn2.assembla.com/svn/secu3man/binaries/

Same goes for these! You should version the binary manager and link to a download spot. (if you buy the domain secu3.ru or something, a simple site can be hosted on my server no problem). The DLL files are likely to be proprietary, you can't just put them in with your FOSS stuff like that, you're probably breaching their licenses.

The manager has a nicer structure though with source in "sources" :-)

Re "documentation" repo: Yes, it's a bad idea to mix them up like that. Also, that structure is completely unnecessary with git, as each user will maintain his own branches of your work as branches, and under his name. If they want to diverge from your design into something different, they can just do that on their fork.

You should publish your hw design in a repo of it's own also.

Again, start with firmware, that is simplest.

For the ones with illegal binary stuff in them, you might want to just start fresh git repos without that dirty history. It depends how much you care about the history. Also, you can get it into git, then tell git to forget the illegal files from all revisions and change history. You should do this at the start before linking anyone to the new setup, though, if you do it.

I hope that helps and isn't too confusing.

How is your spoken English? Maybe we could skype to discuss this? Up to you!

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by STC »

Ok. Lets start from firmware and boot loader for now.
About .exe files in the secu3bld repository. All files except avrasm2.exe and avreal32.exe are mine and licenced under GPL.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by Fred »

Where do those two come from, though?

Also, you can't license a binary as GPL, only source, so if they other two exe files are GPL sourced, then you're breaching your own license by not supplying it :-) (half joke, half serious)

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Использование системы контроля версий SVN (Tortoise SVN)

Post by STC »

First one is atmel's avr assembler from AVR studio's distribution, second one from here http://real.kiev.ua/avreal/
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Post Reply