@@ -91,14 +91,20 @@ GDALManageAppOptionsGetParser(GDALManageOptions *psOptions)
9191 " for the gdalmanage utility "
9292 " https://gdal.org/programs/gdalmanage.html" ));
9393
94- auto addCommonOptions = [psOptions](GDALArgumentParser *subParser)
94+ auto addCommonOptions =
95+ [psOptions](GDALArgumentParser *subParser, const char *helpMessageSrc)
9596 {
9697 subParser->add_argument (" -f" )
9798 .metavar (" <format>" )
9899 .store_into (psOptions->osDriverName )
99100 .help (_ (" Specify format of raster file if unknown by the "
100101 " application." ));
101102
103+ subParser->add_argument (" datasetname" )
104+ .metavar (" <datasetname>" )
105+ .store_into (psOptions->osDatasetName )
106+ .help (helpMessageSrc);
107+
102108 subParser->add_argument (" newdatasetname" )
103109 .metavar (" <newdatasetname>" )
104110 .store_into (psOptions->osNewName )
@@ -141,25 +147,15 @@ GDALManageAppOptionsGetParser(GDALManageOptions *psOptions)
141147 copyParser->add_description (
142148 _ (" Create a copy of the raster file with a new name." ));
143149
144- addCommonOptions (copyParser);
145-
146- copyParser->add_argument (" datasetname" )
147- .metavar (" <datasetname>" )
148- .store_into (psOptions->osDatasetName )
149- .help (_ (" Name of the file to copy." ));
150+ addCommonOptions (copyParser, _ (" Name of the file to copy." ));
150151
151152 // Rename
152153
153154 auto renameParser =
154155 argParser->add_subparser (" rename" , /* bForBinary */ true );
155156 renameParser->add_description (_ (" Change the name of the raster file." ));
156157
157- addCommonOptions (renameParser);
158-
159- renameParser->add_argument (" datasetname" )
160- .metavar (" <datasetname>" )
161- .store_into (psOptions->osDatasetName )
162- .help (_ (" Name of the file to rename." ));
158+ addCommonOptions (renameParser, _ (" Name of the file to rename." ));
163159
164160 // Delete
165161
@@ -274,13 +270,13 @@ MAIN_START(argc, argv)
274270 }
275271 else if (argParser->is_subcommand_used (" copy" ))
276272 {
277- GDALCopyDatasetFiles (hDriver, psOptions.osDatasetName .c_str (),
278- psOptions.osNewName .c_str ());
273+ GDALCopyDatasetFiles (hDriver, psOptions.osNewName .c_str (),
274+ psOptions.osDatasetName .c_str ());
279275 }
280276 else if (argParser->is_subcommand_used (" rename" ))
281277 {
282- GDALRenameDataset (hDriver, psOptions.osDatasetName .c_str (),
283- psOptions.osNewName .c_str ());
278+ GDALRenameDataset (hDriver, psOptions.osNewName .c_str (),
279+ psOptions.osDatasetName .c_str ());
284280 }
285281 else if (argParser->is_subcommand_used (" delete" ))
286282 {
0 commit comments