1

Topic: Recommendations for choice hierarchies of projects and structure VCS

There are many various projects from big to the small. There can be one , and can be in addition and more than ten dll ( - projects). Dll can be specific to the project, and can be and the general. There is enough of clients at which can be from one to several projects, and the standard project can be  for requirements of this client. Lifetime of projects can be and more than 10 years. Projects "are often completed" at clients, well type to write down the data on the server of the client. Projects are fastened with the equipment so  all in firm generally can be impossible.  it is necessary to know precisely at whom what version it is installed, as sometimes it is necessary or to correct a specific error or what to add. Candidate solutions (only some, improper) 1. We get a repository on the project where all code is thrown off, with daddies on clients where in the daddy there can be "branch" of the client. The master code is marked by a label of release for the client. For SVN and projects from one  it is convenient enough. But as soon as there are general subprojects it is necessary to double or take away all the data from several repositories. 2. We get the general repository on all projects and it is scattered all on the daddy as well as in a variant 1. There is a control possibility the general sub-projects which however "kills" versions of clients. An example: in January project 1, with subprojects 1 and 2 is given, in May project 1, with changed versions 1 and 2 is given, in September changes for 1 are required, and it is not compiled any more with  versions 1 and 2 or there is a probability of appearance of new errors specific only for 1 in connection with changes 1 and 2. Well and for remote SVN access (the Internet often happens is accessible only through a mobile phone) the big repository simply not  even if simply structure to look. Though problems SVN can be solved GIT th (only like in studio 2013 access types what that do not suffice to it) Well and for the general  not clearly for which subprojects it is necessary to do a label/branch for the specific client/project. While the initial way sees in creation of the general repository, trunks/labels/branches on each project and with a trunk/labels/branches on the general subprojects.

2

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, AlexNek, you wrote: AN> There are many various projects from big to the small. Soup at you certainly test. But I would dig here where. In the first to get a repository  (nuget, maven etc.) to Break all into components. The component has the release a cycle and , with  components it is already necessary to be defined in a place. In this case the project depends not on the code, and from collected  which do not exchange. In this case the repository structure is not important. Extorted the code, downloaded necessary  and we compile. On idea, the minor version of a component should be backward-compatible with the code which uses it, the major version (major) to this rule does not submit, i.e. can break, and can and is not present. It seems to me that the release of the minor version is any bug a fix, the major version - a feature. To know that all is compiled, at change of the minor version it is possible  all dependent projects.

3

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, diez_p, you wrote: _> Hello, AlexNek, you wrote: AN>> There are many various projects from big to the small. _> soup at you certainly test. If only this one problem was _> But I would dig here where. _> In the first to get a repository  (nuget, maven etc.) DLL I too thought of usage, differently it does not turn out in any way. But following problems turn out: - how to reach to a repository from the outside? When, for example, from  generally figs where you will quit. Well and the sizes for downloading. - how to receive source codes to given ? There arrived, let us assume, the programmer to the customer - problems. With presence of source codes it is possible though break point normally to deliver and if code acquaintance then and to correct. Operations can on half an hour And so it is necessary to ring on firm, to try to explain a problem who that should try to play back a situation, to rectify an error, to update a repository and as that to transfer DLL-ku back and can and not one. Here day can be necessary. And the situation can to be played back simply "house", and without the device. _> to break all into components. It is the task on a year. There are projects which began still without. and developed set of various people. There such pearls come across _> the Component has the release a cycle and , with  components it is already necessary to be defined in a place. And what to do with ? How to combine the version  with a dial-up of components? To include in a component name its version? Then the assembly server is necessary. _> in this case the project depends not on the code, and from collected  which do not exchange. In this case the repository structure is not important. Extorted the code, downloaded necessary  and it is compiled.  then two  to do. One for development with the source codes, the second only with . _> On idea, the minor version of a component should be backward-compatible with the code which uses it, the major version (major) to this rule does not submit, i.e. can break, and can and is not present. It seems to me that the release of the minor version is any bug a fix, the major version - a feature. _> to know that all is compiled, at change of the minor version it is possible  all dependent projects. To put means CI and   - projects at night. As a whole probably to solve it does not turn out. It is necessary to break probably into pieces and to solve in parts. Well here at least SVN or GIT. Like all speaks well GIT but as there  number  yet did not find the automatic machine. That is problems  continually...

