Voodooprojects

Chameleon => DevTalk => Topic started by: Mozodojo on September 27, 2010, 08:13:20 AM

Title: moving to GIT?
Post by: Mozodojo on September 27, 2010, 08:13:20 AM
I think GIT is more suitable for our business with many branches and devs. I want to see latest Kabyl and Merklort changes, but how? With SVN it's not so simple to move changes from one branch to another or trunc. I found good article about GIT brunching: http://nvie.com/posts/a-successful-git-branching-model/ (http://nvie.com/posts/a-successful-git-branching-model/). Where is more terminal work but I think it's worth it.


Moderator Edit: Discussion about the structure of the DevTalk category has its own thread here (http://forum.voodooprojects.org/index.php/topic,1706.0.html). Let's keep this one for Repo front/back end preferences. Sorry for the temp off-topic guys. 
Title: Re: moving to GIT?
Post by: Mozodojo on September 27, 2010, 12:56:12 PM
I can't to describe clearly, but I think existed chameleon development system is not so effective like it could be. It's like we are not working together but forking trunc and playing with new features. Some good features is going to trunc after, and some very good features are frozen in dev's branches. For example, if I want to integrate latest Kabyl changes into trunc and finish them? it would be not so simple if Kabyl have changed file names or added new files. All the work I need to do manually on my hard drive with previously downloaded trunc sources and kabyl sources with help of diff/merge software. I can't to merge changes historically, commit by commit (and only Kabyl's comits), cos SVN lacks a features.

So, what do you think?
Title: Re: moving to GIT?
Post by: valv on September 27, 2010, 02:05:10 PM
hi mozodojo,

If it has to be done, than better to go with both. Bazaar+SSH+Trac could do the trick. I assume it is unusual, but if needed, I could give a hand.
Why ?
because most of us are maybe too lazy to learn git as long as they are comfortable with svn. Why not if we can keep both. ;)
Title: Re: moving to GIT?
Post by: Kabyl on September 27, 2010, 08:22:24 PM
I agree, working with branches is a pain, bzr seems to focus more on this and on merging, and I do like Trac's interface and features.
Title: Re: moving to GIT?
Post by: Mozodojo on September 28, 2010, 09:58:04 AM
I agree, working with branches is a pain, bzr seems to focus more on this and on merging, and I do like Trac's interface and features.

You made changes into smbios, more clear code etc. I like to see it in trunc. I want to add some improvements. So on with valv, azimutz brunches. How could it be possible? If we do have another "develop" branch and we do cimmit new feateres on it to testing and feature integration into main trunc, it would be great.  If so any dev could add fixes to other dev's work etc. For now it so unclear - I'll add changes into your brunch? But, it's your private branch...

Question: who will add all these useful changes into trunc? It could become buggy and unstable. Need testing. We have only one main brunch. We have so many commiting devs (into their brunches). Completely unclear how to work in this situation...

I want we're all work together.
Title: Re: moving to GIT?
Post by: Kabyl on September 28, 2010, 03:03:39 PM
You made changes into smbios, more clear code etc. I like to see it in trunc. I want to add some improvements. So on with valv, azimutz brunches. How could it be possible? If we do have another "develop" branch and we do cimmit new feateres on it to testing and feature integration into main trunc, it would be great.  If so any dev could add fixes to other dev's work etc. For now it so unclear - I'll add changes into your brunch? But, it's your private branch...

Question: who will add all these useful changes into trunc? It could become buggy and unstable. Need testing. We have only one main brunch. We have so many commiting devs (into their brunches). Completely unclear how to work in this situation...

I want we're all work together.

I understand the issue, and you suggested we should move to git, valv recommends bzr... I'm with whichever works best.

Or, are suggesting that we should have only one repo (trunk) and we should all just commit to it?
Title: Re: moving to GIT?
Post by: Mozodojo on September 28, 2010, 05:44:01 PM
Iam suggesting to create (if it's possible) a folder named [dev] maybe where developers would have possibility to create subfolders for new good features thats will be integrated into trunc next. So we're all could work on the specific feature together. After integration into trunc, subfolder could be deleted. Is it possible with SVN? Is it good idea?

For now developer's branches is like a different linux distros. Some times good new features is going into trunc, some times not. With "featured" branches we're all could decide if the feature is good and going into trunc. if not, we could move this specific branch into [frozen] folder or something like this. Or we could decide from the begining what the new features we want to develop and add into trunc next. So we creating special branches for these features and working on it.
Title: Re: moving to GIT?
Post by: Kabyl on September 30, 2010, 10:12:44 AM
Most of the time, you can't add "new" features without touching the main code, this would be different with modules, though.

Branches are there for a reason, one would have more control over "his" branch, and he could focus on what he's trying to do, more people working on the same branch is distracting for them and they would need to keep up with each other's changes.

So the issue, as I see it, is just in merging from a branch to another, and from several branches to trunk.

Title: Re: moving to GIT?
Post by: Mozodojo on September 30, 2010, 05:04:35 PM
Yes, you're right, manual merging is a problem. How do you do this? Especialy if you need to merge trunc and couple of private branches and not all of their changes :)
Title: Re: moving to GIT?
Post by: Kabyl on October 01, 2010, 05:35:36 PM
I thought that's why you're suggesting "moving the GIT"?
Title: Re: moving to GIT?
Post by: Mozodojo on October 01, 2010, 06:09:59 PM
I don't think it will happen. I can't clearly desribe the problem. I don't know what to suggest to.
Title: Re: moving to GIT?
Post by: valv on October 02, 2010, 12:33:10 AM
In my humble point of view, the forum is a little messed up too: we need a place to share our thoughts.
Maybe  by moving those interesting topics to one section close to "patches" and "repo", just to be seen by other devs, would help us make best decisions (all together). Suggestions are welcome, but sometimes devs need one private place for new and concrete ideas, without interference of any kind (not even valv talking about sub-forums  ???). Then we could introduce an internal voting system (if needed) to decide about the road to take for the upcoming releases.

@mozodojo, I personally appreciate your attempt to help improve things. so please don't give up.

Greetz,
Title: Re: moving to GIT?
Post by: Mozodojo on October 02, 2010, 07:21:47 PM
What all you think if one of admins will create chameleon project on GitHub? Forking current trank and trying to play with it? Also on GIT anyone could fork the project to make its own branch. GUI tool for start: GitX (http://gitx.frim.nl/)

I could create branch, but Iam not an admin. Kabyl, could you?  ;D
Title: Re: moving to GIT?
Post by: zef on October 02, 2010, 11:21:28 PM
Hi guys,

Thanks for the humble reports! ;) I agree that there are more sophisticated tools are available, but I still believe that discussing and organizing is the most important task. There are many examples in this forum where a new idea or bugfix is incorporated into the trunk within a fairly acceptable timeframe.

We already have a dedicated trac fronted for the public chameleon repo (use the same user and extra pass): http://forge.voodooprojects.org/trac/chameleon/ (http://forge.voodooprojects.org/trac/chameleon/)

We can also extend this default trac setup, but in this case I would need valv's help :) We can even configure git here on this server. Let me check how painful it would be...
Title: Re: moving to GIT?
Post by: valv on October 03, 2010, 03:32:58 AM
We can also extend this default trac setup, but in this case I would need valv's help :) We can even configure git here on this server. Let me check how painful it would be...
I 'd be glad to join efforts
Title: Re: moving to GIT?
Post by: Mozodojo on October 03, 2010, 06:15:49 AM
As I know, It's possible to work with SVN via GIT, something like this. But I completely noob related to setting up internet services.
Title: Re: moving to GIT?
Post by: Kabyl on October 03, 2010, 09:32:58 AM
Hi guys,

Thanks for the humble reports! ;) I agree that there are more sophisticated tools are available, but I still believe that discussing and organizing is the most important task. There are many examples in this forum where a new idea or bugfix is incorporated into the trunk within a fairly acceptable timeframe.

We already have a dedicated trac fronted for the public chameleon repo (use the same user and extra pass): http://forge.voodooprojects.org/trac/chameleon/ (http://forge.voodooprojects.org/trac/chameleon/)

We can also extend this default trac setup, but in this case I would need valv's help :) We can even configure git here on this server. Let me check how painful it would be...

If it's possible to have git and bzr (maybe hg too), try them all, and see what's best? I know, it's probably asking you too much :P
Title: Re: moving to GIT?
Post by: valv on October 03, 2010, 11:24:03 AM
we can rely on bzr's implementation to get all 3 (hg, git and svn) in one place.
Title: Re: moving to GIT?
Post by: Mozodojo on October 19, 2010, 09:22:03 PM
I am using git now for HWSensors. It's simple, I am generally using only 3 commands:

cd \path_to_project
git commit -a -m "commit message"
git push

If I've deleted or renamed files, git tracks it automatically. Only if I need to add new unracked files I use "git add -i" and choose files I wish.



Moderator Edit: Discussion about the structure of the DevTalk category has its own thread here (http://forum.voodooprojects.org/index.php/topic,1706.0.html). Let's keep this one for Repo front/back end preferences. Sorry for the temp off-topic guys. 
Title: Re: moving to GIT?
Post by: r007 on January 09, 2011, 10:38:28 AM
*sigh* Sorry for the massive bump. It's been mostly triggered by my current issue -- getting my 5870 to work -- where I find it incredibly hard to keep up with what branch has what features and is based on what other code. This has elevated to a major itch for me right now, so that I feel the need to scratch it in here.

Please allow me to rant madly, after which I shall offer you suggestions. Here goes: *inhale*
FOR CRYING OUT LOUD SWITCH TO A DECENT SOURCE CODE AND ISSUE MANAGEMENT SYSTEM ALREADY!
*pant* Glad I've got that out of the way.

Personally, I've had very good experiences with git, and while the strategy outlined in the first post may be a little strict it's pretty much best practice. :) Of course, I expect bzr or hg to behave nicely as well, but git seems to be all the rage today, so I first got into that. I'm not trying to lull you into thinking git may be the do-all end-all solution to all your problems, but let me tell you about my experience...

I started out in the SVN world. I was happy to set up read/write repositories with Apache and DAV, which gave me TLS transport and authentication pretty much for free. Git... was different. To work really well, git needs SSH access to the central repository (which is still something I like to have, despite git being all about distributed). But after that, there are things like gitosis or gitolite which give you back authorization while only requiring a single shell user on the host box. So there is a little more micro-management involved there.

The command-line is admittedly even more different, but that pretty much only reflects the increased capabilities. Usually, you can start out with a core set of commands (clone, add, commit, rebase, push) that will get the job done, and if you need a certain function, you will most probably find it (point in case: I had edited several files and only wanted to commit part of the changes -- turns out you can do that, "gut add -p" will allow you to select only the hunks you want to commit). You need to, however, stop thinking in terms of revisions, but rather in terms of changesets (patches is pretty much equivalent).

So why would you want to use git? Well:
- Everyone gets the complete history and all branches of the project -- that's your backup strategy covered.
- You can be sure to get out of the repository what you put in -- git revisions are sha1 hashes over the whole tree. If you checkout a revision, it's pretty much guaranteed to be what you expect BIT-BY-BIT.
- Merging is easy, because as I said git thinks in terms of changesets. Unless changesets conflict (which they rarely do), merging functionality from another branch is as easy as specifying the changes you want to have.
- Branching is trivial, it's only an operation on the metadata of the repository. No duplicate files, only the changes are actually stored and evaluated upon checkout.

If you want more info or help, I'd be glad to join in on the effort.

tl;dr -- use git, it's awesome :)
Title: Re: moving to GIT?
Post by: Kabyl on January 09, 2011, 11:20:38 AM
Hey r007,

Thanks for sharing your experience with us.

As much as I want some of this happening, I don't have enough access to do it. If you read the posts above, we've asked zef and we're waiting, he's a very busy person, and he has probably forgotten about this, already.

zef? :)

