Source control of Quantlib external development

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Source control of Quantlib external development

Simon Ibbotson-2
Source control of Quantlib external development

Hi,

Ive been trying to work out the best way of maintaining my changes to the QuantLib code. Some of these changes will never be made public for a variety of reasons but I still need to maintain a version control of these changes. Therefore, this version control will of necessity have to be outside Sourceforge.

The approach advocated by Subversion would be to do vendor drops into a local repository Ive done this before but I lose the version history and it makes it difficult to merge changes (both my changes and Sourceforge changes).

I see Bojan Nikolic has a blog where he talks about using Bazaar to do this - through the Launchpad service - but this appears to be currently suspended. I also see that Luigi has place a mirror of Quantlib trunk on github.com but this does not appear to have QuantLibAddin or Excel interfaces.

Can anyone give me some advice about which approach to take? Bazaar or Git (or some other technique).

Even if you just reply with one sentence telling me which approach you take that would be very useful.

Thanks,

Simon

Dr Simon Ibbotson

Valuations: Modelling & Methodologies.

Prudential Risk Division | Financial Services Authority

Ext: 65586

Email: [hidden email]

 



This communication and any attachments contains information which is confidential and may be subject to legal privilege. It is for intended recipients only. If you are not the intended recipient you must not copy, distribute, publish, rely on or otherwise use it without our consent. Some of our communications may contain confidential information which it could be a criminal offence for you to disclose or use without authority. If you have received this email in error please notify [hidden email] immediately and delete the email from your computer.

The FSA reserves the right to monitor all email communications for compliance with legal, regulatory and professional standards.

This email is not intended to nor should it be taken to create any legal relations or contractual relationships. This email has originated from

The Financial Services Authority (FSA)
25 The North Colonnade,
Canary Wharf,
London
E14 5HS
United Kingdom

Registered as a Limited Company in England and Wales No.1920623.
Registered Office as above

Switchboard: 020 7066 1000
Web Site: http://www.fsa.gov.uk
*****************************************************************


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Source control of Quantlib external development

Luigi Ballabio
Hi Simon,
    you can use git-svn to create a git repository on your machine
which is synced to the upstream QuantLib svn repository.  You can also
setup a cron job that keeps it up to date.  That way, you'd have a
mirror like the one I've put on github, but with the full repository
if you choose so.

One issue with git-svn is that, of course, it can't really merge local
developments with upstream changes because subversion doesn't support
git merges.  This means that when you pull from upstream, it rebases
instead of merging.

What you might do is probably to clone your mirror, use the clone as
your main repository, and never push from the clone to the mirror.
This way, when the mirror pulls from upstream svn it never has to
rebase; and when you pull from the mirror to the clone, you're dealing
with a git repository so you can merge your developments as usual.

It's probably possible to do the same with mercurial, but I have never
tried having it talk to subversion.

Luigi


On Mon, May 14, 2012 at 12:36 PM, Simon Ibbotson
<[hidden email]> wrote:

> Hi,
>
> I’ve been trying to work out the best way of maintaining my changes to the
> QuantLib code. Some of these changes will never be made public for a variety
> of reasons – but I still need to maintain a version control of these
> changes. Therefore, this version control will – of necessity – have to be
> outside Sourceforge.
>
> The approach advocated by Subversion would be to do vendor drops into a
> local repository – I’ve done this before but I lose the version history and
> it makes it difficult to merge changes (both my changes and Sourceforge
> changes).
>
> I see Bojan Nikolic has a blog where he talks about using Bazaar to do this
> - through the Launchpad service - but this appears to be currently
> suspended. I also see that Luigi has place a mirror of Quantlib trunk on
> github.com – but this does not appear to have QuantLibAddin or Excel
> interfaces.
>
> Can anyone give me some advice about which approach to take? Bazaar or Git
> (or some other technique).
>
> Even if you just reply with one sentence – telling me which approach you
> take – that would be very useful.
>
> Thanks,
>
> Simon
>
> Dr Simon Ibbotson
>
> Valuations: Modelling & Methodologies.
>
> Prudential Risk Division | Financial Services Authority
>
> Ext: 65586
>
> Email: [hidden email]
>
>
>
>
>
> This communication and any attachments contains information which is
> confidential and may be subject to legal privilege. It is for intended
> recipients only. If you are not the intended recipient you must not copy,
> distribute, publish, rely on or otherwise use it without our consent. Some
> of our communications may contain confidential information which it could be
> a criminal offence for you to disclose or use without authority. If you have
> received this email in error please notify [hidden email] immediately
> and delete the email from your computer.
>
> The FSA reserves the right to monitor all email communications for
> compliance with legal, regulatory and professional standards.
>
> This email is not intended to nor should it be taken to create any legal
> relations or contractual relationships. This email has originated from
>
> The Financial Services Authority (FSA)
> 25 The North Colonnade,
> Canary Wharf,
> London
> E14 5HS
> United Kingdom
>
> Registered as a Limited Company in England and Wales No.1920623.
> Registered Office as above
>
> Switchboard: 020 7066 1000
> Web Site: http://www.fsa.gov.uk
> *****************************************************************
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Source control of Quantlib external development

