Diff
Not logged in

Differences From Artifact [52be5fb4d2]:

To Artifact [3d51654b10]:


622
623
624
625
626
627
628








629
630
631
632
633
634
635
636
637
638
639
640


641
642
643
644
645
646
647
648
649
650
651
652
653
654


655
656
657
658



659
660
661
662
663

664
665
666

667
668


669
670
671
672

673
674


675
676
677
678
679

680
681

682
683
684
685
686
687
688
689
690
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646


647
648
649
650
651
652
653
654
655
656
657
658
659
660


661
662
663



664
665
666
667
668
669
670

671
672
673
674
675


676
677

678
679
680
681


682
683

684
685
686

687
688

689


690
691
692
693
694
695
696







+
+
+
+
+
+
+
+










-
-
+
+












-
-
+
+

-
-
-
+
+
+




-
+



+
-
-
+
+
-



+
-
-
+
+
-



-
+

-
+
-
-







        $fossilInfoLocalRootPattern $result dummy directory]} then {
      return ""
    }

    return [string trim $directory]
  }

  #
  # NOTE: This procedure builds a native path using the specified parts and
  #       returns it.  All arguments are considered to be parts of the path.
  #
  proc joinPath { args } {
    return [file nativename [eval file join $args]]
  }

  #
  # NOTE: This procedure attempts to verify that the root directory of the
  #       Fossil checkout is present, valid, and is actually a directory.
  #       There are no arguments.  Script errors will be raised if any of
  #       the checks fail.
  #
  proc verifyCheckoutDirectory {} {
    variable checkoutDirectory

    if {[isWindows]} then {
      set repositories C:\\repositories
      set checkouts C:\\checkouts
      set repositories C:/repositories
      set checkouts C:/checkouts
    } else {
      set repositories ~/repositories
      set checkouts ~/checkouts
    }

    set message [string trim [subst {
      The package client checkout directory has an issue: %error%

      Prior to running the package uploader client tool, Fossil must be
      installed -AND- the Package File Server repository must be cloned
      and opened, using commands very similar to the following:

        mkdir ${repositories}
        cd ${repositories}
        mkdir [joinPath ${repositories}]
        cd [joinPath ${repositories}]
        fossil clone https://your_login@pkg.management/pkgd pkgd.fossil
        mkdir ${checkouts}
        cd ${checkouts}
        fossil open [file join ${repositories} pkgd.fossil]
        mkdir [joinPath ${checkouts}]
        cd [joinPath ${checkouts}]
        fossil open [joinPath ${repositories} pkgd.fossil]

      After the above steps have been completed, package uploader client
      tool can be executed using a command very similar to the following:

        tclsh [file join ${checkouts} client 1.0 neutral pkgr_upload.eagle]
        tclsh [joinPath ${checkouts} client 1.0 neutral pkgr_upload.eagle]
    }]]

    if {![info exists checkoutDirectory]} then {
      error [string map [list \
      set error "checkout directory is missing"

          %error% "checkout directory is missing"] \
          $message]
      error [string map [list %error% $error] $message]
    }

    if {[string length $checkoutDirectory] == 0} then {
      error [string map [list \
      set error "checkout directory is invalid"

          %error% "checkout directory is invalid"] \
          $message]
      error [string map [list %error% $error] $message]
    }

    if {![file isdir $checkoutDirectory]} then {
      set error [appendArgs \
      error [string map [list %error% [appendArgs \
          "checkout directory \"" $checkoutDirectory \
          "\" is not really a directory"]
          "\" is not really a directory"]] $message]

      error [string map [list %error% $error] $message]
    }
  }

  #
  # NOTE: This procedure attempts to verify that an implementation of Fossil
  #       is installed locally.  There are no arguments.  Script errors are
  #       raised if any problems are found.  The return value is undefined.