Hi all,

Le 22/09/2014 14:07, l...@apache.org a écrit :
> Removed subversion keywords $Id$, $Revision$ and $Date$.
> 
> Git does not support subversion keywords expansion.
> 
> Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
> Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/abffaf33
> Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/abffaf33
> Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/abffaf33
> 
> Branch: refs/heads/keywords-expansion-removal
> Commit: abffaf334c4302047e013a112c286a9e4d2c967e
> Parents: 3cbfe27
> Author: Luc Maisonobe <l...@apache.org>
> Authored: Mon Sep 22 14:02:52 2014 +0200
> Committer: Luc Maisonobe <l...@apache.org>
> Committed: Mon Sep 22 14:02:52 2014 +0200
> 
> ----------------------------------------------------------------------
>  build.xml                                                      | 2 --
>  checkstyle.xml                                                 | 6 ++----
>  math-RC.sh                                                     | 1 -
>  math-pre-RC.sh                                                 | 1 -
>  src/main/java/org/apache/commons/math3/Field.java              | 1 -
>  src/main/java/org/apache/commons/math3/FieldElement.java       | 1 -
>  src/main/java/org/apache/commons/math3/RealFieldElement.java   | 1 -
>  .../org/apache/commons/math3/analysis/BivariateFunction.java   | 1 -
>  .../math3/analysis/DifferentiableMultivariateFunction.java     | 1 -
>  .../analysis/DifferentiableMultivariateVectorFunction.java     | 1 -
>  .../math3/analysis/DifferentiableUnivariateFunction.java       | 1 -

[snip]

This large commit in [math] has been done in a new feature branch named
keywords-expansion-removal (it appears in the header above). This means
that it is not yet in the master branch. I wanted to discuss about it
before merging this branch back to master.

The reason of this commit is that Git does not support subversion
keyword expansion. As mentioned a few weeks earlier, there is no
replacement in Git for these keywords, and in fact Git does not
recommand such behaviour. Si I completely removed the keywords, and
updated our checkstyle.xml configuration to not look for them anymore.

I am however not sure everyone will be happy with this change, so I
would like to discuss it with you here.

Keywords expansion has always been a difficult problem, as it modifies
files between the repository and the developers workspace. As an example
of the problem, we had to remove the $Date$ keyword and stick with $Id$
only since $Date$ depended on the timezone and language of the
developer. So from the exact same version of the same repository file I
would have extracted something different from someone working in
Australia for example. This was a nuisance for comparing releases.

I do consider that getting rid of these keywords expansion completely is
a good thing. When we release source, it is not a bunch of independent
files, but a consistent set. The individual version of each file is
irrelevant and what is important to us is the global version of the
source tree: this is what Git (and subversion) give us. So what we
really check when we vote for a release is not each file independently,
but the source tree from the signed release archive with respect to the
tag in the source code management system, using a big diff command. For
this very important check, keywords expansion is irrelevant. This check
can still be done (and we *must* still do it on release of course),
without the keywords.

Do you agree with this? Can I merge the keywords-expansion-removal
branch back to master branch?

best regards,
Luc

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to