Ferdinando M. Ametrano-3
would the scenario become clearer if we all switch to git?

On Mon, May 14, 2012 at 1:10 PM, Luigi Ballabio
<[hidden email]> wrote:

> Hi Simon,
>    you can use git-svn to create a git repository on your machine
> which is synced to the upstream QuantLib svn repository.  You can also
> setup a cron job that keeps it up to date.  That way, you'd have a
> mirror like the one I've put on github, but with the full repository
> if you choose so.
>
> One issue with git-svn is that, of course, it can't really merge local
> developments with upstream changes because subversion doesn't support
> git merges.  This means that when you pull from upstream, it rebases
> instead of merging.
>
> What you might do is probably to clone your mirror, use the clone as
> your main repository, and never push from the clone to the mirror.
> This way, when the mirror pulls from upstream svn it never has to
> rebase; and when you pull from the mirror to the clone, you're dealing
> with a git repository so you can merge your developments as usual.
>
> It's probably possible to do the same with mercurial, but I have never
> tried having it talk to subversion.
>
> Luigi
>
>
> On Mon, May 14, 2012 at 12:36 PM, Simon Ibbotson
> <[hidden email]> wrote:
>> Hi,
>>
>> I’ve been trying to work out the best way of maintaining my changes to the
>> QuantLib code. Some of these changes will never be made public for a variety
>> of reasons – but I still need to maintain a version control of these
>> changes. Therefore, this version control will – of necessity – have to be
>> outside Sourceforge.
>>
>> The approach advocated by Subversion would be to do vendor drops into a
>> local repository – I’ve done this before but I lose the version history and
>> it makes it difficult to merge changes (both my changes and Sourceforge
>> changes).
>>
>> I see Bojan Nikolic has a blog where he talks about using Bazaar to do this
>> - through the Launchpad service - but this appears to be currently
>> suspended. I also see that Luigi has place a mirror of Quantlib trunk on
>> github.com – but this does not appear to have QuantLibAddin or Excel
>> interfaces.
>>
>> Can anyone give me some advice about which approach to take? Bazaar or Git
>> (or some other technique).
>>
>> Even if you just reply with one sentence – telling me which approach you
>> take – that would be very useful.
>>
>> Thanks,
>>
>> Simon
>>
>> Dr Simon Ibbotson
>>
>> Valuations: Modelling & Methodologies.
>>
>> Prudential Risk Division | Financial Services Authority
>>
>> Ext: 65586
>>
>> Email: [hidden email]
>>
>>
>>
>>
>>
>> This communication and any attachments contains information which is
>> confidential and may be subject to legal privilege. It is for intended
>> recipients only. If you are not the intended recipient you must not copy,
>> distribute, publish, rely on or otherwise use it without our consent. Some
>> of our communications may contain confidential information which it could be
>> a criminal offence for you to disclose or use without authority. If you have
>> received this email in error please notify [hidden email] immediately
>> and delete the email from your computer.
>>
>> The FSA reserves the right to monitor all email communications for
>> compliance with legal, regulatory and professional standards.
>>
>> This email is not intended to nor should it be taken to create any legal
>> relations or contractual relationships. This email has originated from
>>
>> The Financial Services Authority (FSA)
>> 25 The North Colonnade,
>> Canary Wharf,
>> London
>> E14 5HS
>> United Kingdom
>>
>> Registered as a Limited Company in England and Wales No.1920623.
>> Registered Office as above
>>
>> Switchboard: 020 7066 1000
>> Web Site: http://www.fsa.gov.uk
>> *****************************************************************
>>
>>
>> ------------------------------------------------------------------------------
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>> _______________________________________________
>> QuantLib-dev mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Source control of Quantlib external development

Bojan Nikolic
In reply to this post by Luigi Ballabio

Luigi Ballabio <[hidden email]> writes:

>     you can use git-svn to create a git repository

Yes, we use git-svn too now.

The bzr based solution stopped performing satisfactorily because of a
bug which I think is in libsvn but only seems to manifest when doing
bzr+svn.

Best,
Bojan


--
Bojan Nikolic          ||          http://www.bnikolic.co.uk

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Source control of Quantlib external development

Luigi Ballabio
In reply to this post by Ferdinando M. Ametrano-3
On Mon, May 14, 2012 at 2:45 PM, Ferdinando Ametrano <[hidden email]> wrote:
> would the scenario become clearer if we all switch to git?

Yes, of course.  The whole issue would become moot.

Then again, we'd have to think _how_ to switch.
To begin with, do we stay on SourceForge or do we move the repository
to GitHub? (Mailing lists and the site stay on SF, I guess).  And
after that, do we put all the modules in one repository, or do we
create one git repository per module?  (Unlike with subversion, it's
not possible to checkout just part of a tree.)   And finally, what
kind of workflow do we use?