4

Re: Recommendations for choice hierarchies of projects and structure VCS

AN> - how to reach to a repository from the outside? When, for example, from  generally figs where you will quit. Well and the sizes for downloading. Here probably it is possible to solve only  + remarks. I.e. for  the server to which there is an access both from  and from . AN> - how to receive source codes to given ? There arrived, let us assume, the programmer to the customer - problems. With presence of source codes it is possible though break point normally to deliver and if code acquaintance then and to correct. Operations can on half an hour. Into the account of components and  such problem is. But "on good" there should be a possibility to collect both with dll and with source codes. Probably here something will manage to be automated, but . Type there is a dependence, exposed somewhere a flag, the necessary code was extorted and all was picked up to . But, it is important that the code was swung with  a tag. For example version 1.1 component means also the code is swung from a tag 1.1, but not from the master/trunk. AN> and what to do with ? How to combine the version  with a dial-up of components? To include in a component name its version? Then the assembly server is necessary. At  there should be a version. Under this version we go in  a branch/TAG and we look from what it depends. AN> Prijdetsja then two  to do. One for development with the source codes, the second only with . Told hardly above, it is possible to try to automate, but  . But in a forehead with two  drives. AN> to put means CI and   - projects at night. Certainly, without it generally in any way. AN> As a whole probably to solve it does not turn out. It is necessary to break probably into pieces and to solve in parts. Couples as you describe development process simply . AN> Well here at least SVN or GIT. Like all speaks well GIT but as there  number  yet did not find the automatic machine. That is problems  continually... You should have  a branch,  from the master - horror. In your case GIT yes,  is not present.  with great volumes of the data and it arrange quickly works, just that is necessary. The first seems to me from what it is necessary to begin, it to start to beat on components that is often used. And  each component separately. At a component the repository the  branches and tags. Then it is possible to adjust  projects not on the master, and on  tags.

5

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, diez_p, you wrote: AN>> - how to reach to a repository from the outside? When, for example, from  generally figs where you will quit. Well and the sizes for downloading. _> i.e. for  the server to which there is an access both from  and from . That then at all I do not catch up. The maximum that can be made so it to allocate the new server in firm, and to have the exterior server any administrator does not allow. And with  it is completely not simple, the people almost anywhere cannot walk,  and the visitor also. _> Under this version we go in  a branch/TAG and we look from what it depends. Handwork in any way is unacceptable, and it is better not to do at all any . But  in a tag to hold and  AN>> Prijdetsja then two  to do. One for development with the source codes, the second only with . _> Told hardly above, it is possible to try to automate, but  . But in a forehead with two  drives. On automation there are no ideas. AN>> to Put means CI and   - projects at night. _> it is finite, without it generally in any way. Not , it is necessary to buy CI, with free I already as that . And still to write and update scripts for it. And money and especially time nobody gives. AN>> as a whole probably to solve it does not turn out. It is necessary to break probably into pieces and to solve in parts. _> couples as you describe development process simply . Well as it turns out you will write generally anybody will not read too much. And it was simple save/paste from  AN>> Well here at least SVN or GIT. Like all speaks well GIT but as there  number  yet did not find the automatic machine. That is problems  continually... _> you should have  a branch,  from the master - horror. In your case GIT yes,  is not present.  with great volumes of the data and it arrange quickly works, just that is necessary. With Gitom did not work still never only read, but to pull down number from Svn it is possible, and its Git simply has no owing to distribution. Well I here made release before a trip of the person. So now from it there were only some components. The server the customer implemented that not under the specification it is necessary to make driving not from right to left, and on the contrary... In general much that is clarified at the first running in the whole system. In purely software firm all absolutely differently. The release quitted and wait for the Lord of the following. And when operation under the individual order, absolutely another. The ordered system should work and happiness when it works independently. Well and time always just barely enough on adjustment. _> the first seems to me from what it is necessary to begin, it to start to beat on components that is often used. And  each component separately. At a component the repository the  branches and tags. So the axe bought for a long time already, but it is not visible to wood the end edge. So it is necessary also old system as that to integrate. Otherwise generally anybody anywhere does not pass. _> then it is possible to adjust  projects not on the master, and on  tags. And how that then to rebuild all on new release? Pens it is not necessary.

