#!/bin/bash #============================================================================== # Copyright and license info is available in the LICENSE file included with # the Server Deployment Package (SDP), and also available online: # https://workshop.perforce.com/view/p4-sdp/main/LICENSE #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # Version ID Block. Relies on +k filetype modifier. # VersionID='$Id: //p4-sdp/dev_rebrand/Server/Unix/p4/common/bin/log_functions.sh#3 $ $Change: 31617 $' #============================================================================== # This library contains runctions related to handling log files. #------------------------------------------------------------------------------ # Function: get_old_log_timestamp ($log) # # Get the last modified timestamp of the old log in a cross-platform manner. # If we don't get a correct value using 'stat' (which varies across the # UNIX/Linux/MacOSX spectrum), use the current time as a fallback. In that # case, the timestamp will reflect the time the log was moved rather than when # it was last modified, but that's still reasonable. The file timestamp will # still have the correct last-modified time. #------------------------------------------------------------------------------ function get_old_log_timestamp () { local log=${1:-} local oldLogTimestamp= [[ -n "$log" ]] || return if [[ "$(uname -s)" == "Darwin" ]]; then oldLogTimestamp=$(stat -L -f %Sm -t '%Y-%m-%d-%H%M%S' "$log" 2>/dev/null) else oldLogTimestamp="$(stat -L -c '%10y' "$log" | sed -e 's@[.].*$@@g' -e 's@:@@g' -e 's@ @-@g')" fi [[ "$oldLogTimestamp" =~ ^[2-9]{1}[0-9]{3}- ]] || oldLogTimestamp=$(date +'%Y-%m-%d-%H%M%S') echo "$oldLogTimestamp" }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#3 | 31617 | C. Thomas Tyler | Merged work from dev_c2s (development) stream to sibling dev_rebrand (sparsedev) stream. | ||
#2 | 31615 | C. Thomas Tyler |
First pass at rebranding changes, including: * Changes to remove 'swarm.' from Workshop URLS, so swarm.workshop -> workshop. * Changed URL for Copyright. * Renamed get_helix_binaries.sh -> get_p4_binaries.sh, with associated directory and doc changes. * Accounted for rename of HAS -> P4AS. * Changed HMS references to P4MS. * Replaced "Helix" and "Helix Core" references. * Renamed variables to reduce tech debt buildup induced by rebranding. * Changed default mount points: /hxdepots[-1,N] -> /p4depots[-1,N] /hxmetadata[1,2] -> /p4db[-1,2] /hxlogs -> /p4logs Also made some changes related to rebranding going out with r25.1. |
||
#1 | 31591 | C. Thomas Tyler | Populate stream //p4-sdp/dev_rebrand from //p4-sdp/dev. | ||
//p4-sdp/dev/Server/Unix/p4/common/bin/log_functions.sh | |||||
#1 | 31397 | C. Thomas Tyler | Populate -b SDP_Classic_to_Streams -s //guest/perforce_software/sdp/...@31368. | ||
//guest/perforce_software/sdp/dev/Server/Unix/p4/common/bin/log_functions.sh | |||||
#1 | 29992 | C. Thomas Tyler |
p4verify.sh: Added support for handling the 'trait' depot (new in 2023.2). Refactored get_old_log_timestamp() function, moving it from backup_functions.sh into new log_functions.sh file. #review-29993 |