anchor.diff:      pushd "$tmpdir"
       commit_date="$(${git}/bin/git show -s --pretty='format:%cs')"
       commit_sha="$(${git}/bin/git show -s --pretty='format:%H')"
  +    if [[ -z "$use_stable_version" ]]; then
  +        new_version="unstable-$commit_date"
  +    else
  +        depth=100
  +        while (( $depth < 10000 )); do
  +            last_tag="$(${git}/bin/git describe --tags --abbrev=0 2> /dev/null || true)"
  +            if [[ -n "$last_tag" ]]; then
  +                break
  +            fi
  +            ${git}/bin/git fetch --depth="$depth" --tags
  +            depth=$(( $depth * 2 ))
  +        done
  +        if [[ -z "$last_tag" ]]; then
  +            echo "Cound not found a tag within last 10000 commits" > /dev/stderr
  +            exit 1
  +        fi
  +        if [[ -n "$tag_prefix" ]]; then
  +          last_tag="''${last_tag#$tag_prefix}"
  +        fi
  +        new_version="$last_tag+date=$commit_date"
  +    fi
       popd
  -    ${coreutils}/bin/rm -rf "$tmpdir"
  +    # ${coreutils}/bin/rm -rf "$tmpdir"
   
       # update the nix expression
       ${common-updater-scripts}/bin/update-source-version \
           "$UPDATE_NIX_ATTR_PATH" \
  -        "unstable-$commit_date" \
  +        "$new_version" \
           --rev="$commit_sha"
     '';
   
  
positive.code: 
      url=""
      branch=""
  
      while (( $# > 0 )); do
          flag="$1"
  
negative.code: # commit.
  { url ? null # The git url, if empty it will be set to src.url
  , branch ? null
  , stableVersion ? false # Use version format according to RFC 107 (i.e. LAST_TAG+date=YYYY-MM-DD)
  , tagPrefix ? "" # strip this prefix from a tag name when using stable version
  }:
  
  let
  