Diff
Not logged in

Differences From Artifact [3209afd0c1]:

To Artifact [52be5fb4d2]:


602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
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

      if {[catch {
        eval exec -nocarriagereturns -stdout output -stderr error \
            [subst $fossilInfoCommand]
      } result] == 0} then {
        set result [appendArgs $output $error]
      } else {
        return false
      }
    } else {
      set directory $scriptDirectory

      if {[catch {
        eval exec [subst $fossilInfoCommand]
      } result]} then {
        return false
      }
    }

    if {![info exists result] || ![regexp -line -- \
        $fossilInfoLocalRootPattern $result dummy directory]} then {
      return ""
    }

    return [string trim $directory]
  }

  #
  # 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 {![info exists checkoutDirectory]} then {
      error "checkout directory is missing"


    }

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


    }

    if {![file isdir $checkoutDirectory]} then {
      error [appendArgs \
          "checkout directory \"" $checkoutDirectory \
          "\" is not really a directory"]


    }
  }

  #
  # 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.







|







|




















>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|
>
>



|
>
>



|


>
>







602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
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

      if {[catch {
        eval exec -nocarriagereturns -stdout output -stderr error \
            [subst $fossilInfoCommand]
      } result] == 0} then {
        set result [appendArgs $output $error]
      } else {
        return ""
      }
    } else {
      set directory $scriptDirectory

      if {[catch {
        eval exec [subst $fossilInfoCommand]
      } result]} then {
        return ""
      }
    }

    if {![info exists result] || ![regexp -line -- \
        $fossilInfoLocalRootPattern $result dummy directory]} then {
      return ""
    }

    return [string trim $directory]
  }

  #
  # 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
    } 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}
        fossil clone https://your_login@pkg.management/pkgd pkgd.fossil
        mkdir ${checkouts}
        cd ${checkouts}
        fossil open [file join ${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]
    }]]

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

      error [string map [list %error% $error] $message]
    }

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

      error [string map [list %error% $error] $message]
    }

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

      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.