emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* "git describe" in version of info file with "make info_git_describe"
@ 2011-06-02 14:11 Michael Brand
  2011-06-02 14:47 ` Bernt Hansen
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Brand @ 2011-06-02 14:11 UTC (permalink / raw)
  To: Bernt Hansen; +Cc: Org Mode

Hi Bernt, hi all

I appreciate that org-version adds the output of "git describe" to the
org-version string if we are running
from a git repository. Thanks to Bernt et al:
http://thread.gmane.org/gmane.emacs.orgmode/16620

Now I suggest the same for the info file by using the new target "make
info_git_describe" instead of "make info" for all who are running from
a git repository and are not building a release. I am about to finish
a patch for this but before posting it would like to know the reason
for "(subst-char-in-string ?- ?. git-version t)" in org-version here:
http://orgmode.org/w/?p=org-mode.git;a=blob;f=lisp/org.el;h=1ca03f48d86fac71837079f7c3219cb295a9c795;hb=HEAD#l217

Can I remove this substitution of "release_7.5-350-g3433" ->
"release_7.5.350.g3433" from org-version in my patch or should "make
info_git_describe" do the same and why?

Michael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-06-02 14:11 "git describe" in version of info file with "make info_git_describe" Michael Brand
@ 2011-06-02 14:47 ` Bernt Hansen
  2011-06-02 15:05   ` Michael Brand
  0 siblings, 1 reply; 15+ messages in thread
From: Bernt Hansen @ 2011-06-02 14:47 UTC (permalink / raw)
  To: Michael Brand; +Cc: Org Mode

Michael Brand <michael.ch.brand@gmail.com> writes:

> Hi Bernt, hi all
>
> I appreciate that org-version adds the output of "git describe" to the
> org-version string if we are running
> from a git repository. Thanks to Bernt et al:
> http://thread.gmane.org/gmane.emacs.orgmode/16620
>
> Now I suggest the same for the info file by using the new target "make
> info_git_describe" instead of "make info" for all who are running from
> a git repository and are not building a release. I am about to finish
> a patch for this but before posting it would like to know the reason
> for "(subst-char-in-string ?- ?. git-version t)" in org-version here:
> http://orgmode.org/w/?p=org-mode.git;a=blob;f=lisp/org.el;h=1ca03f48d86fac71837079f7c3219cb295a9c795;hb=HEAD#l217
>
> Can I remove this substitution of "release_7.5-350-g3433" ->
> "release_7.5.350.g3433" from org-version in my patch or should "make
> info_git_describe" do the same and why?

Hi Michael,

This was purely cosmetic.  I didn't like the look of the mixed '.' and
'-' in the version number originally.  I think the two reported version
numbers should be consistent between the org-version function and the
documentation version function you are proposing.

If you want to remove the substitution please also do so in the
org-version code so the reported numbers are consistent.

Regards,
-- 
Bernt

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-06-02 14:47 ` Bernt Hansen
@ 2011-06-02 15:05   ` Michael Brand
  2011-06-02 19:36     ` Michael Brand
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Brand @ 2011-06-02 15:05 UTC (permalink / raw)
  To: Bernt Hansen; +Cc: Org Mode

On Thu, Jun 2, 2011 at 16:47, Bernt Hansen <bernt@norang.ca> wrote:
> Michael Brand <michael.ch.brand@gmail.com> writes:
>> Can I remove this substitution of "release_7.5-350-g3433" ->
>> "release_7.5.350.g3433" from org-version in my patch or should "make
>> info_git_describe" do the same and why?
>
> Hi Michael,
>
> This was purely cosmetic.  I didn't like the look of the mixed '.' and
> '-' in the version number originally.

... and '_' ... :-)

> I think the two reported version
> numbers should be consistent between the org-version function and the
> documentation version function you are proposing.
>
> If you want to remove the substitution please also do so in the
> org-version code so the reported numbers are consistent.

Since I would like to give the more often used "git describe"
precedence I will make org-version and "make info_git_describe"
consistent with git. The ".dirty" postfix of org-version I will leave
untouched in org-version of course and support also in "make
info_git_describe".

