toolkit/crashreporter/google-breakpad/src/third_party/glog/depcomp

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rwxr-xr-x

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 #! /bin/sh
     2 # depcomp - compile a program generating dependencies as side-effects
     4 scriptversion=2007-03-29.01
     6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
     7 # Foundation, Inc.
     9 # This program is free software; you can redistribute it and/or modify
    10 # it under the terms of the GNU General Public License as published by
    11 # the Free Software Foundation; either version 2, or (at your option)
    12 # any later version.
    14 # This program is distributed in the hope that it will be useful,
    15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
    16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    17 # GNU General Public License for more details.
    19 # You should have received a copy of the GNU General Public License
    20 # along with this program; if not, write to the Free Software
    21 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    22 # 02110-1301, USA.
    24 # As a special exception to the GNU General Public License, if you
    25 # distribute this file as part of a program that contains a
    26 # configuration script generated by Autoconf, you may include it under
    27 # the same distribution terms that you use for the rest of that program.
    29 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
    31 case $1 in
    32   '')
    33      echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
    34      exit 1;
    35      ;;
    36   -h | --h*)
    37     cat <<\EOF
    38 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
    40 Run PROGRAMS ARGS to compile a file, generating dependencies
    41 as side-effects.
    43 Environment variables:
    44   depmode     Dependency tracking mode.
    45   source      Source file read by `PROGRAMS ARGS'.
    46   object      Object file output by `PROGRAMS ARGS'.
    47   DEPDIR      directory where to store dependencies.
    48   depfile     Dependency file to output.
    49   tmpdepfile  Temporary file to use when outputing dependencies.
    50   libtool     Whether libtool is used (yes/no).
    52 Report bugs to <bug-automake@gnu.org>.
    53 EOF
    54     exit $?
    55     ;;
    56   -v | --v*)
    57     echo "depcomp $scriptversion"
    58     exit $?
    59     ;;
    60 esac
    62 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
    63   echo "depcomp: Variables source, object and depmode must be set" 1>&2
    64   exit 1
    65 fi
    67 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
    68 depfile=${depfile-`echo "$object" |
    69   sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
    70 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
    72 rm -f "$tmpdepfile"
    74 # Some modes work just like other modes, but use different flags.  We
    75 # parameterize here, but still list the modes in the big case below,
    76 # to make depend.m4 easier to write.  Note that we *cannot* use a case
    77 # here, because this file can only contain one case statement.
    78 if test "$depmode" = hp; then
    79   # HP compiler uses -M and no extra arg.
    80   gccflag=-M
    81   depmode=gcc
    82 fi
    84 if test "$depmode" = dashXmstdout; then
    85    # This is just like dashmstdout with a different argument.
    86    dashmflag=-xM
    87    depmode=dashmstdout
    88 fi
    90 case "$depmode" in
    91 gcc3)
    92 ## gcc 3 implements dependency tracking that does exactly what
    93 ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
    94 ## it if -MD -MP comes after the -MF stuff.  Hmm.
    95 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
    96 ## the command line argument order; so add the flags where they
    97 ## appear in depend2.am.  Note that the slowdown incurred here
    98 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
    99   for arg
   100   do
   101     case $arg in
   102     -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
   103     *)  set fnord "$@" "$arg" ;;
   104     esac
   105     shift # fnord
   106     shift # $arg
   107   done
   108   "$@"
   109   stat=$?
   110   if test $stat -eq 0; then :
   111   else
   112     rm -f "$tmpdepfile"
   113     exit $stat
   114   fi
   115   mv "$tmpdepfile" "$depfile"
   116   ;;
   118 gcc)
   119 ## There are various ways to get dependency output from gcc.  Here's
   120 ## why we pick this rather obscure method:
   121 ## - Don't want to use -MD because we'd like the dependencies to end
   122 ##   up in a subdir.  Having to rename by hand is ugly.
   123 ##   (We might end up doing this anyway to support other compilers.)
   124 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
   125 ##   -MM, not -M (despite what the docs say).
   126 ## - Using -M directly means running the compiler twice (even worse
   127 ##   than renaming).
   128   if test -z "$gccflag"; then
   129     gccflag=-MD,
   130   fi
   131   "$@" -Wp,"$gccflag$tmpdepfile"
   132   stat=$?
   133   if test $stat -eq 0; then :
   134   else
   135     rm -f "$tmpdepfile"
   136     exit $stat
   137   fi
   138   rm -f "$depfile"
   139   echo "$object : \\" > "$depfile"
   140   alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
   141 ## The second -e expression handles DOS-style file names with drive letters.
   142   sed -e 's/^[^:]*: / /' \
   143       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
   144 ## This next piece of magic avoids the `deleted header file' problem.
   145 ## The problem is that when a header file which appears in a .P file
   146 ## is deleted, the dependency causes make to die (because there is
   147 ## typically no way to rebuild the header).  We avoid this by adding
   148 ## dummy dependencies for each header file.  Too bad gcc doesn't do
   149 ## this for us directly.
   150   tr ' ' '
   151 ' < "$tmpdepfile" |
   152 ## Some versions of gcc put a space before the `:'.  On the theory
   153 ## that the space means something, we add a space to the output as
   154 ## well.
   155 ## Some versions of the HPUX 10.20 sed can't process this invocation
   156 ## correctly.  Breaking it into two sed invocations is a workaround.
   157     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   158   rm -f "$tmpdepfile"
   159   ;;
   161 hp)
   162   # This case exists only to let depend.m4 do its work.  It works by
   163   # looking at the text of this script.  This case will never be run,
   164   # since it is checked for above.
   165   exit 1
   166   ;;
   168 sgi)
   169   if test "$libtool" = yes; then
   170     "$@" "-Wp,-MDupdate,$tmpdepfile"
   171   else
   172     "$@" -MDupdate "$tmpdepfile"
   173   fi
   174   stat=$?
   175   if test $stat -eq 0; then :
   176   else
   177     rm -f "$tmpdepfile"
   178     exit $stat
   179   fi
   180   rm -f "$depfile"
   182   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
   183     echo "$object : \\" > "$depfile"
   185     # Clip off the initial element (the dependent).  Don't try to be
   186     # clever and replace this with sed code, as IRIX sed won't handle
   187     # lines with more than a fixed number of characters (4096 in
   188     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
   189     # the IRIX cc adds comments like `#:fec' to the end of the
   190     # dependency line.
   191     tr ' ' '
   192 ' < "$tmpdepfile" \
   193     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
   194     tr '
   195 ' ' ' >> $depfile
   196     echo >> $depfile
   198     # The second pass generates a dummy entry for each header file.
   199     tr ' ' '
   200 ' < "$tmpdepfile" \
   201    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
   202    >> $depfile
   203   else
   204     # The sourcefile does not contain any dependencies, so just
   205     # store a dummy comment line, to avoid errors with the Makefile
   206     # "include basename.Plo" scheme.
   207     echo "#dummy" > "$depfile"
   208   fi
   209   rm -f "$tmpdepfile"
   210   ;;
   212 aix)
   213   # The C for AIX Compiler uses -M and outputs the dependencies
   214   # in a .u file.  In older versions, this file always lives in the
   215   # current directory.  Also, the AIX compiler puts `$object:' at the
   216   # start of each line; $object doesn't have directory information.
   217   # Version 6 uses the directory in both cases.
   218   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   219   test "x$dir" = "x$object" && dir=
   220   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   221   if test "$libtool" = yes; then
   222     tmpdepfile1=$dir$base.u
   223     tmpdepfile2=$base.u
   224     tmpdepfile3=$dir.libs/$base.u
   225     "$@" -Wc,-M
   226   else
   227     tmpdepfile1=$dir$base.u
   228     tmpdepfile2=$dir$base.u
   229     tmpdepfile3=$dir$base.u
   230     "$@" -M
   231   fi
   232   stat=$?
   234   if test $stat -eq 0; then :
   235   else
   236     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
   237     exit $stat
   238   fi
   240   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
   241   do
   242     test -f "$tmpdepfile" && break
   243   done
   244   if test -f "$tmpdepfile"; then
   245     # Each line is of the form `foo.o: dependent.h'.
   246     # Do two passes, one to just change these to
   247     # `$object: dependent.h' and one to simply `dependent.h:'.
   248     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
   249     # That's a tab and a space in the [].
   250     sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   251   else
   252     # The sourcefile does not contain any dependencies, so just
   253     # store a dummy comment line, to avoid errors with the Makefile
   254     # "include basename.Plo" scheme.
   255     echo "#dummy" > "$depfile"
   256   fi
   257   rm -f "$tmpdepfile"
   258   ;;
   260 icc)
   261   # Intel's C compiler understands `-MD -MF file'.  However on
   262   #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   263   # ICC 7.0 will fill foo.d with something like
   264   #    foo.o: sub/foo.c
   265   #    foo.o: sub/foo.h
   266   # which is wrong.  We want:
   267   #    sub/foo.o: sub/foo.c
   268   #    sub/foo.o: sub/foo.h
   269   #    sub/foo.c:
   270   #    sub/foo.h:
   271   # ICC 7.1 will output
   272   #    foo.o: sub/foo.c sub/foo.h
   273   # and will wrap long lines using \ :
   274   #    foo.o: sub/foo.c ... \
   275   #     sub/foo.h ... \
   276   #     ...
   278   "$@" -MD -MF "$tmpdepfile"
   279   stat=$?
   280   if test $stat -eq 0; then :
   281   else
   282     rm -f "$tmpdepfile"
   283     exit $stat
   284   fi
   285   rm -f "$depfile"
   286   # Each line is of the form `foo.o: dependent.h',
   287   # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
   288   # Do two passes, one to just change these to
   289   # `$object: dependent.h' and one to simply `dependent.h:'.
   290   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
   291   # Some versions of the HPUX 10.20 sed can't process this invocation
   292   # correctly.  Breaking it into two sed invocations is a workaround.
   293   sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
   294     sed -e 's/$/ :/' >> "$depfile"
   295   rm -f "$tmpdepfile"
   296   ;;
   298 hp2)
   299   # The "hp" stanza above does not work with aCC (C++) and HP's ia64
   300   # compilers, which have integrated preprocessors.  The correct option
   301   # to use with these is +Maked; it writes dependencies to a file named
   302   # 'foo.d', which lands next to the object file, wherever that
   303   # happens to be.
   304   # Much of this is similar to the tru64 case; see comments there.
   305   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   306   test "x$dir" = "x$object" && dir=
   307   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   308   if test "$libtool" = yes; then
   309     tmpdepfile1=$dir$base.d
   310     tmpdepfile2=$dir.libs/$base.d
   311     "$@" -Wc,+Maked
   312   else
   313     tmpdepfile1=$dir$base.d
   314     tmpdepfile2=$dir$base.d
   315     "$@" +Maked
   316   fi
   317   stat=$?
   318   if test $stat -eq 0; then :
   319   else
   320      rm -f "$tmpdepfile1" "$tmpdepfile2"
   321      exit $stat
   322   fi
   324   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
   325   do
   326     test -f "$tmpdepfile" && break
   327   done
   328   if test -f "$tmpdepfile"; then
   329     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
   330     # Add `dependent.h:' lines.
   331     sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
   332   else
   333     echo "#dummy" > "$depfile"
   334   fi
   335   rm -f "$tmpdepfile" "$tmpdepfile2"
   336   ;;
   338 tru64)
   339    # The Tru64 compiler uses -MD to generate dependencies as a side
   340    # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
   341    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
   342    # dependencies in `foo.d' instead, so we check for that too.
   343    # Subdirectories are respected.
   344    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   345    test "x$dir" = "x$object" && dir=
   346    base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   348    if test "$libtool" = yes; then
   349       # With Tru64 cc, shared objects can also be used to make a
   350       # static library.  This mechanism is used in libtool 1.4 series to
   351       # handle both shared and static libraries in a single compilation.
   352       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
   353       #
   354       # With libtool 1.5 this exception was removed, and libtool now
   355       # generates 2 separate objects for the 2 libraries.  These two
   356       # compilations output dependencies in $dir.libs/$base.o.d and
   357       # in $dir$base.o.d.  We have to check for both files, because
   358       # one of the two compilations can be disabled.  We should prefer
   359       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
   360       # automatically cleaned when .libs/ is deleted, while ignoring
   361       # the former would cause a distcleancheck panic.
   362       tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
   363       tmpdepfile2=$dir$base.o.d          # libtool 1.5
   364       tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
   365       tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
   366       "$@" -Wc,-MD
   367    else
   368       tmpdepfile1=$dir$base.o.d
   369       tmpdepfile2=$dir$base.d
   370       tmpdepfile3=$dir$base.d
   371       tmpdepfile4=$dir$base.d
   372       "$@" -MD
   373    fi
   375    stat=$?
   376    if test $stat -eq 0; then :
   377    else
   378       rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
   379       exit $stat
   380    fi
   382    for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
   383    do
   384      test -f "$tmpdepfile" && break
   385    done
   386    if test -f "$tmpdepfile"; then
   387       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
   388       # That's a tab and a space in the [].
   389       sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   390    else
   391       echo "#dummy" > "$depfile"
   392    fi
   393    rm -f "$tmpdepfile"
   394    ;;
   396 #nosideeffect)
   397   # This comment above is used by automake to tell side-effect
   398   # dependency tracking mechanisms from slower ones.
   400 dashmstdout)
   401   # Important note: in order to support this mode, a compiler *must*
   402   # always write the preprocessed file to stdout, regardless of -o.
   403   "$@" || exit $?
   405   # Remove the call to Libtool.
   406   if test "$libtool" = yes; then
   407     while test $1 != '--mode=compile'; do
   408       shift
   409     done
   410     shift
   411   fi
   413   # Remove `-o $object'.
   414   IFS=" "
   415   for arg
   416   do
   417     case $arg in
   418     -o)
   419       shift
   420       ;;
   421     $object)
   422       shift
   423       ;;
   424     *)
   425       set fnord "$@" "$arg"
   426       shift # fnord
   427       shift # $arg
   428       ;;
   429     esac
   430   done
   432   test -z "$dashmflag" && dashmflag=-M
   433   # Require at least two characters before searching for `:'
   434   # in the target name.  This is to cope with DOS-style filenames:
   435   # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
   436   "$@" $dashmflag |
   437     sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
   438   rm -f "$depfile"
   439   cat < "$tmpdepfile" > "$depfile"
   440   tr ' ' '
   441 ' < "$tmpdepfile" | \
   442 ## Some versions of the HPUX 10.20 sed can't process this invocation
   443 ## correctly.  Breaking it into two sed invocations is a workaround.
   444     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   445   rm -f "$tmpdepfile"
   446   ;;
   448 dashXmstdout)
   449   # This case only exists to satisfy depend.m4.  It is never actually
   450   # run, as this mode is specially recognized in the preamble.
   451   exit 1
   452   ;;
   454 makedepend)
   455   "$@" || exit $?
   456   # Remove any Libtool call
   457   if test "$libtool" = yes; then
   458     while test $1 != '--mode=compile'; do
   459       shift
   460     done
   461     shift
   462   fi
   463   # X makedepend
   464   shift
   465   cleared=no
   466   for arg in "$@"; do
   467     case $cleared in
   468     no)
   469       set ""; shift
   470       cleared=yes ;;
   471     esac
   472     case "$arg" in
   473     -D*|-I*)
   474       set fnord "$@" "$arg"; shift ;;
   475     # Strip any option that makedepend may not understand.  Remove
   476     # the object too, otherwise makedepend will parse it as a source file.
   477     -*|$object)
   478       ;;
   479     *)
   480       set fnord "$@" "$arg"; shift ;;
   481     esac
   482   done
   483   obj_suffix="`echo $object | sed 's/^.*\././'`"
   484   touch "$tmpdepfile"
   485   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   486   rm -f "$depfile"
   487   cat < "$tmpdepfile" > "$depfile"
   488   sed '1,2d' "$tmpdepfile" | tr ' ' '
   489 ' | \
   490 ## Some versions of the HPUX 10.20 sed can't process this invocation
   491 ## correctly.  Breaking it into two sed invocations is a workaround.
   492     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   493   rm -f "$tmpdepfile" "$tmpdepfile".bak
   494   ;;
   496 cpp)
   497   # Important note: in order to support this mode, a compiler *must*
   498   # always write the preprocessed file to stdout.
   499   "$@" || exit $?
   501   # Remove the call to Libtool.
   502   if test "$libtool" = yes; then
   503     while test $1 != '--mode=compile'; do
   504       shift
   505     done
   506     shift
   507   fi
   509   # Remove `-o $object'.
   510   IFS=" "
   511   for arg
   512   do
   513     case $arg in
   514     -o)
   515       shift
   516       ;;
   517     $object)
   518       shift
   519       ;;
   520     *)
   521       set fnord "$@" "$arg"
   522       shift # fnord
   523       shift # $arg
   524       ;;
   525     esac
   526   done
   528   "$@" -E |
   529     sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
   530        -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
   531     sed '$ s: \\$::' > "$tmpdepfile"
   532   rm -f "$depfile"
   533   echo "$object : \\" > "$depfile"
   534   cat < "$tmpdepfile" >> "$depfile"
   535   sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
   536   rm -f "$tmpdepfile"
   537   ;;
   539 msvisualcpp)
   540   # Important note: in order to support this mode, a compiler *must*
   541   # always write the preprocessed file to stdout, regardless of -o,
   542   # because we must use -o when running libtool.
   543   "$@" || exit $?
   544   IFS=" "
   545   for arg
   546   do
   547     case "$arg" in
   548     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
   549 	set fnord "$@"
   550 	shift
   551 	shift
   552 	;;
   553     *)
   554 	set fnord "$@" "$arg"
   555 	shift
   556 	shift
   557 	;;
   558     esac
   559   done
   560   "$@" -E |
   561   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
   562   rm -f "$depfile"
   563   echo "$object : \\" > "$depfile"
   564   . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
   565   echo "	" >> "$depfile"
   566   . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   567   rm -f "$tmpdepfile"
   568   ;;
   570 none)
   571   exec "$@"
   572   ;;
   574 *)
   575   echo "Unknown depmode $depmode" 1>&2
   576   exit 1
   577   ;;
   578 esac
   580 exit 0
   582 # Local Variables:
   583 # mode: shell-script
   584 # sh-indentation: 2
   585 # eval: (add-hook 'write-file-hooks 'time-stamp)
   586 # time-stamp-start: "scriptversion="
   587 # time-stamp-format: "%:y-%02m-%02d.%02H"
   588 # time-stamp-end: "$"
   589 # End:

mercurial