6

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, AlexNek, you wrote: AN> That then at all I do not catch up. The maximum that can be made so it to allocate the new server in firm, and to have the exterior server any administrator does not allow. AN> and with  it is completely not simple, the people almost anywhere cannot walk,  and the visitor also. And what at you for data domain?  likely any company does not hold the server at office, all  in , access protection implement on everyone. _>> under this version we go in  a branch/TAG and we look from what it depends. AN> handwork in any way is unacceptable, and it is better not to do at all any . But  in a tag to hold and .  it is exact  a component, simply it is an executed file. Build process just the same as well as at any other component. The component has a list of dependences. At the assembly downloaded  from a repository,   with the version and all. AN>>> Prijdetsja then two  to do. One for development with the source codes, the second only with . _>> Told hardly above, it is possible to try to automate, but  . But in a forehead with two  drives. AN> on automation there are no ideas. Then hands, it undergoes. AN>>> to put means CI and   - projects at night. _>> it is finite, without it generally in any way. AN> not , it is necessary to buy CI, with free I already as that . And still to write and update scripts for it. And money and especially time nobody gives. Here I at all do not know what to tell. At such zoo not to have the server of the assembly and a repository of versions - a tin. The manual should understand that there are such scales when without some  it is simply impossible to manage also implicit losses will be more, rather than than explicit expenses. AN>>> as a whole probably to solve it does not turn out. It is necessary to break probably into pieces and to solve in parts. _>> couples as you describe development process simply . AN> Well as it turns out you will write generally anybody will not read too much. And it was simple save/paste from  It it is not necessary to write, it is necessary to do it simply. AN> with Gitom did not work still never only read, but to pull down number from Svn it is possible, and its Git simply has no owing to distribution. To drag  only for the sake of open numbering - it is not far-sighted. There is a master, from it made release , about release  the tag, a tag and is the version. Numbering can be made somehow. AN> well I here made release before a trip of the person. So now from it there were only some components. The server the customer implemented that not under the specification it is necessary to make driving not from right to left, and on the contrary... In general much that is clarified at the first running in the whole system. In purely software firm all absolutely differently. The release quitted and wait for the Lord of the following. And when operation under the individual order, absolutely another. Did not understand, it is possible on more in detail?  as understood, the release is concept conditional. Nobody hinders, to make a branch from  (any component),  there all that is necessary, and then to make back  in the master. _>> then it is possible to adjust  projects not on the master, and on  tags. AN> and how that then to rebuild all on new release? Pens it is not necessary. Then you are returned to a problem that new change, breaks an old product. As a variant it is possible to take always the last version if does not gather we take previous, but it too looks . You can  to me in , I am real with pleasure I will look that at you and as.

7

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, AlexNek, you wrote: AN> 2. We get the general repository on all projects and it is scattered all on the daddy as well as in a variant 1. AN> there is a control possibility the general sub-projects which however "kills" versions of clients. An example: in January project 1, with subprojects 1 and 2 is given, in May project 1, with changed versions 1 and 2 is given, in September changes for 1 are required, and it is not compiled any more with  versions 1 and 2 or there is a probability of appearance of new errors specific only for 1 in connection with changes 1 and 2. In SVN it becomes elementarily through svn:externals on the fixed version in other project. RTFM: https://tortoisesvn.net/docs/release/To … rnals.html AN> well and for remote SVN access (the Internet often happens is accessible only through a mobile phone) the big repository simply not  even if simply structure to look. Though problems SVN can be solved GIT th (only like in studio 2013 access types what that do not suffice to it) AN> Well and for the general  not clearly for which subprojects it is necessary to do a label/branch for the specific client/project. AN> while the initial way sees in creation of the general repository, trunks/labels/branches on each project and with a trunk/labels/branches on the general subprojects. GIT. Because of possibility to have all code (with all history) completely an offline to edit it "at the customer", and on arrival home to merge changes (with history) in "a house" repository. 2013 studio quite normally works  GIT, both local, and network. Migration SVN-> GIT from a box.