Michael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-06-02 15:05   ` Michael Brand
@ 2011-06-02 19:36     ` Michael Brand
  2011-10-16 19:12       ` Michael Brand
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Brand @ 2011-06-02 19:36 UTC (permalink / raw)
  To: Org Mode; +Cc: Bernt Hansen

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

The patch is ready and attached.

Michael

On Thu, Jun 2, 2011 at 17:05, Michael Brand <michael.ch.brand@gmail.com> wrote:
[...]
> Since I would like to give the more often used "git describe"
> precedence I will make org-version and "make info_git_describe"
> consistent with git. The ".dirty" postfix of org-version I will leave
> untouched in org-version of course and support also in "make
> info_git_describe".

[-- Attachment #2: 0001-Use-git-describe-in-version-of-info-file-with-make-i.patch --]
[-- Type: application/octet-stream, Size: 5182 bytes --]

From cc5e0cdac8a9c50e8fc7eca6a9cb83eea52ef091 Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.ch.brand@gmail.com>
Date: Thu, 2 Jun 2011 21:32:09 +0200
Subject: [PATCH] Use git describe in version of info file with make info_git_describe

* Makefile (info_git_describe): New target.
(release): Remove "-a" that has become idle already before from
command "UTILITIES/set-version.pl".
(fixrelease): Remove command "UTILITIES/set-version.pl -o $(TAG)" that
has become idle already before.
* UTILITIES/set-version.pl (org-texi):
New option "--org.texi [<optional_file>]".
* org.el (org-version): Consistent with "git describe".

The new Makefile target info_git_describe builds doc/org like the
target "info" but reflects the output of the command "git describe" in
the version, similar to the Org mode function org-version.
---
 Makefile                 |   13 +++++++++++--
 UTILITIES/set-version.pl |   35 +++++++++++++++++++++++++----------
 lisp/org.el              |    1 -
 3 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/Makefile b/Makefile
index 239ab2e..15b408d 100644
--- a/Makefile
+++ b/Makefile
@@ -281,6 +281,16 @@ html_guide: doc/orgguide.texi
 
 info:	doc/org
 
+# The following target builds doc/org like the target "info" but
+# reflects the output of the command "git describe" in the version,
+# similar to the Org mode function org-version
+info_git_describe: TAG=$(shell git describe --abbrev=4 HEAD)$(shell \
+	test "`git diff-index --name-only HEAD --`" && printf '.dirty')
+info_git_describe: doc/org.texi
+	cp doc/org.texi /tmp
+	UTILITIES/set-version.pl '$(TAG)' --org.texi /tmp/org.texi
+	$(MAKEINFO) --no-split /tmp/org.texi -o doc/org
+
 pdf:	doc/org.pdf doc/orgguide.pdf
 
 card:	doc/orgcard.pdf doc/orgcard_letter.pdf doc/orgcard.txt
@@ -316,7 +326,7 @@ release:
 	git push -f origin maint
 	git checkout master
 	git merge -s ours maint
-	UTILITIES/set-version.pl -a $(TAG)
+	UTILITIES/set-version.pl $(TAG)
 	git commit -a -m "Update website to show $(TAG) as current release"
 	git push
 
@@ -344,7 +354,6 @@ fixrelease:
 	git push -f origin maint
 	git checkout master
 	git merge -s ours maint
-	UTILITIES/set-version.pl -o $(TAG)
 	git commit -a -m "Update website to show $(TAG) as current release"
 	git push
 
diff --git a/UTILITIES/set-version.pl b/UTILITIES/set-version.pl
index ed185ea..47d439b 100755
--- a/UTILITIES/set-version.pl
+++ b/UTILITIES/set-version.pl
@@ -1,43 +1,58 @@
 #!/usr/bin/perl
 $version = $ARGV[0];
-if ($version eq "--all" or $version eq "-a") {
+
+# if no further option is present then default to "all"
+if (not $ARGV[1]) {
   $all = 1;
-  $version = $ARGV[1]
 }
 
-if ($version eq "--only" or $version eq "-o") {
-  $only = 1;
-  $version = $ARGV[1]
+# parse option "--org.texi [<optional_file>]"
+# (only simple parsing since no more than one option supported yet)
+if ($ARGV[1] eq "--org.texi") {
+  $org_texi_opt = 1;
+  if ($ARGV[2]) {
+    $org_texi_file = "$ARGV[2]";
+  }
 }
 
 die "No version given" unless $version=~/\S/;
 $date = `date "+%B %Y"`; chomp $date;
 $year = `date "+%Y"` ; chomp $year;
 
-print STDERR "Changing version to \"$version\" and date to \"$date\" in all relevant files\n" ;
-
-if (not $only) {
+print STDERR "Changing version to \"$version\" and date to \"$date\" in the following files:\n" ;
 
+if ($all) {
   print STDERR join("\n",glob("lisp/*.el")),"\n";
   $cmd = qq{s/^(;; Version:)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\(defconst org-version )"(\\S+)"/\$1"$version"/};
   $c1 = "perl -pi -e '$cmd' lisp/*.el";
   system($c1);
+}
 
-  print STDERR "doc/org.texi\n";
+if ($all or $org_texi_opt) {
+  if (not "$org_texi_file") {
+    $org_texi_file = "doc/org.texi";
+  }
+  print STDERR "$org_texi_file\n";
   $cmd = qq{s/^(\\\@set VERSION)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\\@set DATE)\\s+(.*)\$/\$1 $date/;};
-  $c1 = "perl -pi -e '$cmd' doc/org.texi";
+  $c1 = "perl -pi -e '$cmd' '$org_texi_file'";
   system($c1);
+}
 
+if ($all) {
   print STDERR "doc/orgguide.texi\n";
   $cmd = qq{s/^(\\\@set VERSION)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\\@set DATE)\\s+(.*)\$/\$1 $date/;};
   $c1 = "perl -pi -e '$cmd' doc/orgguide.texi";
   system($c1);
+}
 
+if ($all) {
   print STDERR "doc/orgcard.tex\n";
   $cmd = qq{s/^\\\\def\\\\orgversionnumber\\{\\S+\\}/\\\\def\\\\orgversionnumber{$version}/;s/\\\\def\\\\versionyear\\{\\S+\\}/\\\\def\\\\versionyear{$year}/;s/\\\\def\\\\year\\{\\S+\\}/\\\\def\\\\year{$year}/;};
   $c1 = "perl -pi -e '$cmd' doc/orgcard.tex";
   system($c1);
+}
 
+if ($all) {
   print STDERR "README_DIST\n";
   $cmd = qq{s/^(The version of this release is:)\\s+(\\S+)[ \t]*\$/\$1 $version/;};
   $c1 = "perl -pi -e '$cmd' README_DIST";
diff --git a/lisp/org.el b/lisp/org.el
index 1ca03f4..6c20705 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -214,7 +214,6 @@ With prefix arg HERE, insert it at point."
 	      (with-current-buffer "*Shell Command Output*"
 		(goto-char (point-min))
 		(setq git-version (buffer-substring (point) (point-at-eol))))
-	      (subst-char-in-string ?- ?. git-version t)
 	      (when (string-match "\\S-"
 				  (shell-command-to-string
 				   "git diff-index --name-only HEAD --"))
-- 
1.7.4.2


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-06-02 19:36     ` Michael Brand
@ 2011-10-16 19:12       ` Michael Brand
  2011-10-21 14:44         ` Carsten Dominik
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Brand @ 2011-10-16 19:12 UTC (permalink / raw)
  To: Org Mode; +Cc: Bernt Hansen

