Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » Ideas for an SVN addition to theide
Ideas for an SVN addition to theide [message #16081] Tue, 27 May 2008 11:25 Go to next message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
I'm coding on those days a class encapsulating SVN behaviour.
It should be able (when finished) to do by code all SVN command do, so checking out code, committing it, updatin, diff versions and so.
Next step would be to try an integration in theide, and I was thinking about the way on how to do it.
My idea is the following :

1) bring to user some directory trees corresponding to nests in current project's assembly.

2) give the ability to connect them (individually) to svn repositories. I mean, if we have following nest :
/.../MyApps;/.../uppsrc

and MyApps contains :
/...MyApps/App1/
/...MyApps/App2/

we could give user the ability to connect to svn repo all MyApps nest or just MyApps/App1, for example. Or even just uppsrc if user don't need svn on his apps.

Connection would mean merging current user's nest with SVN repo one. From then, user's nest will stay connected to svn repo until manually disconnected.

3) On each svn connected nest, bring a contextual menu with all relevant svn commands, so the ability to check wether files are modified locally or on repo, visually diff them with repo or diff different version on repo, patch them and/or bring back previous file's versions.

4) give users the ability to re-export nests as normal (non svn) trees or even detach them from svn repository, and maybe to pack them on tar/zip files for deploying, or even (with some more work...) to build installable packages from them.

Help and suggestions welcome ! Smile

Ciao