8

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, diez_p, you wrote: _> Hello, AlexNek, you wrote: AN>> That then at all I do not catch up. The maximum that can be made so it to allocate the new server in firm, and to have the exterior server any administrator does not allow. AN>> and with  it is completely not simple, the people almost anywhere cannot walk,  and the visitor also. _> And what at you for data domain?  likely any company does not hold the server at office, all  in , access protection implement on everyone.  in . _>>> Under this version we go in  a branch/TAG and we look from what it depends. AN>> handwork in any way is unacceptable, and it is better not to do at all any . But  in a tag to hold and . _> Ekzeshnik it is exact  a component, simply it is an executed file. Build process just the same as well as at any other component. _> the component has a list of dependences. At the assembly downloaded  from a repository,   with the version and all. How to download the automatic machine necessary ? AN>>>> Prijdetsja then two  to do. One for development with the source codes, the second only with . _>>> Told hardly above, it is possible to try to automate, but  . But in a forehead with two  drives. AN>> on automation there are no ideas. _> then hands, it undergoes. Hands in any way it is impossible, an additional source of errors and time. AN>>>> to put means CI and   - projects at night. _>>> it is finite, without it generally in any way. AN>> not , it is necessary to buy CI, with free I already as that . And still to write and update scripts for it. And money and especially time nobody gives. _> here I at all do not know what to tell. At such zoo not to have the server of the assembly and a repository of versions - a tin. The manual should understand that there are such scales when without some  it is simply impossible to manage also implicit losses will be more, rather than than explicit expenses. What for  projects which "are not necessary". As soon as the project is accepted by the customer, it gets to archive and all operations on it stop. If the error is found out or new plugins all the same are necessary "the accepted version" should undertake. And if money still as can be "beaten out" that, extra time it is simple at anybody is not present. AN>>>> As a whole probably to solve it does not turn out. It is necessary to break probably into pieces and to solve in parts. _>>> couples as you describe development process simply . AN>> Well as it turns out you will write generally anybody will not read too much. And it was simple save/paste from  _> It it is not necessary to write, it is necessary to do it simply. Here probably we reflect on a miscellaneous. AN>> with Gitom did not work still never only read, but to pull down number from Svn it is possible, and its Git simply has no owing to distribution. _> to drag  only for the sake of open numbering - it is not far-sighted. There is a master, from it made release , about release  the tag, a tag and is the version. Numbering can be made somehow. How this tag to throw the automatic machine in AssemblyInfo and where? A tag as a rule, a line of characters in which it is full of info not necessary to the client. And if it is visible to version 1.0.1.587 and 1.0.1.600 at once it is clear what of them last and so it is necessary to push dates. _>>> then it is possible to adjust  projects not on the master, and on  tags. AN>> and how that then to rebuild all on new release? Pens it is not necessary. _> Then you are returned to a problem that new change, breaks an old product. As a variant it is possible to take always the last version if does not gather we take previous, but it too looks . And the crazy variant, and the worker is necessary not