Title: Re: moving to GIT?
Post by: r007 on January 10, 2011, 12:53:18 AM
Hey Kabyl,

I figured as much after reading the thread, which is also why I bumped it again. :)
Meanwhile I have at least solved my problem (running your branch now), thanks to a pretty solid checkout of the chameleon repos with git-svn, which gave me at least some overview. It should be pretty straightforward to move to such a git-ized version of the chameleon repository.

zef? :D

€dit: I'm also willing to help with configuring the trac if that's what's needed -- which should also be public but that's another discussion entirely.

PS: it'd be so much easier for random people to contribute, too. They just "git format-patch" and the devs "git am" stuff they like... And that's not even speaking of things like a mob branch (http://repo.or.cz/h/mob.html).
Title: Re: moving to GIT?
Post by: zef on January 11, 2011, 12:22:13 PM
Guys, I'm so sorry about being away.

Thanks for offering your help, we would need it :)
I have only a few exams left to finish on this week.
How about a next monday (17th) starting?

Bye,
zef
Title: Re: moving to GIT?
Post by: valv on January 11, 2011, 08:36:46 PM
@zef,
take your time ;)
and good luck for the exams
Title: Re: moving to GIT?
Post by: r007 on January 13, 2011, 02:25:25 PM
I'll be around on #chameleon on irc.voodooprojects.org on Monday then.

