/ Check-in [9a14e6c4]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:In releasetest.tcl: Improved testing for uncommitted changes. If uncommitted changes are seen, exit immediately unless the --force option is used.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 9a14e6c46cdda9f10151ee96a0540798573edcf2
User & Date: drh 2016-09-09 12:29:57
Context
2016-09-09
13:17
Fix an obsolete comment in the releasetest.tcl source code. check-in: afaaa276 user: drh tags: trunk
12:29
In releasetest.tcl: Improved testing for uncommitted changes. If uncommitted changes are seen, exit immediately unless the --force option is used. check-in: 9a14e6c4 user: drh tags: trunk
2016-09-08
23:12
Issue a warning and prompt the user to continue if the releasetest.tcl script is run in a checkout with uncommitted changes. check-in: 30e917ff user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to test/releasetest.tcl.

5
6
7
8
9
10
11
12
13
14

15
16

17

18
19

20
21
22
23
24
25
26
27
28
29
30
...
774
775
776
777
778
779
780

781
782
783
784
785
786
787
...
828
829
830
831
832
833
834





835
836
837
838
839
840
841
...
926
927
928
929
930
931
932



933
934
935
936
937
938
939

940

941
942
943
944
945
946
947
# proc below.
#
set ::USAGE_MESSAGE {
This Tcl script is used to test the various configurations required
before releasing a new version. Supported command line options (all
optional) are:

    --srcdir   TOP-OF-SQLITE-TREE      (see below)
    --platform PLATFORM                (see below)
    --config   CONFIGNAME              (Run only CONFIGNAME)

    --quick                            (Run "veryquick.test" only)
    --veryquick                        (Run "make smoketest" only)

    --msvc                             (Use MSVC as the compiler)

    --buildonly                        (Just build testfixture - do not run)
    --dryrun                           (Print what would have happened)

    --info                             (Show diagnostic info)
    --with-tcl=DIR                     (Use TCL build at DIR)
    --jobs     N                       (Use N processes - default 1)
    --progress                         (Show progress messages)

The default value for --srcdir is the parent of the directory holding
this script.

The script determines the default value for --platform using the
$tcl_platform(os) and $tcl_platform(machine) variables.  Supported
platforms are "Linux-x86", "Linux-x86_64", "Darwin-i386",
................................................................................
  set ::MSVC           0
  set ::BUILDONLY      0
  set ::DRYRUN         0
  set ::TRACE          0
  set ::JOBS           1
  set ::PROGRESS_MSGS  0
  set ::WITHTCL        {}

  set config {}
  set platform $::tcl_platform(os)-$::tcl_platform(machine)

  for {set i 0} {$i < [llength $argv]} {incr i} {
    set x [lindex $argv $i]
    if {[regexp {^--[a-z]} $x]} {set x [string range $x 1 end]}
    switch -glob -- $x {
................................................................................
      -buildonly {
        set ::BUILDONLY 1
      }

      -dryrun {
        set ::DRYRUN 1
      }






      -trace {
        set ::TRACE 1
      }

      -info {
        PUTS "Command-line Options:"
................................................................................
  PUTS ""
}

# Check to see if there are changes in the checkout.  If there are
# prompt the user to see if he wants to continue.
#
proc check_uncommitted {} {



  if {[catch {exec fossil changes} res]==0 && [string trim $res]!=""} {
    puts "The check-out contains uncommitted changes:"
    puts $res
    puts -nonewline "Run test anyhow (y/N)? "
    flush stdout
    set in [gets stdin]
    if {$in!="y"} exit

  }

}


# Main routine.
#
proc main {argv} {








|
<

>
|
|
>

>
|
|
>
|

<
<







 







>







 







>
>
>
>
>







 







>
>
>

|

<
<
<
|
>

>







5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
20
21
22
23
24


25
26
27
28
29
30
31
...
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
...
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
...
933
934
935
936
937
938
939
940
941
942
943
944
945



946
947
948
949
950
951
952
953
954
955
956
# proc below.
#
set ::USAGE_MESSAGE {
This Tcl script is used to test the various configurations required
before releasing a new version. Supported command line options (all
optional) are:

    --buildonly                        (Just build testfixture - do not run)

    --config   CONFIGNAME              (Run only CONFIGNAME)
    --dryrun                           (Print what would have happened)
    -f|--force                         (Run even if uncommitted changes)
    --info                             (Show diagnostic info)
    --jobs     N                       (Use N processes - default 1)
    --msvc                             (Use MSVC as the compiler)
    --platform PLATFORM                (see below)
    --progress                         (Show progress messages)
    --quick                            (Run "veryquick.test" only)
    --srcdir   TOP-OF-SQLITE-TREE      (see below)
    --veryquick                        (Run "make smoketest" only)
    --with-tcl=DIR                     (Use TCL build at DIR)



The default value for --srcdir is the parent of the directory holding
this script.

The script determines the default value for --platform using the
$tcl_platform(os) and $tcl_platform(machine) variables.  Supported
platforms are "Linux-x86", "Linux-x86_64", "Darwin-i386",
................................................................................
  set ::MSVC           0
  set ::BUILDONLY      0
  set ::DRYRUN         0
  set ::TRACE          0
  set ::JOBS           1
  set ::PROGRESS_MSGS  0
  set ::WITHTCL        {}
  set ::FORCE          0
  set config {}
  set platform $::tcl_platform(os)-$::tcl_platform(machine)

  for {set i 0} {$i < [llength $argv]} {incr i} {
    set x [lindex $argv $i]
    if {[regexp {^--[a-z]} $x]} {set x [string range $x 1 end]}
    switch -glob -- $x {
................................................................................
      -buildonly {
        set ::BUILDONLY 1
      }

      -dryrun {
        set ::DRYRUN 1
      }

      -force -
      -f {
        set ::FORCE 1
      }

      -trace {
        set ::TRACE 1
      }

      -info {
        PUTS "Command-line Options:"
................................................................................
  PUTS ""
}

# Check to see if there are changes in the checkout.  If there are
# prompt the user to see if he wants to continue.
#
proc check_uncommitted {} {
  if {$::FORCE} return
  set pwd [pwd]
  cd $::SRCDIR
  if {[catch {exec fossil changes} res]==0 && [string trim $res]!=""} {
    puts "ERROR: The check-out contains uncommitted changes:"
    puts $res



    puts "Use the -f or --force options to override"
    exit 1
  }
  cd $pwd
}


# Main routine.
#
proc main {argv} {