On Tue, Feb 21, 2017 at 5:07 PM Clebert Suconic <clebert.suco...@gmail.com>
wrote:

> > Yes, I think a Vote is a good idea.  Makes it very clear, and follows
> > established Apache process, and gives a definite cut-off point.
> >
> Ok, but so far you are the only one to be convinced.
>

It wouldn't matter if no one needed to be convinced. It has no bearing on
the process.


> > Does that duplicate the entire Git repository? It kind of looks like it
> > does.
>
> Git is very light. it is not really an issue. We do it all the time on
> many different projects.
>

So, that's a "Yes, it does duplicate the entire repository (which can be
quite sizeable) in order to have multiple branches checked out
simultaneously."  Got it. Clearly a disadvantage.


> We would likely have these sub-directories as part of the git repo:
>
> Apache.NMS/
> Apache.NMS.AMQP/
> Apache.NMS.ActiveMQ/
> Apache.NMS.ActiveMQ.Openwire.Generator/
> Apache.NMS.EMS/
> Apache.NMS.MQTT/
> Apache.NMS.MSMQ/
> Apache.NMS.Pooled/
> Apache.NMS.Stomp/
> Apache.NMS.WCF/
> Apache.NMS.XMS/
> Apache.NMS.ZMQ/
>
>
So, for example, I would be able to have the following structure on my
local hard disk?

Apache.NMS/
        /trunk
        /tags
            /1.7.0
            /1.7.1
Apache.NMS.ActiveMQ/
        /trunk
        /tags
            /1.7.0
            /1.7.1
            /1.7.2

And be able to compile the trunk versions of Apache.NMS and
Apache.NMS.ActiveMQ alongside the 1.7.0 versions of Apache.NMS and 1.7.0
versions of Apache.NMS.ActiveMQ at the same time?  Also, in this situation,
the Apache.NMS.ActiveMQ 1.7.2 version imports the Apache.NMS 1.7.1 output
DLLs.

>> > repository auto-generated sequential number.  Does anyone have any
> >> > suggestions on how to accomplish a similar reproducible build using
> Git?
> >> >
> >>
> >> you don't need really need that, you can use the Hash as the version
> >> ID if you require the git.
> >>
> >> You just increment the version as everybody else does.
> >>
> >
> > I thought everyone else used the Subversion number the way I do. I
> manually
> > increment the <major>, <minor> and <rev> numbers, and generate the
> <build>
> > number automatically. It is not possible to embed a hash number into a
> > build number, so I'm not clear on what you are suggesting.
> >
>
> You can just tag when you make a release. It's not really an issue.
>

I guess I didn't explain the requirements clearly. Tagging is not the
solution.  This is about automatically injecting the revision of the source
code that was used to build the product.  For example, let's say the
Subversion repository is at revision number 18634.  I am building
Apache.NMS version 1.7.0.  When I run my build, it will automatically
produce an assembly with the embedded version number 1.7.0.18634.  That
last number can't be a hash.  If I were to commit any change at all (not
necessarily creating a tag or branch, just a change), then the repository
would increment to 18635.  If I build again, it would produce Apache.NMS
1.7.0.18635. Automatically.  This way there is no confusion as to what
exact revisions went into creating that assembly, and I have a reproducible
build.

I understand that revision numbers in Git are SHA1 checksums. There is no
concept of a repository revision number as there is in Subversion. Many
suggestions are to use tagging, but tagging every single check-in to
achieve the same ability does not seem like the proper use of the tool.

Reply via email to