From: Jocelyn <ei...@dj...> - 2009-08-14 09:01:31
|
This message is a side note about what Eric said about me, Jocelyn, using git for void-safe version of Gobo. This message has nothing to do with Gobo, and is focused on special usage of git and subversion. So yes, I am using git for void-safe version of Gobo (http://github.com/jocelyn/void-safe-gobo-eiffel/tree/master), but my use of git for this is unusual. I use it to have a double SCM control on gobo's and ise's classes related to Gobo. To be short, I use git AND svn on the same files to be able to local commit on the git repository (hosted on github), and also being able to diff using svn diff on the ise and gobo's svn repository. Indeed, when you svn checkout https://svn.eiffel.com/eiffelstudio/trunk/Src/library/gobo you end up with gobo/many files gobo/override gobo/src gobo/svn and gobo/* are parts of eiffelstudio's svn repository while gobo/svn/* are part of the gobo's svn repository (we use svn:externals for that purpose). And my git repository covers gobo/* AND gobo/svn/* files This can be seens as a little trick, but it is really nice to have local commits, and still be able to diff easily with gobo's subversion repository. However, this is possible, but this is not that convenient when there are big commits on the gobo's trunk. Since there are many conflict to resolve in order to keep synchronized with gobo's trunk@HEAD (probably, I could have used git svn, and git sub modules, but at that time, I was using git for the very first time) -- Jocelyn Jocelyn wrote: > In a previous post, Eric said the git tools for Windows were not very > attractive. > And I agree they are not yet at the same level as TortoiseSVN. > > However, personally I am using on Windows > - msysGit http://code.google.com/p/msysgit/downloads/list > - for the gui ... either git gui, or gitk which come with any git setup > but most often, I use Git Extensions > (http://sourceforge.net/projects/gitextensions/) which is good enough > for my need. > - I tried to use TortoiseGIT (http://code.google.com/p/tortoisegit/) > but I was unable to make it work on my Win XP Pro 64bits (too bad, since > I am a TortoiseSVN user, and I really like it) > > For my usage, the Git Extensions GUI is good enough, and when I need to > do complicated operation (or even simple) I use (very often) git in > command line (as I do with svn) > Indeed git is much more powerful than svn, but it is also more > complicated (in addition the command name are not always very > intuitive), thus I find it often easier to use command line to do > exactly what I want. > Also the branching is great, but you have to get used to it, otherwise > you waste time figuring out how to best deal with it (in final, I learnt > that the best solution is to ALWAYS work on its own branch, and merge > with the master/trunk when ready to commit) > > And at the end, I agree that git on Windows is much slower than git on > linux (especially git svn), but it is ok > > There are other alternative to git, such as mercurial, but I don't > really know them. It seems like git is the most popular (due to linux > repo I guess). > I heard there is a native client for Windows in development, but I don't > know where to find it ... > > Maybe before going for git, Gobo's dev could use git-svn as following > > mkdir gobo.git > > cd gobo.git > Initialize your local repository based on the gobo's subversion repo > > git svn init > https://gobo-eiffel.svn.sourceforge.net/svnroot/gobo-eiffel/gobo/trunk > fetch the commits from revision 6555 (for instance this one which is > the gobo 3.9 release) > note, you can also git clone the entire gobo's repository .. but it is > longer > > git fetch -r6555 > now, get sync with trunk@HEAD > > git svn rebase > > If you want, to do some modification, I would recommend to work on your > own branch (I use my login for that "jfiat") > > git checkout -b jfiat > > Then you can work on your own branch ... as with any git repo, so check > the git tutorials to know how to use git. This includes locally commits > (that's such a great feature, I wish subversion implement it some day). > > And when ever you are ready to commit and "push" to the official gobo's > svn repository, you switch back to the master (which represent the trunk > in subversion) > > git checkout master > Eventually sync with head with: git svn rebase > > Merge the changes from your branch > > git merge --squash jfiat > The --squash is used to merge your branch to the master .. BUT without > doing any commit, then you can commit your change in only one commit. > I tried without the "--squash", and it re-creates all the commits done > in my branch into the master. This could be useful, if you want to > "replay" your work in the master for history... > > You can then commit your change > > git commit -a -m "Merge jfiat's branch into the master branch > to implement feature X" > > And finally, you push/send your changes to the svn repo > > git svn dcommit > > Check the following links for use cases: > - http://techbase.kde.org/Development/Tutorials/Git > - http://live.gnome.org/GitForGnomeDevelopers > > So this way to do, can be a temporary solution to use git with Gobo. > Then decide with gobo's developers, if git is the right tool for gobo's > repo. > > (Note that using git with real git repositories, is easier and more fun, > but .. git-svn is a solution to try, and even work) > > -- Jocelyn > > Howard Thomson wrote: > > >>> Hi Eric & Wolfgang, >>> >>> I would welcome a move to using Git as the SCM system for Gobo. >>> >>> I see that there is a useful page on wikipedia about git, with >>> reference to Windows implementations: >>> >>> http://en.wikipedia.org/wiki/Git_(software)#Implementation >>> >>> There is also an excellent website detailing how to use git ... >>> >>> http://progit.org/ >>> >>> <snip>....</snip> >>> >>> I think using Git would assist in cooperation between myself and other >>> gobo-eiffel contributors and developers. >>> >>> Regards, >>> >>> Howard Thomson >>> >>> >> >> > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > gobo-eiffel-develop mailing list > gob...@li... > https://lists.sourceforge.net/lists/listinfo/gobo-eiffel-develop > > > |