9

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, bnk, you wrote: bnk> Hello, AlexNek, you wrote: AN>> 2. We get the general repository on all projects and it is scattered all on the daddy as well as in a variant 1. AN>> there is a control possibility the general sub-projects which however "kills" versions of clients. An example: in January project 1, with subprojects 1 and 2 is given, in May project 1, with changed versions 1 and 2 is given, in September changes for 1 are required, and it is not compiled any more with  versions 1 and 2 or there is a probability of appearance of new errors specific only for 1 in connection with changes 1 and 2. bnk> In SVN it becomes elementarily through svn:externals on the fixed version in other project. bnk> RTFM: https://tortoisesvn.net/docs/release/To … rnals.html and how similar becomes in Git? And all it looks well theoretically from the big distance. And how it looks practically? Made release, there pieces 15 linguistic data bases, pens we create/is updated? The system should be such that to it any could use  without  preparations. And still I will tell one story, happened absolutely in other place: Department thin who at customers who in holiday, rings the customer and asks to change any trifle - operations for 5 minutes. People under the project are not present. But source codes we find and we download - not  anything. We catch someone from the project - speaks to us that we already made and does not remember that there were what that problems. As a result it appeared that principal made  years back "svn:externals" about which all successfully forgot and for which now it is necessary to change ways and all to save on a certain local disk. AN>> well and for remote SVN access (the Internet often happens is accessible only through a mobile phone) the big repository simply not  even if simply structure to look. Though problems SVN can be solved GIT th (only like in studio 2013 access types what that do not suffice to it) AN>> Well and for the general  not clearly for which subprojects it is necessary to do a label/branch for the specific client/project. AN>> while the initial way sees in creation of the general repository, trunks/labels/branches on each project and with a trunk/labels/branches on the general subprojects. bnk> GIT. Because of possibility to have all code (with all history) completely an offline to edit it "at the customer", and on arrival home to merge changes (with history) in "a house" repository. bnk> 2013 studio quite normally works  GIT, both local, and network. It already for 2015. http://stackoverflow.com/questions/3155 … tudio-2015 bnk> Migration SVN-> GIT from a box. git svn clone? And how about branchej/tags and users? Too is? I simply do not know

10

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, AlexNek, you wrote: bnk>> In SVN it becomes elementarily through svn:externals on the fixed version in other project. bnk>> RTFM: https://tortoisesvn.net/docs/release/To … rnals.html AN> and how similar becomes in Git? AN> And all it looks well theoretically from the big distance. And how it looks practically? Made release, there pieces 15 linguistic data bases, pens we create/is updated? The system should be such that to it any could use  without  preparations. And still I will tell one story, happened absolutely in other place: AN> Department thin who at customers who in holiday, rings the customer and asks to change any trifle - operations for 5 minutes. People under the project are not present. But source codes we find and we download - not  anything. We catch someone from the project - speaks to us that we already made and does not remember that there were what that problems. As a result it appeared that principal made  years back "svn:externals" about which all successfully forgot and for which now it is necessary to change ways and all to save on a certain local disk. Yes, hands... Made project release - registered svn:externals on the necessary version of library. If the library develops further, for this project that version of library which was at release will undertake. If it is necessary new besides hands svn:externals changes on the necessary. It is possible to make a script "release.bat" by which it will do. svn:externals becomes on a folder of a repository, dependence on a local disk/way should not be. And how it to do automatically? I.e. the system does not know, what version of library is necessary to application. AN>>> well and for remote SVN access (the Internet often happens is accessible only through a mobile phone) the big repository simply not  even if simply structure to look. Though problems SVN can be solved GIT th (only like in studio 2013 access types what that do not suffice to it) AN>>> Well and for the general  not clearly for which subprojects it is necessary to do a label/branch for the specific client/project. AN>>> while the initial way sees in creation of the general repository, trunks/labels/branches on each project and with a trunk/labels/branches on the general subprojects. bnk>> GIT. Because of possibility to have all code (with all history) completely an offline to edit it "at the customer", and on arrival home to merge changes (with history) in "a house" repository. bnk>> 2013 studio quite normally works  GIT, both local, and network. AN> it already for 2015. AN> http://stackoverflow.com/questions/3155 … tudio-2015 And what for to you ssh? (It not the same that https) https works (always worked). I.e. connection and so it is safe. The same github for example recommends https, instead of ssh. To you it is precisely necessary  with certificates? bnk>> migration SVN-> GIT from a box. AN> git svn clone? AN> And how about branchej/tags and users? Too is? I simply do not know submodule for functionality of type svn:externals. Branchi/tags/users are by itself.

