mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-21 18:44:30 -07:00
Introduce optional gitCommitInfo as app-wide metadata.
This change adds an optional `gitCommitInfo` string to the app state, which, if set by the GET_COMMIT_INFO environment variable when the application is launched, will be displayed in the /about section. The `start.sh` and `build_package.sh` scripts set `GET_COMMIT_INFO` to the most recent git commit's short hash if known, appending the string "(local modifications)" if additional changes are detected beyond that point.
This commit is contained in:
@@ -68,12 +68,14 @@ async function main() {
|
||||
const readUpResult = await readPackageUp({ cwd: __dirname });
|
||||
const cliVersion =
|
||||
process.env.CLI_VERSION || readUpResult?.packageJson.version || 'unknown';
|
||||
const gitCommitInfo = process.env.GIT_COMMIT_INFO || 'N/A';
|
||||
|
||||
render(
|
||||
React.createElement(App, {
|
||||
config,
|
||||
settings,
|
||||
cliVersion,
|
||||
gitCommitInfo,
|
||||
startupWarnings,
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -50,6 +50,7 @@ interface AppProps {
|
||||
config: Config;
|
||||
settings: LoadedSettings;
|
||||
cliVersion: string;
|
||||
gitCommitInfo?: string;
|
||||
startupWarnings?: string[];
|
||||
}
|
||||
|
||||
@@ -57,6 +58,7 @@ export const App = ({
|
||||
config,
|
||||
settings,
|
||||
cliVersion,
|
||||
gitCommitInfo: _gitCommitInfo,
|
||||
startupWarnings = [],
|
||||
}: AppProps) => {
|
||||
const { history, addItem, clearItems } = useHistory();
|
||||
|
||||
@@ -13,6 +13,7 @@ interface AboutBoxProps {
|
||||
osVersion: string;
|
||||
sandboxEnv: string;
|
||||
modelVersion: string;
|
||||
gitCommitInfo?: string;
|
||||
}
|
||||
|
||||
export const AboutBox: React.FC<AboutBoxProps> = ({
|
||||
@@ -20,6 +21,7 @@ export const AboutBox: React.FC<AboutBoxProps> = ({
|
||||
osVersion,
|
||||
sandboxEnv,
|
||||
modelVersion,
|
||||
gitCommitInfo,
|
||||
}) => (
|
||||
<Box
|
||||
borderStyle="round"
|
||||
@@ -44,6 +46,18 @@ export const AboutBox: React.FC<AboutBoxProps> = ({
|
||||
<Text>{cliVersion}</Text>
|
||||
</Box>
|
||||
</Box>
|
||||
{gitCommitInfo && gitCommitInfo !== 'N/A' && (
|
||||
<Box flexDirection="row">
|
||||
<Box width="35%">
|
||||
<Text bold color={Colors.LightBlue}>
|
||||
Git Commit
|
||||
</Text>
|
||||
</Box>
|
||||
<Box>
|
||||
<Text>{gitCommitInfo}</Text>
|
||||
</Box>
|
||||
</Box>
|
||||
)}
|
||||
<Box flexDirection="row">
|
||||
<Box width="35%">
|
||||
<Text bold color={Colors.LightBlue}>
|
||||
|
||||
@@ -53,6 +53,7 @@ export const HistoryItemDisplay: React.FC<HistoryItemDisplayProps> = ({
|
||||
osVersion={item.osVersion}
|
||||
sandboxEnv={item.sandboxEnv}
|
||||
modelVersion={item.modelVersion}
|
||||
gitCommitInfo={item.gitCommitInfo} // Added this line
|
||||
/>
|
||||
)}
|
||||
{item.type === 'tool_group' && (
|
||||
|
||||
@@ -56,6 +56,7 @@ export const useSlashCommandProcessor = (
|
||||
osVersion: message.osVersion,
|
||||
sandboxEnv: message.sandboxEnv,
|
||||
modelVersion: message.modelVersion,
|
||||
gitCommitInfo: message.gitCommitInfo, // Added this line
|
||||
};
|
||||
} else {
|
||||
historyItemContent = {
|
||||
@@ -176,6 +177,7 @@ export const useSlashCommandProcessor = (
|
||||
sandboxEnv = `sandbox-exec (${process.env.SEATBELT_PROFILE || 'unknown'})`;
|
||||
}
|
||||
const modelVersion = config?.getModel() || 'Unknown';
|
||||
const gitCommitInfo = process.env.GIT_COMMIT_INFO || 'N/A';
|
||||
|
||||
addMessage({
|
||||
type: MessageType.ABOUT,
|
||||
@@ -184,6 +186,7 @@ export const useSlashCommandProcessor = (
|
||||
osVersion,
|
||||
sandboxEnv,
|
||||
modelVersion,
|
||||
gitCommitInfo,
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@@ -86,6 +86,7 @@ export type HistoryItemAbout = HistoryItemBase & {
|
||||
osVersion: string;
|
||||
sandboxEnv: string;
|
||||
modelVersion: string;
|
||||
gitCommitInfo?: string;
|
||||
};
|
||||
|
||||
export type HistoryItemToolGroup = HistoryItemBase & {
|
||||
@@ -137,6 +138,7 @@ export type Message =
|
||||
osVersion: string;
|
||||
sandboxEnv: string;
|
||||
modelVersion: string;
|
||||
gitCommitInfo?: string;
|
||||
content?: string; // Optional content, not really used for ABOUT
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user