|
|
Home » Developing U++ » U++ Developers corner » svn
svn [message #7947] |
Thu, 01 February 2007 17:22 |
mr_ped
Messages: 825 Registered: November 2005 Location: Czech Republic - Praha
|
Experienced Contributor |
|
|
For me the top quality integration of CVS/SVN would be of great value, and some integration of automated tests just as well.
Top quality SVN = for now I think Windows TortoiseSVN is the absolute leader. If you can get at least 1/2 of it's features into IDE, it should be already very mighty SVN tool.
No idea about automated tests, what to use as an example.
About UVS2.. I still think you should have dropped that one ASAP and migrate to SVN. And invest your UVS development time into UPP.
I don't see any major advantage over having custom solution in this case, as many people/enterprises will frown at using such little spread version system. SVN or CVS are rock solid standards widely adopted, having good support for those two may be a killer feature.
[Updated on: Thu, 01 February 2007 17:23] Report message to a moderator
|
|
|
Re: Bit of bussines and money.... [message #7953 is a reply to message #7947] |
Thu, 01 February 2007 18:50 |
|
mirek
Messages: 13980 Registered: November 2005
|
Ultimate Member |
|
|
mr_ped wrote on Thu, 01 February 2007 11:22 |
About UVS2.. I still think you should have dropped that one ASAP and migrate to SVN. And invest your UVS development time into UPP.
I don't see any major advantage over having custom solution in this case, as many people/enterprises will frown at using such little spread version system. SVN or CVS are rock solid standards widely adopted, having good support for those two may be a killer feature.
|
Believe or not, I see SVN migration as inevitable.
OTOH, UVS development time at the moment is close to zero as opposed to migration costs.
In other words, we might keep uvs2 for some more time, but I do not dream about integrating it into TheIDE... (Maybe, and that is the nice idea, we will make good svn/ide integration first and then migrate
Mirek
|
|
|
Re: Bit of bussines and money.... [message #7958 is a reply to message #7947] |
Thu, 01 February 2007 19:04 |
mr_ped
Messages: 825 Registered: November 2005 Location: Czech Republic - Praha
|
Experienced Contributor |
|
|
Check TortoiseSVN features for sure.
It's one of the last software which is making me feel somewhat lost in linux (I migrated to kubuntu 6.10 this winter at home, as I don't see Vista as a viable development platform anymore).
I hate the "extension of explorer" nature of Tortoise, but when I need to do something (something more than just commit modified files, there are some other tools for that) with my SVN repository in work, the Tortoise is the only choice available (except command line svn). Even made me (forced ) to get used to extension of explorer way of work.
Still I would prefer some basic IDE integration at least for update/commit/revert/resolve_conflict/showing_status tasks, maybe some switching between branches, check outs, and keeping projects up to date with those changes. Also adding of new files should be very intuitive and foolproof. Many careless programmers tend to add new files to project and forget them to add into svn. The more aggressively IDE will notify this ("unknown" status on a file which is used by build process during commit), the better.
Branching/Merging/etc... is not needed as often and once I find a linux tortoise equivalent I will not miss those in IDE very much.
But honestly I'm not sure how such good integration should look to get not into path of programmer during programming, yet always ready to be used whenever you need it.
|
|
|
|
Re: Bit of bussines and money.... [message #8077 is a reply to message #7947] |
Tue, 06 February 2007 11:52 |
mr_ped
Messages: 825 Registered: November 2005 Location: Czech Republic - Praha
|
Experienced Contributor |
|
|
"Actually, being the careless programmer, this is one of "migration costs" I mention. There are no problems like this in uvs2. There is only single operation - Sync - that updates both the repository and local tree, commiting and checking all things as needed."
What about local files which are per-developer different and are not part of the project, yet it's handy to have them in projects directory?
BTW ... why I'm so insisting on the SVN official repository for UPP project. (I mean dropping UVS completely)
I think this project can grow faster, if the way how contribution work gets into official upp will be easier.
Having SVN repository with:
- the core source tree modifiable only by core developers
- and a "bazaar" tree where anybody can branch and commit his changes with new features (and trying them out will be as difficult as applying the branch changes on the core tree locally + recompile)
can IMHO boost the speed of community input in terms of new source code and will looks good from some "project success" metrics point of view.
(this is of course just one of possible ways how to allow community to contribute more easily, yet keep the core sources integrity on high level, maybe some different model will be better for upp)
And whenever the core team will feel some feature in bazaar is worth of it, they may merge it back into core or ask somebody to fix something before such merge.
Using such branches even by core members for developing new features may sometimes maybe bring some volunteers to do some piece of code for you and save your time (but I think this one will be not as practical if you are like me, that you like to know every line of code and using others work means reading and evaluating it all which is not much faster than writing it self).
|
|
|
Re: Bit of bussines and money.... [message #8078 is a reply to message #8077] |
Tue, 06 February 2007 12:06 |
|
mirek
Messages: 13980 Registered: November 2005
|
Ultimate Member |
|
|
mr_ped wrote on Tue, 06 February 2007 05:52 | "Actually, being the careless programmer, this is one of "migration costs" I mention. There are no problems like this in uvs2. There is only single operation - Sync - that updates both the repository and local tree, commiting and checking all things as needed."
What about local files which are per-developer different and are not part of the project, yet it's handy to have them in projects directory?
|
There is no such thing in U++. The whole package system/build system and TheIDE are designed to avoid this. You should never put machine specific stuff into package directory.
Quote: |
I think this project can grow faster, if the way how contribution work gets into official upp will be easier.
Having SVN repository with:
- the core source tree modifiable only by core developers
- and a "bazaar" tree where anybody can branch and commit his changes with new features (and trying them out will be as difficult as applying the branch changes on the core tree locally + recompile)
|
That is once again valid argument. Anyway, I think that forum based "bazaar" will be more useful. It is already happening here; the only thing to do is to better organize "bazaar".
Quote: |
Using such branches even by core members for developing new features may sometimes maybe bring some volunteers to do some piece of code for you and save your time (but I think this one will be not as practical if you are like me, that you like to know every line of code and using others work means reading and evaluating it all which is not much faster than writing it self).
|
Yes, but all of this is happening now too. People do contribute to U++, we do apply patches.
Mirek
|
|
|
Re: Bit of bussines and money.... [message #8079 is a reply to message #8078] |
Tue, 06 February 2007 14:04 |
mr_ped
Messages: 825 Registered: November 2005 Location: Czech Republic - Praha
|
Experienced Contributor |
|
|
luzr wrote on Tue, 06 February 2007 12:06 | There is no such thing in U++. The whole package system/build system and TheIDE are designed to avoid this. You should never put machine specific stuff into package directory.
|
There's no such thing in U++, yet I'm hitting it all the time on my own projects. But I admit I can get rid of them if I invest some more time into setup of some tools and development machines. It's more about how much lazy you are, with SVN you can be lazy because you can have unversioned files together with real project files. Than you are paying extra price whenever you forget to add new files into the project (almost never happened to me, but have had luck on coworkers doing it twice a week).
Quote: |
Anyway, I think that forum based "bazaar" will be more useful.
|
I think the opposite. It's sort of subjective feel, but I have my reasons.
Just follow this example, maybe I will be able to show my way of thinking:
I try to patch TheIDE with some new feature, let's say it does affect some considerable amount of files and inner API of TheIDE.
1) forum bazaar:
- I post a comment with patch included.
- Than there is new release of upp which breaks the original patch.
- I download the new upp, extract/install it which will destroy my patched version.
* at this point if anyone wants to check the feature he must download the correct (older) version of upp and apply upon it.
* at this point comparing the two versions of upp sources (current official and patched older) requires the same process.
- I download the patch (or take it from backup).
And merge it (either by hand or with tools) with new release + fix it.
- I repost the patch back to forum.
2) SVN bazaar:
- I branch the ide, and commit my patch.
- new release of upp breaking the patch in original form.
- download/install new upp locally (patch gone)
* at this point if somebody wants to check the feature, he simply does check out the branch with patch, it will automatically checkout with the correct upp (older) sources ready to compile and try.
* comparing sources is question of comparing current "trunk" with that patched branch.
- I either
a) merge the changes from my branch on the official trunk
b) merge the changes from trunk on my branch
+ fix the problems.
- Commit the new upp flavor back on my branch.
IMHO while the difference is probably subtle, I love working with repository more than downloading/merging manually with files and I think it's a tad easier.
As I said, it's mostly subjective and probably personal preference.
Than there's the aspect of development metrics... having anyone committing into SVN would increase the number of developers which can be detected by things like http://www.ohloh.net/projects/4127 giving the project better image.
That's how I feel about the subject, I hope you gained something by using your time to read it .
|
|
|
|
|
|
|
|
Re: Bit of bussines and money.... [message #10567 is a reply to message #7958] |
Mon, 16 July 2007 21:12 |
|
mr_ped wrote on Thu, 01 February 2007 19:04 | Check TortoiseSVN features for sure.
It's one of the last software which is making me feel somewhat lost in linux (I migrated to kubuntu 6.10 this winter at home, as I don't see Vista as a viable development platform anymore).
|
Check KDESvn it is nearly same as tortioise on Win
|
|
|
|
Re: Bit of bussines and money.... [message #10577 is a reply to message #10571] |
Tue, 17 July 2007 12:35 |
|
for most users where they need svn browse, checkout, commit, merge, diff with GUI, kdesvn is enough comfortable.
For me kdesvn & tortoise offer same level of functionality i need.
And both have integration into explorer/konqueror they look for me nearly same.
|
|
|
|
Re: svn [message #11138 is a reply to message #10589] |
Tue, 21 August 2007 23:01 |
nixnixnix
Messages: 415 Registered: February 2007 Location: Kelowna, British Columbia
|
Senior Member |
|
|
Has this moved at all?
I am currently trying to get to grips with SVN but when I put my code into
\MyApps\Project\trunk\
rather than \MyApps\Project\ TheIDE doesnt like it. Nor does it like \MyApps\Project\trunk\Project\ which I thought for a second might be the answer.
I'm a total newb to SVN and I never used CVS. Last time I used a version control system was sourcesafe several years ago.
Trying to work through SVN examples but TheIDE doesn't like what the examples are telling me to do
How do other people work with TheIDE and SVN please?
Nick
[Updated on: Tue, 21 August 2007 23:34] Report message to a moderator
|
|
|
Re: svn [message #11139 is a reply to message #7947] |
Wed, 22 August 2007 01:19 |
mr_ped
Messages: 825 Registered: November 2005 Location: Czech Republic - Praha
|
Experienced Contributor |
|
|
\MyApps\Project\trunk\
is very likely not what you want.
Keep your package in classic
\MyApps\Project\
Then on SVN repository feel free to create
/...anything.../Project/trunk
(and tags and branches and under branches some branch directories, etc...)
Than don't check out whole /...../Project tree from SVN, but only the /..../Project/trunk subtree into the \MyApps\Project\ directory.
So you get rid of the "trunk" in MyApps.
Keep experimenting with SVN on some unimportant data and in testing repository, check the free book about using SVN.
And take your time! It's easy to do checkout, commit and update, but to learn when/why to branch, when to merge, and WHEN to commit, that's lot more complex stuff and it does require some experience and some thinking about how SVN works, and how you can benefit from it.
|
|
|
Goto Forum:
Current Time: Wed May 15 05:36:56 CEST 2024
Total time taken to generate the page: 0.02790 seconds
|
|
|