[-- Attachment #1: Type: text/plain, Size: 869 bytes --]

Hi all

I made a new patch replacing the previous, now considering the
Makefile targets "target" and "help" introduced meanwhile by Achim
Gratz and with a shorter name "info-vg" for the new target for easier
typing of the make command.

The previous patch attachment had a wrong mime type, could therefore
not be caught by patchwork and has not been accepted.

Michael

On Thu, Jun 2, 2011 at 21:36, Michael Brand <michael.ch.brand@gmail.com> wrote:
> The patch is ready and attached.
>
> On Thu, Jun 2, 2011 at 17:05, Michael Brand <michael.ch.brand@gmail.com> wrote:
> [...]
>> Since I would like to give the more often used "git describe"
>> precedence I will make org-version and "make info_git_describe"
>> consistent with git. The ".dirty" postfix of org-version I will leave
>> untouched in org-version of course and support also in "make
>> info_git_describe".

[-- Attachment #2: 0001-Makefile-info-vg-set-info-version-to-git-describe.patch.txt --]
[-- Type: text/plain, Size: 5459 bytes --]

From 148ddbe2b2bdc45d4e53312669dab207d51d9fd8 Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.ch.brand@gmail.com>
Date: Sun, 16 Oct 2011 21:06:35 +0200
Subject: [PATCH] Makefile info-vg: set info version to git describe

* Makefile (info-vg): New target.
(release): Remove "-a" that has become idle already before from
command "UTILITIES/set-version.pl".
(fixrelease): Remove command "UTILITIES/set-version.pl -o $(TAG)" that
has become idle already before.
(targets help): Include new target info-vg.
* UTILITIES/set-version.pl (org-texi):
New option "--org.texi [<optional_file>]".
* org.el (org-version): Output format consistent with "git describe".

The new Makefile target info-vg builds the info file doc/org like the
target "info" but sets the info version to the output of the command
"git describe".
---
 Makefile                 |   13 +++++++++++--
 UTILITIES/set-version.pl |   35 +++++++++++++++++++++++++----------
 lisp/org.el              |    1 -
 3 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/Makefile b/Makefile
index 8b9aa4d..30bc578 100644
--- a/Makefile
+++ b/Makefile
@@ -280,6 +280,15 @@ html_guide: doc/orgguide.texi
 
 info:	doc/org
 
+# The following target builds the info file doc/org like the target "info"
+# but sets the info version to the output of the command "git describe"
+info-vg: TAG=$(shell git describe --abbrev=4 HEAD)$(shell \
+	test "`git diff-index --name-only HEAD --`" && printf '.dirty')
+info-vg: doc/org.texi
+	cp doc/org.texi /tmp
+	UTILITIES/set-version.pl '$(TAG)' --org.texi /tmp/org.texi
+	$(MAKEINFO) --no-split /tmp/org.texi -o doc/org
+
 pdf:	doc/org.pdf doc/orgguide.pdf
 
 card:	doc/orgcard.pdf doc/orgcard_letter.pdf doc/orgcard.txt
@@ -315,7 +324,7 @@ release:
 	git push -f origin maint
 	git checkout master
 	git merge -s ours maint
-	UTILITIES/set-version.pl -a $(TAG)
+	UTILITIES/set-version.pl $(TAG)
 	git commit -a -m "Update website to show $(TAG) as current release"
 	git push
 
@@ -343,7 +352,6 @@ fixrelease:
 	git push -f origin maint
 	git checkout master
 	git merge -s ours maint
-	UTILITIES/set-version.pl -o $(TAG)
 	git commit -a -m "Update website to show $(TAG) as current release"
 	git push
 
@@ -521,6 +529,7 @@ targets help:
 	@echo ""
 	@echo "make doc - make all documentation"
 	@echo "make info - make Info documentation"
+	@echo "make info-vg - make Info doc, set info version to git describe"
 	@echo "make html - make HTML documentation"
 	@echo "make pdf - make pdf documentation"
 	@echo "make card - make refcards documentation"
diff --git a/UTILITIES/set-version.pl b/UTILITIES/set-version.pl
index ed185ea..47d439b 100755
--- a/UTILITIES/set-version.pl
+++ b/UTILITIES/set-version.pl
@@ -1,43 +1,58 @@
 #!/usr/bin/perl
 $version = $ARGV[0];
-if ($version eq "--all" or $version eq "-a") {
+
+# if no further option is present then default to "all"
+if (not $ARGV[1]) {
   $all = 1;
-  $version = $ARGV[1]
 }
 
-if ($version eq "--only" or $version eq "-o") {
-  $only = 1;
-  $version = $ARGV[1]
+# parse option "--org.texi [<optional_file>]"
+# (only simple parsing since no more than one option supported yet)
+if ($ARGV[1] eq "--org.texi") {
+  $org_texi_opt = 1;
+  if ($ARGV[2]) {
+    $org_texi_file = "$ARGV[2]";
+  }
 }
 
 die "No version given" unless $version=~/\S/;
 $date = `date "+%B %Y"`; chomp $date;
 $year = `date "+%Y"` ; chomp $year;
 
-print STDERR "Changing version to \"$version\" and date to \"$date\" in all relevant files\n" ;
-
-if (not $only) {
+print STDERR "Changing version to \"$version\" and date to \"$date\" in the following files:\n" ;
 
+if ($all) {
   print STDERR join("\n",glob("lisp/*.el")),"\n";
   $cmd = qq{s/^(;; Version:)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\(defconst org-version )"(\\S+)"/\$1"$version"/};
   $c1 = "perl -pi -e '$cmd' lisp/*.el";
   system($c1);
+}
 
-  print STDERR "doc/org.texi\n";
+if ($all or $org_texi_opt) {
+  if (not "$org_texi_file") {
+    $org_texi_file = "doc/org.texi";
+  }
+  print STDERR "$org_texi_file\n";
   $cmd = qq{s/^(\\\@set VERSION)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\\@set DATE)\\s+(.*)\$/\$1 $date/;};
-  $c1 = "perl -pi -e '$cmd' doc/org.texi";
+  $c1 = "perl -pi -e '$cmd' '$org_texi_file'";
   system($c1);
+}
 
+if ($all) {
   print STDERR "doc/orgguide.texi\n";
   $cmd = qq{s/^(\\\@set VERSION)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\\@set DATE)\\s+(.*)\$/\$1 $date/;};
   $c1 = "perl -pi -e '$cmd' doc/orgguide.texi";
   system($c1);
+}
 
+if ($all) {
   print STDERR "doc/orgcard.tex\n";
   $cmd = qq{s/^\\\\def\\\\orgversionnumber\\{\\S+\\}/\\\\def\\\\orgversionnumber{$version}/;s/\\\\def\\\\versionyear\\{\\S+\\}/\\\\def\\\\versionyear{$year}/;s/\\\\def\\\\year\\{\\S+\\}/\\\\def\\\\year{$year}/;};
   $c1 = "perl -pi -e '$cmd' doc/orgcard.tex";
   system($c1);
+}
 
+if ($all) {
   print STDERR "README_DIST\n";
   $cmd = qq{s/^(The version of this release is:)\\s+(\\S+)[ \t]*\$/\$1 $version/;};
   $c1 = "perl -pi -e '$cmd' README_DIST";
diff --git a/lisp/org.el b/lisp/org.el
index 6aba1a2..27c2f2c 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -221,7 +221,6 @@ (defun org-version (&optional here)
 	      (with-current-buffer "*Shell Command Output*"
 		(goto-char (point-min))
 		(setq git-version (buffer-substring (point) (point-at-eol))))
-	      (subst-char-in-string ?- ?. git-version t)
 	      (when (string-match "\\S-"
 				  (shell-command-to-string
 				   "git diff-index --name-only HEAD --"))
-- 
1.7.4.2


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-16 19:12       ` Michael Brand
@ 2011-10-21 14:44         ` Carsten Dominik
  2011-10-21 16:13           ` Bernt Hansen
  2011-10-26 16:07           ` Michael Brand
  0 siblings, 2 replies; 15+ messages in thread
From: Carsten Dominik @ 2011-10-21 14:44 UTC (permalink / raw)
  To: Michael Brand; +Cc: Bernt Hansen, Org Mode, Bastien Guerry

Hi,

is there an agreement that this is a good patch?  I have not followed the discussion.....

- Carsten

On Oct 16, 2011, at 9:12 PM, Michael Brand wrote:

> Hi all
> 
> I made a new patch replacing the previous, now considering the
> Makefile targets "target" and "help" introduced meanwhile by Achim
> Gratz and with a shorter name "info-vg" for the new target for easier
> typing of the make command.
> 
> The previous patch attachment had a wrong mime type, could therefore
> not be caught by patchwork and has not been accepted.
> 
> Michael
> 
> On Thu, Jun 2, 2011 at 21:36, Michael Brand <michael.ch.brand@gmail.com> wrote:
>> The patch is ready and attached.
>> 
>> On Thu, Jun 2, 2011 at 17:05, Michael Brand <michael.ch.brand@gmail.com> wrote:
>> [...]
>>> Since I would like to give the more often used "git describe"
>>> precedence I will make org-version and "make info_git_describe"
>>> consistent with git. The ".dirty" postfix of org-version I will leave
>>> untouched in org-version of course and support also in "make
>>> info_git_describe".
> <0001-Makefile-info-vg-set-info-version-to-git-describe.patch.txt>

- Carsten

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-21 14:44         ` Carsten Dominik
@ 2011-10-21 16:13           ` Bernt Hansen
  2011-10-23 22:50             ` Bernt Hansen
  2011-10-26 16:07           ` Michael Brand
  1 sibling, 1 reply; 15+ messages in thread
From: Bernt Hansen @ 2011-10-21 16:13 UTC (permalink / raw)
  To: Carsten Dominik; +Cc: Bastien Guerry, Michael Brand, Org Mode

I still have this as a TODO item for review.  I'll take a look at it
this weekend.

-Bernt

Carsten Dominik <carsten.dominik@gmail.com> writes:

> Hi,
>
> is there an agreement that this is a good patch?  I have not followed the discussion.....
>
> - Carsten
>
> On Oct 16, 2011, at 9:12 PM, Michael Brand wrote:
>
>> Hi all
>> 
>> I made a new patch replacing the previous, now considering the
>> Makefile targets "target" and "help" introduced meanwhile by Achim
>> Gratz and with a shorter name "info-vg" for the new target for easier
>> typing of the make command.
>> 
>> The previous patch attachment had a wrong mime type, could therefore
>> not be caught by patchwork and has not been accepted.
>> 
>> Michael
>> 
>> On Thu, Jun 2, 2011 at 21:36, Michael Brand <michael.ch.brand@gmail.com> wrote:
>>> The patch is ready and attached.
>>> 
>>> On Thu, Jun 2, 2011 at 17:05, Michael Brand <michael.ch.brand@gmail.com> wrote:
>>> [...]
>>>> Since I would like to give the more often used "git describe"
>>>> precedence I will make org-version and "make info_git_describe"
>>>> consistent with git. The ".dirty" postfix of org-version I will leave
>>>> untouched in org-version of course and support also in "make
>>>> info_git_describe".
>> <0001-Makefile-info-vg-set-info-version-to-git-describe.patch.txt>
>
> - Carsten

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-21 16:13           ` Bernt Hansen
@ 2011-10-23 22:50             ` Bernt Hansen
  0 siblings, 0 replies; 15+ messages in thread
From: Bernt Hansen @ 2011-10-23 22:50 UTC (permalink / raw)
  To: Carsten Dominik; +Cc: Bastien Guerry, Michael Brand, Org Mode

>> On Oct 16, 2011, at 9:12 PM, Michael Brand wrote:
>>
>>> I made a new patch replacing the previous, now considering the
>>> Makefile targets "target" and "help" introduced meanwhile by Achim
>>> Gratz and with a shorter name "info-vg" for the new target for easier
>>> typing of the make command.
>>> 
>>> The previous patch attachment had a wrong mime type, could therefore
>>> not be caught by patchwork and has not been accepted.
>>> 
>>> Michael

> Carsten Dominik <carsten.dominik@gmail.com> writes:
>
>> Hi,
>>
>> is there an agreement that this is a good patch?  I have not followed the discussion.....
>>
>> - Carsten
>>

I'm fine with the actual text change for the version number so it
matches the git describe command.  I'm not sure if all of the make
target changes make sense since I don't normally use those.

Regards,
Bernt

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-21 14:44         ` Carsten Dominik
  2011-10-21 16:13           ` Bernt Hansen
@ 2011-10-26 16:07           ` Michael Brand
  2011-10-26 16:56             ` Achim Gratz
  1 sibling, 1 reply; 15+ messages in thread
From: Michael Brand @ 2011-10-26 16:07 UTC (permalink / raw)
  To: Carsten Dominik, Bastien Guerry; +Cc: Bernt Hansen, Org Mode

Hi Carsten and Bastien

On Fri, Oct 21, 2011 at 16:44, Carsten Dominik
<carsten.dominik@gmail.com> wrote:
> is there an agreement that this is a good patch?  I have not followed the discussion.....

Let me summarize:

> On Oct 16, 2011, at 9:12 PM, Michael Brand wrote:
>> The previous patch attachment had a wrong mime type, could therefore
>> not be caught by patchwork and has not been accepted.
Only a clarification about "has not been accepted": The first version
of my patch has just not been applied, there was no disagreement or
reject. The second version was only to get my patch into patchwork at
all and to rebase it at the design level.

For the change in org-version (substitution of the "-" from the git
tag delivered by git describe with "."): As Bernt is the author of
this substitution I originally asked him if I could remove it to align
with the output of git describe and he agreed. He now has reviewed
this part of the second version of my patch and he is fine with it.

There has not yet been any review or comment on the changes in the
Makefile and in UTILITIES/set-version.pl. I would be happy if these
parts could be reviewed too.

Michael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-26 16:07           ` Michael Brand
@ 2011-10-26 16:56             ` Achim Gratz
  2011-10-27 18:24               ` Michael Brand
  0 siblings, 1 reply; 15+ messages in thread
From: Achim Gratz @ 2011-10-26 16:56 UTC (permalink / raw)
  To: emacs-orgmode

Michael Brand <michael.ch.brand@gmail.com> writes:
> There has not yet been any review or comment on the changes in the
> Makefile and in UTILITIES/set-version.pl. I would be happy if these
> parts could be reviewed too.

The set-version.pl file may be obsolete (perl is still required), there
is no version number in the individual lisp files anymore.  For
installation I've already added a replacement of the version cookie in
org.el with git-describe in my own fork of org-mode ([1] - I don't know if
you've checked it).  It would be easy to do the same for org-texi,
albeit before compilation, not only during install.  I

I agree it would be useful to have the full version recorded in the
resulting manual, but you really cannot alter the source file (git
status would always be dirty or the version would be wrong, wouldn't it?
:-).

[1] http://permalink.gmane.org/gmane.emacs.orgmode/44567


Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf rackAttack:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-26 16:56             ` Achim Gratz
@ 2011-10-27 18:24               ` Michael Brand
  2011-10-28  9:26                 ` Achim Gratz
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Brand @ 2011-10-27 18:24 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1772 bytes --]

Hi Achim

Thank you for your review.

On Wed, Oct 26, 2011 at 18:56, Achim Gratz <Stromeko@nexgo.de> wrote:
> The set-version.pl file may be obsolete (perl is still required),

If set-version.pl would be obsolete my patch would be much shorter and I
would use something even more portable than perl to change the version in
/tmp/org.texi like the POSIX/SUS ed command, used inline in the Makefile.
Would you agree?

> there is no version number in the individual lisp files anymore. For
> installation I've already added a replacement of the version cookie in
> org.el with git-describe in my own fork of org-mode ([1] - I don't know if
> you've checked it).  It would be easy to do the same for org-texi,
> albeit before compilation, not only during install.

I can remember some discussion but haven't realized that the outcome is a
pending merge. Hence I declare version 2 of my patch as "Changes Requested"
on patchwork (can't change this myself) and will rebase it against your
changes.

> I agree it would be useful to have the full version recorded in the
> resulting manual, but you really cannot alter the source file (git
> status would always be dirty or the version would be wrong, wouldn't it?
> :-).

Yes, good point. I was aware of that and therefore for the target "info-vg",
doc/org.texi is copied to /tmp/org.texi, altered only there and makeinfo
reads from there.

And I _added_ the target "info-vg" because implementing the same
functionality in the target "info" itself, by either adding an auto-detect
whether git describe is available (like org-version does) or using
org-version itself, is not an option. One still needs to have the unchanged
target "info" to build a release with the info version not possibly
influenced by git describe.

Michael

[-- Attachment #2: Type: text/html, Size: 2110 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-27 18:24               ` Michael Brand
@ 2011-10-28  9:26                 ` Achim Gratz
  2011-10-29 11:40                   ` Michael Brand
  0 siblings, 1 reply; 15+ messages in thread
From: Achim Gratz @ 2011-10-28  9:26 UTC (permalink / raw)
  To: emacs-orgmode

Michael Brand <michael.ch.brand@gmail.com> writes:
> If set-version.pl would be obsolete my patch would be much shorter and
> I would use something even more portable than perl to change the
> version in /tmp/org.texi like the POSIX/SUS ed command, used inline in
> the Makefile. Would you agree?

I don't know if it is still used by the maintainers for preparing a
release.  I do know that there are no version numbers in the source
files any more, so that part of set-version.pl surely is obsolete.  The
other parts may become obsolete if whatever is still in used can be
moved to make.  I've already started to reduce the reliance on perl in
my branch, switching to sed where possible.

> I can remember some discussion but haven't realized that the outcome
> is a pending merge. Hence I declare version 2 of my patch as "Changes
> Requested" on patchwork (can't change this myself) and will rebase it
> against your changes.

Again I don't know if or when this gets merged.  I've already used up my
TINYCHANGEs and hit an impasse with the FSF papers that I don't know how
to resolve... :-(  Then again, the build system doesn't really become
part of Emacs, but it's up to the maintainers to decide.

> Yes, good point. I was aware of that and therefore for the target
> "info-vg", doc/org.texi is copied to /tmp/org.texi, altered only there
> and makeinfo reads from there.

I'd much prefer to inject the version in a different way, not making an
altered copy that the build works from.  The result is the same, but it
doesn't feel OK... so probably the solution should be to get the version
injected via some @set in an @include file (that's the recommended way
from the Texinfo perspective, anyway) that is produced by make whenever
the source file changes.

> And I _added_ the target "info-vg" because implementing the same
> functionality in the target "info" itself, by either adding an
> auto-detect whether git describe is available (like org-version does)
> or using org-version itself, is not an option. One still needs to have
> the unchanged target "info" to build a release with the info version
> not possibly influenced by git describe.

I posit that if it's worth to have that (I'd say yes), ``make info´´
should do that, in a way that is compatible with version control.
Anyway, I've implemented the requested functionality into my Makefile
fork, please test.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Waldorf MIDI Implementation & additional documentation:
http://Synth.Stromeko.net/Downloads.html#WaldorfDocs

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-28  9:26                 ` Achim Gratz
@ 2011-10-29 11:40                   ` Michael Brand
  2011-10-30  7:01                     ` Achim Gratz
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Brand @ 2011-10-29 11:40 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-orgmode

Hi Achim

On Fri, Oct 28, 2011 at 11:26, Achim Gratz <Stromeko@nexgo.de> wrote:
> Again I don't know if or when this gets merged.  I've already used up my
> TINYCHANGEs and hit an impasse with the FSF papers that I don't know how
> to resolve... :-(  Then again, the build system doesn't really become
> part of Emacs, but it's up to the maintainers to decide.

I hope that this can be solved and that your Makefile restructuring
will be merged into master.

> I'd much prefer to inject the version in a different way, not making an
> altered copy that the build works from.  The result is the same, but it
> doesn't feel OK... so probably the solution should be to get the version
> injected via some @set in an @include file (that's the recommended way
> from the Texinfo perspective, anyway) that is produced by make whenever
> the source file changes.

I prefer this cleaner solution you have just implemented too of course.

>> And I _added_ the target "info-vg" because implementing the same
>> functionality in the target "info" itself, by either adding an
>> auto-detect whether git describe is available (like org-version does)
>> or using org-version itself, is not an option. One still needs to have
>> the unchanged target "info" to build a release with the info version
>> not possibly influenced by git describe.
>
> I posit that if it's worth to have that (I'd say yes), ``make info´´
> should do that, in a way that is compatible with version control.

Is it possible with your current "make info" to get an info file
without git describe for a release like ELPA when made from within a
git repo and also for Emacs when building Emacs from a bzr-mirroring
git repo?

> Anyway, I've implemented the requested functionality into my Makefile
> fork, please test.

Thank you for this implementation. Since my patch discussed here is
now superseded by your branch I thought it would be cleaner to put my
comments to the sub-thread "Makefile restructuring" starting here:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-07/msg00680.html

Michael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-29 11:40                   ` Michael Brand
@ 2011-10-30  7:01                     ` Achim Gratz
  2011-10-30 14:20                       ` Michael Brand
  0 siblings, 1 reply; 15+ messages in thread
From: Achim Gratz @ 2011-10-30  7:01 UTC (permalink / raw)
  To: emacs-orgmode

Michael Brand <michael.ch.brand@gmail.com> writes:
> Is it possible with your current "make info" to get an info file
> without git describe for a release like ELPA when made from within a
> git repo

Why should the git-describe info not be part of the ELPA tarball?  If
there is a good reason not to include it (I think it is useful
to know which commit the ELPA archive was built on) one could alter the
include file before rolling the tar ball of course.

> and also for Emacs when building Emacs from a bzr-mirroring
> git repo?

Emacs does have its own build system.  So there's be two possibilities:
a) just copy over git-decribe.texi as is or b) alter it and put in any
information that's deemed more appropriate before it gets copied over to
bzr.  It might even be useful to actually include the information back
into the org.texi file to have a single file.  Once it is decided how
this should be handled, it can all become part of the makefile of
course.

Please note that the name "git-describe.texi" is only a suggestion and
should probably be changed later on to something like "version.texi".

>> Anyway, I've implemented the requested functionality into my Makefile
>> fork, please test.
>
> Thank you for this implementation. Since my patch discussed here is
> now superseded by your branch I thought it would be cleaner to put my
> comments to the sub-thread "Makefile restructuring" starting here:
> http://lists.gnu.org/archive/html/emacs-orgmode/2011-07/msg00680.html

Thank you.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: "git describe" in version of info file with "make info_git_describe"
  2011-10-30  7:01                     ` Achim Gratz
@ 2011-10-30 14:20                       ` Michael Brand
  0 siblings, 0 replies; 15+ messages in thread
From: Michael Brand @ 2011-10-30 14:20 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-orgmode

Hi Achim

On Sun, Oct 30, 2011 at 08:01, Achim Gratz <Stromeko@nexgo.de> wrote:
> Why should the git-describe info not be part of the ELPA tarball?  If
> there is a good reason not to include it (I think it is useful
> to know which commit the ELPA archive was built on) one could alter the
> include file before rolling the tar ball of course.

Now I see. No need for that, I didn't take into account that git
describe is not used to _replace_ "7.7" any more as my simpler
implementation did but is just _added_. Again the cleaner solution,
without the need for different behaviors.

Michael

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-10-30 14:20 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-02 14:11 "git describe" in version of info file with "make info_git_describe" Michael Brand
2011-06-02 14:47 ` Bernt Hansen
2011-06-02 15:05   ` Michael Brand
2011-06-02 19:36     ` Michael Brand
2011-10-16 19:12       ` Michael Brand
2011-10-21 14:44         ` Carsten Dominik
2011-10-21 16:13           ` Bernt Hansen
2011-10-23 22:50             ` Bernt Hansen
2011-10-26 16:07           ` Michael Brand
2011-10-26 16:56             ` Achim Gratz
2011-10-27 18:24               ` Michael Brand
2011-10-28  9:26                 ` Achim Gratz
2011-10-29 11:40                   ` Michael Brand
2011-10-30  7:01                     ` Achim Gratz
2011-10-30 14:20                       ` Michael Brand

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).