Good luck with your exams. :)
Title: Re: moving to GIT?
Post by: Azimutz on January 17, 2011, 09:29:50 AM
Me, i have to subscribe Zef's words..
I agree that there are more sophisticated tools are available, but I still believe that discussing and organizing is the most important task.

Anyway, Track is most welcome! About git or any other version control system, i need to try; my experience is limited to svn and Chameleon repo, so all i can compare is theory. I would prefer a mixed solution, svn and git.. or hg.
Ultimately, any piece of software is only as good as the use we give to it :)
Title: Re: moving to GIT?
Post by: rocksteady on January 18, 2011, 07:46:37 PM
Guys, did you manage to get together on IRC yesterday?
Title: Re: moving to GIT?
Post by: valv on January 18, 2011, 09:02:03 PM
I was; zef ?
well no discussion.
Title: Re: moving to GIT?
Post by: rocksteady on January 18, 2011, 09:10:21 PM
Thanks for confirming valv,

Just wanted to know if I have to catch up with either one or all of you. Looks like we have to re-schedule though.

What about this week guys? Who is available & @what time?
Title: Re: moving to GIT?
Post by: valv on January 19, 2011, 01:20:09 AM
I would be there from 11:00 till 00:00 everyday
till next.
Title: Re: moving to GIT?
Post by: rocksteady on January 19, 2011, 03:30:27 AM
What's your TZ valv?

I'll try to jump on as well when I'm done troubleshooting my VPNs.
Title: Re: moving to GIT?
Post by: valv on January 19, 2011, 10:16:02 AM
CET (central european time). Paris
Title: Re: moving to GIT?
Post by: r007 on January 19, 2011, 04:55:29 PM
I'll try to be on when I'm not preoccupied with something vastly more important as well.

CET (Germany) as well.