Hi Mads:
Thanks to your patient answer and sorry for my careless, yes, I should not
send private message.
Just for consideration, I think I should describe my situation:
I work for a manufacturing company, and we have almost 20 sub-factory, each
factory is alike but different, my team develop a ERP system for all the
factories.
The factories are "different", I mean, they are in different industry, for
example, one factory make clothes, and another produce plastic. They are so
different that we must give them correspond system to match their require.
But in our IT team, all the 20 ERP system are come from a single project,
we modified the original project as version A , and version B , and all
these versions became 20 projects, in these projects, there are still 70
percent code are same. we call these 70% "shared" code, they can be
modified in every project, and in other projects , a simple update should
get these changes.
in old VSS age, we use "share" function, it's very convenient, and then we
migrated to SVN, "external" function is not as convenient as share, but it
do works . Now we want to use mercurial, nothing helps.
our require is very simple: when we modify a shared file, we should commit
only one time, instead of modify it 20 times and commit 20 times in all the
projects.
in fact, the shared code is not a seperated project, they are functions,
classes, or some logic files. (for example, may be a workflow of warehouse
management is perfectly same of all the factories, so we keep the web pages
as shared file. ) make them as sub-repos really make no sense, but is
there other mechanisms in mercurial to do such things?
Thanks again!
On Wed, Nov 23, 2011 at 10:10 AM, Mads Kiilerich <[email protected]> wrote:
> Marvin Yan wrote, On 11/23/2011 02:41 AM:
>
>> Hi, Mads:
>>
>
> Hi - but please don't write private mails unless you want to pay for
> private consulting.
>
>
> The next day, I work with repoF, same thing happen, I must pull 20 times
>> to make repoF up to date, isn't this crazy?
>>
>
> Yes, you have to pull 20 times, yes, 20 repos sounds crazy, and no, it
> isn't crazy that you have to pull 20 times to modify 20 subrepos.
>
>
> I know, someone will say , why you use so much sub-repos? I have my
>> reason, and I can't find better way, my situation is a little complex, so I
>> think I'd better not describe it right now. -------any way, I need so much
>> sub-repos , and I need a recursive pull .
>>
>
> You might have your secret reasons that makes you need something, but in
> that case subrepos might not be the right solution.
>
>
> I have seen the "Onsub" extension, it's very good, but we use tortoiseHg
>> as our client, how can I tell my colleagues that "when you want to update a
>> project, you must type a command instead of tortoiseHg" ?
>>
>
> I assume your coworkers are smart and can understand a message.
>
>
> They will simply say, "well, I think SVN is better than this thing. "
>>
>
> They might be right or they might be wrong. Either way I feel sorry for
> them that you have a setup where they can't enjoy a better tool.
>
>
> so, could this extension be integrated with tortoiseHg?
>>
>
> I have no idea. Ask the TortoiseHg guys.
>
> In general: People with subrepos have different needs for integration with
> their work flows and infrastructure. Just create some kind of script or
> build system that do what you need.
>
> /Mads
>
Hi, Mads:
Thanks very much for your reply!
I've read the link very carefully, but didn't get the point.
Maybe I didn't make myself very clear, so I want to describe my situation
first:
say I have 20 repositories, from repoA1 to repoA20:
repoA1/ #this is a repo which used as a sub-repo in another
project.
......
repoA20/ #same as repoA1.
they are all used as sub-repositoies of another repository repoB,
repoB/ #this is another repo.
repoA1/ #repoA as a sub-repo inside repoB
repoA2/ #another sub-repo
repoA3/ #another sub-repo
......
repoA20 #same as above
and in repoC, and repoD, etc.
repoC/ #this is another repo.
repoA1/ #repoA as a sub-repo inside repoC
repoA2/ #another sub-repo
repoA3/ #another sub-repo
......
repoA20 #same as above
repoD/ #this is another repo.
repoA1/ #repoA as a sub-repo inside repoD
repoA2/ #another sub-repo
repoA3/ #another sub-repo
......
repoA20 #same as above
......
repoZ/ #this is another repo.
repoA1/ #repoA as a sub-repo inside repoZ
repoA2/ #another sub-repo
repoA3/ #another sub-repo
......
repoA20 #same as above
Now, my fellow Scott push a changeset to repoA3 in repoD.
I'm working with repoB, I want to keep my repoB and all the
sub-repositories up to date, how can I know Scott's changeset? I must pull
& update all the sub-repositories 20 times to ensure all the sub-repos are
up to date.
The next day, I work with repoF, same thing happen, I must pull 20 times to
make repoF up to date, isn't this crazy?
I know, someone will say , why you use so much sub-repos? I have my reason,
and I can't find better way, my situation is a little complex, so I think
I'd better not describe it right now. -------any way, I need so much
sub-repos , and I need a recursive pull .
I have seen the "Onsub" extension, it's very good, but we use tortoiseHg as
our client, how can I tell my colleagues that "when you want to update a
project, you must type a command instead of tortoiseHg" ? They will simply
say, "well, I think SVN is better than this thing. "
so, could this extension be integrated with tortoiseHg?
Thanks!
--
Best Regards
Marvin Yan
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Tortoisehg-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss