I think your search is following some symbolic links: only three of these 
instances are under version control (git):

    % git grep 'resolvelinks()'
    sage:resolvelinks() {
    src/bin/sage:resolvelinks() {
    src/bin/sage-env:resolvelinks() {

The last one should probably have a comment in line with the first two.


On Thursday, April 14, 2022 at 4:55:08 PM UTC-7 hohoa...@gmail.com wrote:

> Hi,
>
> <quote>
> Personally, I would rather see the time spent investigating whether or
> not we truly need the symlink-free path in the instances where
> resolvelinks() is currently used. I would guess not -- that there is a
> better solution to whatever other problem prompted the resolvelinks()
> function. But I don't know what that problem was. And to remove the
> function and "see what happens" would be committing yourself to
> answering bug reports from weird sage installs for the next twelve
> months.
> </quote>
>
> Now your concern is truly appreciated.
>
>  "Find in File" in "Visual Studio Code" reveals duplications in* 24 files 
> in 13 directories* (please find the results appended below)
>
> It is amazing that SageMath is still maintainable up to now,  release 9.6
> Maybe 'resolvelinks' is just  the tip of an iceberg (something more 
> important is missing?)
>
> Best wishes,
>
> phiho
>
> *# Query: resolvelinks()*
> # ContextLines: 1
>
> 24 results - 24 files
>
> sage/sage:
>   32  # meantime however the two should be kept synchronized.
>   33: resolvelinks() {
>   34      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/build/pkgs/sagelib/src/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/build/pkgs/sagelib/src/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/build/pkgs/sagemath_categories/src/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/build/pkgs/sagemath_categories/src/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/build/pkgs/sagemath_objects/src/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/build/pkgs/sagemath_objects/src/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/build/scripts-3.10/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/build/scripts-3.10/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_categories/src/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_categories/src/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_objects/src/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_objects/src/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sage-conf_pypi/sage_root/src/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sagemath-categories/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sagemath-categories/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sagemath-objects/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sagemath-objects/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sagemath-standard/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/pkgs/sagemath-standard/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/src/bin/sage:
>   4  # the top-level "sage" script. Please keep them synchronized.
>   5: resolvelinks() {
>   6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> sage/src/bin/sage-env:
>   35  #
>   36: resolvelinks() {
>   37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
> *# Query: resolvelinks* 
> # ContextLines: 1
>
> 36 results - 24 files
>
> sage/sage:
>   110      # resolved
>   111:     SAGE_ROOT=`resolvelinks "$0"` || \
>   112      SAGE_ROOT="$0"
>
> sage/build/pkgs/sagelib/src/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/build/pkgs/sagelib/src/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/build/pkgs/sagemath_categories/src/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/build/pkgs/sagemath_categories/src/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/build/pkgs/sagemath_objects/src/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/build/pkgs/sagemath_objects/src/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/build/scripts-3.10/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/build/scripts-3.10/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_categories/src/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_categories/src/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_objects/src/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_objects/src/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sage-conf_pypi/sage_root/src/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sagemath-categories/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/pkgs/sagemath-categories/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sagemath-objects/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/pkgs/sagemath-objects/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sagemath-standard/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/pkgs/sagemath-standard/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/src/bin/sage:
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/src/bin/sage-env:
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> (*resolvelinks() * and   *resolvelinks c*ombined)
>
> *# Query: resolvelinks*
> # ContextLines: 1
>
> 60 results - 24 files
>
> sage/sage:
>    32  # meantime however the two should be kept synchronized.
>    33: resolvelinks() {
>    34      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   110      # resolved
>   111:     SAGE_ROOT=`resolvelinks "$0"` || \
>   112      SAGE_ROOT="$0"
>
> sage/build/pkgs/sagelib/src/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/build/pkgs/sagelib/src/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/build/pkgs/sagemath_categories/src/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/build/pkgs/sagemath_categories/src/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/build/pkgs/sagemath_objects/src/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/build/pkgs/sagemath_objects/src/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/build/scripts-3.10/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagelib/src/build/scripts-3.10/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_categories/src/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_categories/src/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_objects/src/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
>
> sage/pkgs/sage-conf_pypi/sage_root/build/pkgs/sagemath_objects/src/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sage-conf_pypi/sage_root/src/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sagemath-categories/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/pkgs/sagemath-categories/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sagemath-objects/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/pkgs/sagemath-objects/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/pkgs/sagemath-standard/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/pkgs/sagemath-standard/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
> sage/src/bin/sage:
>    4  # the top-level "sage" script. Please keep them synchronized.
>    5: resolvelinks() {
>    6      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   80  # a symlink (Trac #30888).
>   81: SELF=$(resolvelinks "${0}")
>   82  
>
> sage/src/bin/sage-env:
>    35  #
>    36: resolvelinks() {
>    37      # $in is what still needs to be converted (normally has no 
> starting slash)
>
>   338      # non-existing directory.
>   339:     DOT_SAGE=`resolvelinks "$HOME/.sage"`
>   340  
>
>   630          # The activate script needs to be sourced using its actual 
> path.
>   631:         nodeenv_activate=`resolvelinks "$nodeenv_activate"`
>   632  
>
>
> On Wed, Apr 13, 2022 at 11:21 PM Michael Orlitzky <mic...@orlitzky.com> 
> wrote:
>
>> On Wed, 2022-04-13 at 19:36 -0700, ph h wrote:
>> > Dear All,
>> > 
>> > At the top of 'sage/src/bin/sage' script:
>> > 
>> > <quote>
>> > # WARNING: this function is copy/pasted from both src/bin/sage-env and
>> > # the top-level "sage" script. Please keep them synchronized.
>> > resolvelinks() {
>> > </quote>
>> > 
>> > Is there any other way to keep them in sync without using Copy&Paste?
>> > 
>>
>> I think I'm at least partly responsible for that. There are a few ways
>> we could de-duplicate those scripts, but it's not clear that any of
>> them are less complex or easier to maintain than copy/paste for now.
>>
>> Personally, I would rather see the time spent investigating whether or
>> not we truly need the symlink-free path in the instances where
>> resolvelinks() is currently used. I would guess not -- that there is a
>> better solution to whatever other problem prompted the resolvelinks()
>> function. But I don't know what that problem was. And to remove the
>> function and "see what happens" would be committing yourself to
>> answering bug reports from weird sage installs for the next twelve
>> months.
>>
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sage-devel" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to sage-devel+...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sage-devel/2deae4f7c986bad7542756d2ff32189f99d2a7db.camel%40orlitzky.com
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/2f6814e0-701b-4c55-a119-e49d94ecf5can%40googlegroups.com.

Reply via email to