11

Re: Recommendations for choice hierarchies of projects and structure VCS

Hello, bnk, you wrote: bnk> Hello, AlexNek, you wrote: bnk>>> In SVN it becomes elementarily through svn:externals on the fixed version in other project. bnk>>> RTFM: https://tortoisesvn.net/docs/release/To … rnals.html AN>> and how similar becomes in Git? AN>> And all it looks well theoretically from the big distance. And how it looks practically? Made release, there pieces 15 linguistic data bases, pens we create/is updated? The system should be such that to it any could use  without  preparations. And still I will tell one story, happened absolutely in other place: AN>> Department thin who at customers who in holiday, rings the customer and asks to change any trifle - operations for 5 minutes. People under the project are not present. But source codes we find and we download - not  anything. We catch someone from the project - speaks to us that we already made and does not remember that there were what that problems. As a result it appeared that principal made  years back "svn:externals" about which all successfully forgot and for which now it is necessary to change ways and all to save on a certain local disk. bnk> yes, hands... Made project release - registered svn:externals on the necessary version of library. If the library develops further, for this project that version of library which was at release will undertake. If it is necessary new besides hands svn:externals changes on the necessary. It is possible to make a script "release.bat" by which it will do. svn:externals becomes on a repository folder, not, hands does not suit in any way. bnk> dependences on a local disk/way should not be. Precisely did not understand, but in "original" was type :/projects/P1, and at us type D:/Projects/Customer/P1 bnk> And how it to do automatically? I.e. the system does not know, what version of library is necessary to application." Automatically "it is possible to do and hands, only of what without thinking. Or it is possible what  to write that. As soon as the project in release, all  are known for this moment, the bin"in"" is simply copied all  from "and we take for the assembly only from"". Under audit number it is possible to find and source codes, or at once to do a copy of source codes in  a branch that truth not to eat well. Only it would not be desirable  to produce everywhere the sea and so it is possible to tell" automatic system ". If that it is necessary to correct, pulled out the last release and forward. Only here with Gitom not absolutely clearly he after all should  create locally a copy of all or it is possible only a part? In  projects with which I can  work never can lie I will not be, and can and generally anybody if the client does not want that. AN>>>> Well and for remote SVN access (the Internet often happens is accessible only through a mobile phone) the big repository simply not  even if simply structure to look. Though problems SVN can be solved GIT th (only like in studio 2013 access types what that do not suffice to it) AN>>>> Well and for the general  not clearly for which subprojects it is necessary to do a label/branch for the specific client/project. AN>>>> while the initial way sees in creation of the general repository, trunks/labels/branches on each project and with a trunk/labels/branches on the general subprojects. bnk>>> GIT. Because of possibility to have all code (with all history) completely an offline to edit it "at the customer", and on arrival home to merge changes (with history) in "a house" repository. bnk>>> 2013 studio quite normally works  GIT, both local, and network. AN>> it already for 2015. AN>> http://stackoverflow.com/questions/3155 … tudio-2015 bnk> And what for to you ssh? (It not the same that https) https works (always worked). bnk> I.e. connection and so it is safe. The same github for example recommends https, instead of ssh. To you it is precisely necessary  with certificates? To me generally that . And here to the server which at me is for experiments, no. For it there is only an assembly with ssh. And to put on it that that besides official assembly rather it is not recommended. I as that this rule  so after the next update all flied and the server "shout" till now that the security level is insufficiently high. bnk>>> migration SVN-> GIT from a box. AN>> git svn clone? AN>> and how about branchej/tags and users? Too is? I simply do not know bnk> submodule for functionality of type svn:externals. bnk> branchi/tags/users are by itself. Meant that branchi/tags too will be transferred or not? Also what becomes with audit number? Though in comments where remains?