Later,
    Luigi

> On Mon, May 14, 2012 at 1:10 PM, Luigi Ballabio
> <[hidden email]> wrote:
>> Hi Simon,
>>    you can use git-svn to create a git repository on your machine
>> which is synced to the upstream QuantLib svn repository.  You can also
>> setup a cron job that keeps it up to date.  That way, you'd have a
>> mirror like the one I've put on github, but with the full repository
>> if you choose so.
>>
>> One issue with git-svn is that, of course, it can't really merge local
>> developments with upstream changes because subversion doesn't support
>> git merges.  This means that when you pull from upstream, it rebases
>> instead of merging.
>>
>> What you might do is probably to clone your mirror, use the clone as
>> your main repository, and never push from the clone to the mirror.
>> This way, when the mirror pulls from upstream svn it never has to
>> rebase; and when you pull from the mirror to the clone, you're dealing
>> with a git repository so you can merge your developments as usual.
>>
>> It's probably possible to do the same with mercurial, but I have never
>> tried having it talk to subversion.
>>
>> Luigi
>>
>>
>> On Mon, May 14, 2012 at 12:36 PM, Simon Ibbotson
>> <[hidden email]> wrote:
>>> Hi,
>>>
>>> I’ve been trying to work out the best way of maintaining my changes to the
>>> QuantLib code. Some of these changes will never be made public for a variety
>>> of reasons – but I still need to maintain a version control of these
>>> changes. Therefore, this version control will – of necessity – have to be
>>> outside Sourceforge.
>>>
>>> The approach advocated by Subversion would be to do vendor drops into a
>>> local repository – I’ve done this before but I lose the version history and
>>> it makes it difficult to merge changes (both my changes and Sourceforge
>>> changes).
>>>
>>> I see Bojan Nikolic has a blog where he talks about using Bazaar to do this
>>> - through the Launchpad service - but this appears to be currently
>>> suspended. I also see that Luigi has place a mirror of Quantlib trunk on
>>> github.com – but this does not appear to have QuantLibAddin or Excel
>>> interfaces.
>>>
>>> Can anyone give me some advice about which approach to take? Bazaar or Git
>>> (or some other technique).
>>>
>>> Even if you just reply with one sentence – telling me which approach you
>>> take – that would be very useful.
>>>
>>> Thanks,
>>>
>>> Simon
>>>
>>> Dr Simon Ibbotson
>>>
>>> Valuations: Modelling & Methodologies.
>>>
>>> Prudential Risk Division | Financial Services Authority
>>>
>>> Ext: 65586
>>>
>>> Email: [hidden email]
>>>
>>>
>>>
>>>
>>>
>>> This communication and any attachments contains information which is
>>> confidential and may be subject to legal privilege. It is for intended
>>> recipients only. If you are not the intended recipient you must not copy,
>>> distribute, publish, rely on or otherwise use it without our consent. Some
>>> of our communications may contain confidential information which it could be
>>> a criminal offence for you to disclose or use without authority. If you have
>>> received this email in error please notify [hidden email] immediately
>>> and delete the email from your computer.
>>>
>>> The FSA reserves the right to monitor all email communications for
>>> compliance with legal, regulatory and professional standards.
>>>
>>> This email is not intended to nor should it be taken to create any legal
>>> relations or contractual relationships. This email has originated from
>>>
>>> The Financial Services Authority (FSA)
>>> 25 The North Colonnade,
>>> Canary Wharf,
>>> London
>>> E14 5HS
>>> United Kingdom
>>>
>>> Registered as a Limited Company in England and Wales No.1920623.
>>> Registered Office as above
>>>
>>> Switchboard: 020 7066 1000
>>> Web Site: http://www.fsa.gov.uk
>>> *****************************************************************
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Live Security Virtual Conference
>>> Exclusive live event will cover all the ways today's security and
>>> threat landscape has changed and how IT managers can respond. Discussions
>>> will include endpoint security, mobile security and the latest in malware
>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>> _______________________________________________
>>> QuantLib-dev mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>>>
>>
>> ------------------------------------------------------------------------------
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>> _______________________________________________
>> QuantLib-dev mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Source control of Quantlib external development

Ferdinando M. Ametrano-3
On Mon, May 14, 2012 at 2:59 PM, Luigi Ballabio
<[hidden email]> wrote:
> we'd have to think _how_ to switch.
> To begin with, do we stay on SourceForge or do we move the repository
> to GitHub? (Mailing lists and the site stay on SF, I guess).  And
> after that, do we put all the modules in one repository, or do we
> create one git repository per module?  (Unlike with subversion, it's
> not possible to checkout just part of a tree.)   And finally, what
> kind of workflow do we use?

we're all waiting for your wise proposal
:-D

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev