You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Michael Semb Wever (Jira)" <ji...@apache.org> on 2022/07/21 13:54:00 UTC
[jira] [Comment Edited] (CASSANDRA-17753) Include GitSHA in nodetool version output
[ https://issues.apache.org/jira/browse/CASSANDRA-17753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17569423#comment-17569423 ]
Michael Semb Wever edited comment on CASSANDRA-17753 at 7/21/22 1:53 PM:
-------------------------------------------------------------------------
I'm good with the PR, and was about to commit, but on some final testing I have another question to raise…
If we build the source when it's not a git clone, for example one of our officially voted on release tarballs, the build output gets quick noisy…
```
get-git-sha:
[exec] fatal: not a git repository (or any of the parent directories): .git
[exec] Result: 128
[echo] git.sha=
[exec] warning: Not a git repository. Use --no-index to compare two paths outside a working tree
[exec] usage: git diff --no-index [<options>] <path> <path>
[exec]
[exec] Diff output format options
[exec] -p, --patch generate patch
[exec] -s, --no-patch suppress diff output
[exec] -u generate patch
[exec] -U, --unified[=<n>] generate diffs with <n> lines context
[exec] -W, --function-context
[exec] generate diffs with <n> lines context
[exec] --raw generate the diff in raw format
[exec] --patch-with-raw synonym for '-p --raw'
[exec] --patch-with-stat synonym for '-p --stat'
[exec] --numstat machine friendly --stat
[exec] --shortstat output only the last line of --stat
[exec] -X, --dirstat[=<param1,param2>...]
[exec] output the distribution of relative amount of changes for each sub-directory
[exec] --cumulative synonym for --dirstat=cumulative
[exec] --dirstat-by-file[=<param1,param2>...]
[exec] synonym for --dirstat=files,param1,param2...
[exec] --check warn if changes introduce conflict markers or whitespace errors
[exec] --summary condensed summary such as creations, renames and mode changes
[exec] --name-only show only names of changed files
[exec] --name-status show only names and status of changed files
[exec] --stat[=<width>[,<name-width>[,<count>]]]
[exec] generate diffstat
[exec] --stat-width <width> generate diffstat with a given width
[exec] --stat-name-width <width>
[exec] generate diffstat with a given name width
[exec] --stat-graph-width <width>
[exec] generate diffstat with a given graph width
[exec] --stat-count <count> generate diffstat with limited lines
[exec] --compact-summary generate compact summary in diffstat
[exec] --binary output a binary diff that can be applied
[exec] --full-index show full pre- and post-image object names on the "index" lines
[exec] --color[=<when>] show colored diff
[exec] --ws-error-highlight <kind>
[exec] highlight whitespace errors in the 'context', 'old' or 'new' lines in the diff
[exec] -z do not munge pathnames and use NULs as output field terminators in --raw or --numstat
[exec] --abbrev[=<n>] use <n> digits to display object names
[exec] --src-prefix <prefix>
[exec] show the given source prefix instead of "a/"
[exec] --dst-prefix <prefix>
[exec] show the given destination prefix instead of "b/"
[exec] --line-prefix <prefix>
[exec] prepend an additional prefix to every line of output
[exec] --no-prefix do not show any source or destination prefix
[exec] --inter-hunk-context <n>
[exec] show context between diff hunks up to the specified number of lines
[exec] --output-indicator-new <char>
[exec] specify the character to indicate a new line instead of '+'
[exec] --output-indicator-old <char>
[exec] specify the character to indicate an old line instead of '-'
[exec] --output-indicator-context <char>
[exec] specify the character to indicate a context instead of ' '
[exec]
[exec] Diff rename options
[exec] -B, --break-rewrites[=<n>[/<m>]]
[exec] break complete rewrite changes into pairs of delete and create
[exec] -M, --find-renames[=<n>]
[exec] detect renames
[exec] -D, --irreversible-delete
[exec] omit the preimage for deletes
[exec] -C, --find-copies[=<n>]
[exec] detect copies
[exec] --find-copies-harder use unmodified files as source to find copies
[exec] --no-renames disable rename detection
[exec] --rename-empty use empty blobs as rename source
[exec] --follow continue listing the history of a file beyond renames
[exec] -l <n> prevent rename/copy detection if the number of rename/copy targets exceeds given limit
[exec]
[exec] Diff algorithm options
[exec] --minimal produce the smallest possible diff
[exec] -w, --ignore-all-space
[exec] ignore whitespace when comparing lines
[exec] -b, --ignore-space-change
[exec] ignore changes in amount of whitespace
[exec] --ignore-space-at-eol
[exec] ignore changes in whitespace at EOL
[exec] --ignore-cr-at-eol ignore carrier-return at the end of line
[exec] --ignore-blank-lines ignore changes whose lines are all blank
[exec] -I, --ignore-matching-lines <regex>
[exec] ignore changes whose all lines match <regex>
[exec] --indent-heuristic heuristic to shift diff hunk boundaries for easy reading
[exec] --patience generate diff using the "patience diff" algorithm
[exec] --histogram generate diff using the "histogram diff" algorithm
[exec] --diff-algorithm <algorithm>
[exec] choose a diff algorithm
[exec] --anchored <text> generate diff using the "anchored diff" algorithm
[exec] --word-diff[=<mode>] show word diff, using <mode> to delimit changed words
[exec] --word-diff-regex <regex>
[exec] use <regex> to decide what a word is
[exec] --color-words[=<regex>]
[exec] equivalent to --word-diff=color --word-diff-regex=<regex>
[exec] --color-moved[=<mode>]
[exec] moved lines of code are colored differently
[exec] --color-moved-ws <mode>
[exec] how white spaces are ignored in --color-moved
[exec]
[exec] Other diff options
[exec] --relative[=<prefix>]
[exec] when run from subdir, exclude changes outside and show relative paths
[exec] -a, --text treat all files as text
[exec] -R swap two inputs, reverse the diff
[exec] --exit-code exit with 1 if there were differences, 0 otherwise
[exec] --quiet disable all output of the program
[exec] --ext-diff allow an external diff helper to be executed
[exec] --textconv run external text conversion filters when comparing binary files
[exec] --ignore-submodules[=<when>]
[exec] ignore changes to submodules in the diff generation
[exec] --submodule[=<format>]
[exec] specify how differences in submodules are shown
[exec] --ita-invisible-in-index
[exec] hide 'git add -N' entries from the index
[exec] --ita-visible-in-index
[exec] treat 'git add -N' entries as real in the index
[exec] -S <string> look for differences that change the number of occurrences of the specified string
[exec] -G <regex> look for differences that change the number of occurrences of the specified regex
[exec] --pickaxe-all show all changes in the changeset with -S or -G
[exec] --pickaxe-regex treat <string> in -S as extended POSIX regular expression
[exec] -O <file> control the order in which files appear in the output
[exec] --rotate-to <path> show the change in the specified path first
[exec] --skip-to <path> skip the output to the specified path
[exec] --find-object <object-id>
[exec] look for differences that change the number of occurrences of the specified object
[exec] --diff-filter [(A|C|D|M|R|T|U|X|B)...[*]]
[exec] select files by diff type
[exec] --output <file> output to a specific file
[exec]
[exec] Result: 129
```
and in the `config/version.properties` file the GitSHA is blank.
Are we ok with this? (it's fine by me, but maybe [~aratnofsky] you're keen to address it?)
That is, if someone downloads our official release, builds it and uses it, not only is the build containing the above noise, the output of `nodetool version -v` becomes
```
ReleaseVersion: 4.2-SNAPSHOT
GitSHA:
```
was (Author: michaelsembwever):
I'm good with the PR, and was about to commit, but on some final testing I have another question to raise…
If we build the source when it's not a git clone, for example one of our officially voted on release tarballs, the build output gets quick noisy…
```
get-git-sha:
[exec] fatal: not a git repository (or any of the parent directories): .git
[exec] Result: 128
[echo] git.sha=
[exec] warning: Not a git repository. Use --no-index to compare two paths outside a working tree
[exec] usage: git diff --no-index [<options>] <path> <path>
[exec]
[exec] Diff output format options
[exec] -p, --patch generate patch
[exec] -s, --no-patch suppress diff output
[exec] -u generate patch
[exec] -U, --unified[=<n>] generate diffs with <n> lines context
[exec] -W, --function-context
[exec] generate diffs with <n> lines context
[exec] --raw generate the diff in raw format
[exec] --patch-with-raw synonym for '-p --raw'
[exec] --patch-with-stat synonym for '-p --stat'
[exec] --numstat machine friendly --stat
[exec] --shortstat output only the last line of --stat
[exec] -X, --dirstat[=<param1,param2>...]
[exec] output the distribution of relative amount of changes for each sub-directory
[exec] --cumulative synonym for --dirstat=cumulative
[exec] --dirstat-by-file[=<param1,param2>...]
[exec] synonym for --dirstat=files,param1,param2...
[exec] --check warn if changes introduce conflict markers or whitespace errors
[exec] --summary condensed summary such as creations, renames and mode changes
[exec] --name-only show only names of changed files
[exec] --name-status show only names and status of changed files
[exec] --stat[=<width>[,<name-width>[,<count>]]]
[exec] generate diffstat
[exec] --stat-width <width> generate diffstat with a given width
[exec] --stat-name-width <width>
[exec] generate diffstat with a given name width
[exec] --stat-graph-width <width>
[exec] generate diffstat with a given graph width
[exec] --stat-count <count> generate diffstat with limited lines
[exec] --compact-summary generate compact summary in diffstat
[exec] --binary output a binary diff that can be applied
[exec] --full-index show full pre- and post-image object names on the "index" lines
[exec] --color[=<when>] show colored diff
[exec] --ws-error-highlight <kind>
[exec] highlight whitespace errors in the 'context', 'old' or 'new' lines in the diff
[exec] -z do not munge pathnames and use NULs as output field terminators in --raw or --numstat
[exec] --abbrev[=<n>] use <n> digits to display object names
[exec] --src-prefix <prefix>
[exec] show the given source prefix instead of "a/"
[exec] --dst-prefix <prefix>
[exec] show the given destination prefix instead of "b/"
[exec] --line-prefix <prefix>
[exec] prepend an additional prefix to every line of output
[exec] --no-prefix do not show any source or destination prefix
[exec] --inter-hunk-context <n>
[exec] show context between diff hunks up to the specified number of lines
[exec] --output-indicator-new <char>
[exec] specify the character to indicate a new line instead of '+'
[exec] --output-indicator-old <char>
[exec] specify the character to indicate an old line instead of '-'
[exec] --output-indicator-context <char>
[exec] specify the character to indicate a context instead of ' '
[exec]
[exec] Diff rename options
[exec] -B, --break-rewrites[=<n>[/<m>]]
[exec] break complete rewrite changes into pairs of delete and create
[exec] -M, --find-renames[=<n>]
[exec] detect renames
[exec] -D, --irreversible-delete
[exec] omit the preimage for deletes
[exec] -C, --find-copies[=<n>]
[exec] detect copies
[exec] --find-copies-harder use unmodified files as source to find copies
[exec] --no-renames disable rename detection
[exec] --rename-empty use empty blobs as rename source
[exec] --follow continue listing the history of a file beyond renames
[exec] -l <n> prevent rename/copy detection if the number of rename/copy targets exceeds given limit
[exec]
[exec] Diff algorithm options
[exec] --minimal produce the smallest possible diff
[exec] -w, --ignore-all-space
[exec] ignore whitespace when comparing lines
[exec] -b, --ignore-space-change
[exec] ignore changes in amount of whitespace
[exec] --ignore-space-at-eol
[exec] ignore changes in whitespace at EOL
[exec] --ignore-cr-at-eol ignore carrier-return at the end of line
[exec] --ignore-blank-lines ignore changes whose lines are all blank
[exec] -I, --ignore-matching-lines <regex>
[exec] ignore changes whose all lines match <regex>
[exec] --indent-heuristic heuristic to shift diff hunk boundaries for easy reading
[exec] --patience generate diff using the "patience diff" algorithm
[exec] --histogram generate diff using the "histogram diff" algorithm
[exec] --diff-algorithm <algorithm>
[exec] choose a diff algorithm
[exec] --anchored <text> generate diff using the "anchored diff" algorithm
[exec] --word-diff[=<mode>] show word diff, using <mode> to delimit changed words
[exec] --word-diff-regex <regex>
[exec] use <regex> to decide what a word is
[exec] --color-words[=<regex>]
[exec] equivalent to --word-diff=color --word-diff-regex=<regex>
[exec] --color-moved[=<mode>]
[exec] moved lines of code are colored differently
[exec] --color-moved-ws <mode>
[exec] how white spaces are ignored in --color-moved
[exec]
[exec] Other diff options
[exec] --relative[=<prefix>]
[exec] when run from subdir, exclude changes outside and show relative paths
[exec] -a, --text treat all files as text
[exec] -R swap two inputs, reverse the diff
[exec] --exit-code exit with 1 if there were differences, 0 otherwise
[exec] --quiet disable all output of the program
[exec] --ext-diff allow an external diff helper to be executed
[exec] --textconv run external text conversion filters when comparing binary files
[exec] --ignore-submodules[=<when>]
[exec] ignore changes to submodules in the diff generation
[exec] --submodule[=<format>]
[exec] specify how differences in submodules are shown
[exec] --ita-invisible-in-index
[exec] hide 'git add -N' entries from the index
[exec] --ita-visible-in-index
[exec] treat 'git add -N' entries as real in the index
[exec] -S <string> look for differences that change the number of occurrences of the specified string
[exec] -G <regex> look for differences that change the number of occurrences of the specified regex
[exec] --pickaxe-all show all changes in the changeset with -S or -G
[exec] --pickaxe-regex treat <string> in -S as extended POSIX regular expression
[exec] -O <file> control the order in which files appear in the output
[exec] --rotate-to <path> show the change in the specified path first
[exec] --skip-to <path> skip the output to the specified path
[exec] --find-object <object-id>
[exec] look for differences that change the number of occurrences of the specified object
[exec] --diff-filter [(A|C|D|M|R|T|U|X|B)...[*]]
[exec] select files by diff type
[exec] --output <file> output to a specific file
[exec]
[exec] Result: 129
```
and in the `config/version.properties` file the GitSHA is blank.
Are we ok with this? (it's fine by me, but maybe [~aratnofsky] you're keen to address it?)
> Include GitSHA in nodetool version output
> -----------------------------------------
>
> Key: CASSANDRA-17753
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17753
> Project: Cassandra
> Issue Type: New Feature
> Components: Tool/nodetool
> Reporter: Abe Ratnofsky
> Assignee: Abe Ratnofsky
> Priority: Normal
> Fix For: 4.x
>
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> It can be useful to see specifically which Git SHA a running instance of Cassandra was built with, especially when running clusters in development for soak testing.
>
> I have a patch ready for this, and am preparing it now.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org