Max
Re: Ideas for an SVN addition to theide [message #16084 is a reply to message #16081] Tue, 27 May 2008 13:18 Go to previous messageGo to next message
cocob is currently offline  cocob
Messages: 156
Registered: January 2008
Experienced Member
I can't give on opinion because for me it is not the ide's role to manage SVN.

I think this functionality will not be complete like smartSVN or command line svn tools can be.

How about creating branchs/tags, merging branchs, add non upp files, rename/move directories ?

Sorry it is not the most important feature to implement in TheIDE for me. But if it can be useful for others : good courage !
Re: Ideas for an SVN addition to theide [message #16095 is a reply to message #16084] Tue, 27 May 2008 20:39 Go to previous messageGo to next message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
cocob wrote on Tue, 27 May 2008 13:18

I can't give on opinion because for me it is not the ide's role to manage SVN.


why not ? I don't see the point of coding inside theide, close it (because if you don't do so, you'll surely get some modified files overwrote by it because of autosave...), launch an external svn gui (or use a command line tool), maybe launch some gui diff/merge app id needed, restart theide... where's the advantage ?

Quote:


I think this functionality will not be complete like smartSVN or command line svn tools can be.


That depends only on how much of svn features are brought inside theide. I don't know smartsvn, but I tried tortoisesvn. Fancy app, but what you do with svn 99% of time ? commits and updates.

Quote:


How about creating branchs/tags, merging branchs, add non upp files, rename/move directories ?


all that stuffs could be managed easily inside theide. I mean to start *simple*, then extend it if people finds it useful.

Quote:


Sorry it is not the most important feature to implement in TheIDE for me. But if it can be useful for others : good courage !

Well, the most important stuff surely not... but this is very subjective. For my point of view, the most annoyng stuffs by now are the poor debugger and the lack of documentation. But I place at third place a good embedded versioning system. I'm not a fan of "all gui apps", I usually use svn on command line and MELD as diff gui (yes, that one IS good!), but I'd find far more comfortable to do all that inside theide.

Ciao

Max
Re: Ideas for an SVN addition to theide [message #16097 is a reply to message #16095] Tue, 27 May 2008 23:03 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1092
Registered: August 2007
Senior Contributor
Quote:


I'm coding on those days a class encapsulating SVN behaviour.
It should be able (when finished) to do by code all SVN command do, so checking out code, committing it, updatin, diff versions and so.
Next step would be to try an integration in theide, and I was thinking about the way on how to do it.



I think it would be great have some SVN functionality on TheIDE. Although I am happy with tortoise on Win32, IMHO a cross-platform (assuming that you are going to use standard U++ code) SVN which comes with the development enviroment itself by default will make theIDE more complete and desirable.

Quote:


That depends only on how much of svn features are brought inside theide. I don't know smartsvn, but I tried tortoisesvn. Fancy app, but what you do with svn 99% of time ? commits and updates.



I agree, tortoise have a hell lot of functions that I didn't ever use. The basic functionality will be sufficient for the crucial operations. And I don't think that the hardest part will be theIDE integration. As far as I know the structure of theIDE source code, It should be relatively easy. The harder part will be -- probably -- the SVN class code. What is your road map anyway?

Also, Imho, this SVN++ or whatever you name it Wink should be able to download the updated standard U++ SVN source code without confusing the the U++ newbie (of course after a confirmation prompt) with "one click" button and have a switch on TheIDE settings panel. Honestly, this type of source code update is something I would like to see on an IDE which depends on a custom class kit (and AFAIK, something they all lack about).


[Updated on: Tue, 27 May 2008 23:16]

Report message to a moderator

Re: Ideas for an SVN addition to theide [message #16100 is a reply to message #16097] Tue, 27 May 2008 23:55 Go to previous message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
Oblivion wrote on Tue, 27 May 2008 23:03



I agree, tortoise have a hell lot of functions that I didn't ever use. The basic functionality will be sufficient for the crucial operations. And I don't think that the hardest part will be theIDE integration. As far as I know the structure of theIDE source code, It should be relatively easy. The harder part will be -- probably -- the SVN class code. What is your road map anyway?


Well... I already wrote the skeleton and tested some functionality.
I'm NOT using svnlib, on linux it would be quite easy (besides having to learn it...), just an 'apt-get install svnlib' and that's all done. On windows, I've seen quite a lot of dll, and I don't want to loose time on it. Also making it as a plugin would be quite time consuming. So, I'm simply running SVN executable (see class SysExec on Bazaar) which, by luck, has as an option a very comfortable XML output. So, just exec svn(.exe), (done), gather its xml output (done for 2 commands, quite easy) and report to user. SVN command line is available also for windows and could be even deployed with theide installer. On linux is a standard command.
My class by now can do a checkout, an update and the commit stuffs are about ready.
Adding new commands is really easy, just few codelines on svn launcher.

Quote:


Also, Imho, this SVN++ or whatever you name it Wink should be able to download the updated standard U++ SVN source code without confusing the the U++ newbie (of course after a confirmation prompt) with "one click" button and have a switch on TheIDE settings panel.


I think that will be the "hard" part of all app. When you want to sync for the first time with svn, you've got an UPP folder (without svn inside) and the remote repo. App should be able to merge the user folder (in case he changed it..) with svn repo. That's done just once, first time the repository is connected.
I could ask user to choose between just wipe local copy and fetch svn or try to merge local copy with svn... I'm not too sure about it. Maybe just backup user nest, wipe it, fetch from svn and then overwrite fetched one with user one... so user will have svn repo plus its last changes kept.
After first sync, upp (and user) nests will behave like an ordinary svn ones, so you can change files, commit, revert, merge and so on. Adding, removing and renaming files will have to be synced from upp to svn, but that's easy task too.
If user don't like svn anymore, just another click and he can wipe all svn data and have a 'clean' nest.

I see as the 'difficult' part of all that a good ide integration, not the svn class Smile

About using 'svn.exe' (which is simple), that don't block us to migrate in future to svnlib as a plugin, my svn class encapsulates all low-level behaviour, so it'll be just a matter of replacing it, theide integration will be unchanged.

Quote:


Honestly, this type of source code update is something I would like to see on an IDE which depends on a custom class kit (and AFAIK, something they all lack about).



Me too Smile
And that will not be limited to upp sources, you could connect any package you wish with its own svn repository.
Another nice addon would be a visual diff/merge, as MELD does for linux (I don't know an analog app on windows). Maybe taking some code from MELD sources would help....

Ciao

Max
Previous Topic: Recent Ubuntu8.04 troubles confirmed to be the compiler bug
Next Topic: serious mingw bug?
Goto Forum:
  


Current Time: Thu Apr 18 12:44:55 CEST 2024

Total time taken to generate the page: 0.02328 seconds