Add "jgit archive" tool that writes a tree as a ZIP file
C Git's "git archive" command represents a tree object using a
standard archival format like tar, zip, or tgz, ready for consumption
by other, git-unaware users or tools.
Add a bare-bones analagous "jgit archive" command to show what is
possible, supporting only ZIP format for now. It uses java.util.zip
which is not aware of the InfoZIP extensions for representing symlinks
and file permissions, so symlinks, executable files, and submodule
entries are represented as plain text files.
Making this functionality available from the library, improving
handling of special entries, and support for other output formats are
left for later patches. Ultimately the intent is to offer a
TreeArchiveStream class for use by web frontends like Gitiles to offer
"download as zip/tgz/txz" links and use by, for example, code search
tools to get easy access to the content of git tree objects.
Test with "jgit archive my-favorite-tree >out.zip".
Change-Id: Ib590f173ceff3df4b58493cecccd6b9a1b355e3d
11年前 Add "jgit archive" tool that writes a tree as a ZIP file
C Git's "git archive" command represents a tree object using a
standard archival format like tar, zip, or tgz, ready for consumption
by other, git-unaware users or tools.
Add a bare-bones analagous "jgit archive" command to show what is
possible, supporting only ZIP format for now. It uses java.util.zip
which is not aware of the InfoZIP extensions for representing symlinks
and file permissions, so symlinks, executable files, and submodule
entries are represented as plain text files.
Making this functionality available from the library, improving
handling of special entries, and support for other output formats are
left for later patches. Ultimately the intent is to offer a
TreeArchiveStream class for use by web frontends like Gitiles to offer
"download as zip/tgz/txz" links and use by, for example, code search
tools to get easy access to the content of git tree objects.
Test with "jgit archive my-favorite-tree >out.zip".
Change-Id: Ib590f173ceff3df4b58493cecccd6b9a1b355e3d
11年前 |
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392 |
- #
- # Messages with format elements ({0}) are processed using java.text.MessageFormat.
- # Exceptions are the usage_* and meta_-messages which are processed through
- # annotations in Args4j.
- #
- # default meta variable defined in the org.kohsuke.args4j.spi.StringOptionHandler
- VAL=VAL
- # default meta variable defined in the org.kohsuke.args4j.spi.StopOptionHandler
- ARGUMENTS=ARGUMENTS
- # default meta variable defined in the org.kohsuke.args4j.spi.OneArgumentOptionHandler
- N=N
-
- alreadyOnBranch=Already on ''{0}''
- alreadyUpToDate=Already up-to-date.
- answerNo=n
- answerYes=y
- authorInfo=Author: {0} <{1}>
- averageMSPerRead=average {0} ms/read
- branchAlreadyExists=A branch named ''{0}'' already exists.
- branchCreatedFrom=branch: Created from {0}
- branchDetachedHEAD=detached HEAD
- branchIsNotAnAncestorOfYourCurrentHEAD=The branch ''{0}'' is not an ancestor of your current HEAD.\nIf you are sure you want to delete it, run ''jgit branch -D {0}''.
- branchNameRequired=branch name required
- branchNotFound=branch ''{0}'' not found.
- cacheTreePathInfo="{0}": {1} entries, {2} children
- cannotBeRenamed={0} cannot be renamed
- cannotChekoutNoHeadsAdvertisedByRemote=cannot checkout; no HEAD advertised by remote
- cannotCombineSquashWithNoff=You cannot combine --squash with --no-ff.
- cannotCreateCommand=Cannot create command {0}
- cannotCreateOutputStream=cannot create output stream
- cannotDeatchHEAD=Cannot detach HEAD
- cannotDeleteFile=error: The following file could not be deleted:
- cannotDeleteTheBranchWhichYouAreCurrentlyOn=Cannot delete the branch ''{0}'' which you are currently on.
- cannotGuessLocalNameFrom=cannot guess local name from {0}
- cannotLock=Cannot lock {0}
- cannotMergeDetachedHead=Cannot merge into detached HEAD
- cannotReadBecause=cannot read {0}: {1}
- cannotReadPackageInformation=Cannot read package information.
- cannotRenameDetachedHEAD=Cannot rename detached HEAD
- cannotResolve=Cannot resolve {0}
- cannotSetupConsole=Cannot setup console
- cannotUseObjectsWithGlog=Cannot use --objects with glog
- cantFindGitDirectory=error: can't find git directory
- cantWrite=Can''t write {0}
- changesNotStagedForCommit=Changes not staged for commit:
- changesToBeCommitted=Changes to be committed:
- checkoutConflict=error: Your local changes to the following files would be overwritten by checkout:
- checkoutConflictPathLine=\t{0}
- clonedEmptyRepository=warning: You appear to have cloned an empty repository.
- cloningInto=Cloning into ''{0}''...
- commitLabel=commit
- configFileNotFound=configuration file {0} not found
- conflictingUsageOf_git_dir_andArguments=conflicting usage of --git-dir and arguments
- couldNotCreateBranch=Could not create branch {0}: {1}
- dateInfo=Date: {0}
- deletedBranch=Deleted branch {0}
- deletedRemoteBranch=Deleted remote branch {0}
- doesNotExist={0} does not exist
- dontOverwriteLocalChanges=error: Your local changes to the following file would be overwritten by merge:
- everythingUpToDate=Everything up-to-date
- expectedNumberOfbytes=Expected {0} bytes.
- exporting=Exporting {0}
- failedToCommitIndex=failed to commit index
- failedToLockIndex=failed to lock index
- failedToLockTag=Failed to lock tag {0}: {1}
- fatalError=fatal: {0}
- fatalThisProgramWillDestroyTheRepository=fatal: This program will destroy the repository\nfatal:\nfatal:\nfatal: {0}\nfatal:\nfatal: To continue, add {1} to the command line\nfatal:
- fileIsRequired=argument file is required
- ffNotPossibleAborting=Not possible to fast-forward, aborting.
- forcedUpdate=forced update
- fromURI=From {0}
- initializedEmptyGitRepositoryIn=Initialized empty Git repository in {0}
- invalidHttpProxyOnlyHttpSupported=Invalid http_proxy: {0}: Only http supported.
- jgitVersion=jgit version {0}
- lineFormat={0}
- listeningOn=Listening on {0}
- lfsNoAccessKey=No accessKey in {0}
- lfsNoSecretKey=No secretKey in {0}
- lfsProtocolUrl=LFS protocol URL: {0}
- lfsStoreDirectory=LFS objects stored in: {0}
- lfsStoreUrl=LFS store URL: {0}
- lfsUnknownStoreType="Unknown LFS store type: {0}"
- mergeConflict=CONFLICT(content): Merge conflict in {0}
- mergeCheckoutConflict=error: Your local changes to the following files would be overwritten by merge:
- mergeFailed=Automatic merge failed; fix conflicts and then commit the result
- mergeCheckoutFailed=Please, commit your changes or stash them before you can merge.
- mergeMadeBy=Merge made by the ''{0}'' strategy.
- mergedSquashed=Squash commit -- not updating HEAD
- mergeWentWellStoppedBeforeCommitting=Automatic merge went well; stopped before committing as requested
- metaVar_DAG=DAG
- metaVar_KEY=KEY
- metaVar_archiveFormat=format
- metaVar_archivePrefix=prefix/
- metaVar_arg=ARG
- metaVar_author=AUTHOR
- metaVar_base=base
- metaVar_blameL=START,END
- metaVar_blameReverse=START..END
- metaVar_branchAndStartPoint=branch [start-name]
- metaVar_branchName=branch
- metaVar_branchNames=branch ...
- metaVar_bucket=BUCKET
- metaVar_command=command
- metaVar_commandDetail=DETAIL
- metaVar_commitish=commit-ish
- metaVar_commitOrTag=COMMIT|TAG
- metaVar_commitPaths=paths
- metaVar_configFile=FILE
- metaVar_connProp=conn.prop
- metaVar_diffAlg=ALGORITHM
- metaVar_directory=DIRECTORY
- metaVar_file=FILE
- metaVar_filepattern=filepattern
- metaVar_gitDir=GIT_DIR
- metaVar_hostName=HOSTNAME
- metaVar_lfsStorage=STORAGE
- metaVar_linesOfContext=lines
- metaVar_message=message
- metaVar_n=n
- metaVar_name=name
- metaVar_object=object
- metaVar_oldNewBranchNames=[oldbranch] newbranch
- metaVar_op=OP
- metaVar_pass=PASS
- metaVar_path=path
- metaVar_paths=path ...
- metaVar_port=PORT
- metaVar_ref=REF
- metaVar_refs=REFS
- metaVar_refspec=refspec
- metaVar_remoteName=name
- metaVar_revision=REVISION
- metaVar_s3Bucket=BUCKET
- metaVar_s3Region=REGION
- metaVar_s3StorageClass=STORAGE-CLASS
- metaVar_seconds=SECONDS
- metaVar_service=SERVICE
- metaVar_treeish=tree-ish
- metaVar_uriish=uri-ish
- metaVar_url=URL
- metaVar_user=USER
- metaVar_values=value ...
- metaVar_version=VERSION
- mostCommonlyUsedCommandsAre=The most commonly used commands are:
- needApprovalToDestroyCurrentRepository=Need approval to destroy current repository
- needSingleRevision=Needed a single revision
- noGitRepositoryConfigured=No Git repository configured.
- noNamesFound=No names found, cannot describe anything.
- noSuchFile=no such file: {0}
- noSuchRemoteRef=no such remote ref: ''{0}''
- noSystemConsoleAvailable=No System.console available
- noTREESectionInIndex=no 'TREE' section in index
- nonFastForward=non-fast forward
- notABranch={0} is not a branch
- notACommit={0} is not a commit
- notAGitRepository=''{0}'' not a git repository
- notAJgitCommand={0} is not a jgit command
- notARevision=Not a revision: {0}
- notATree={0} is not a tree
- notAValidRefName={0} is not a valid ref name
- notAValidCommitName={0} is not a valid commit name
- notAnIndexFile={0} is not an index file
- notAnObject={0} is not an object
- notFound=!! NOT FOUND !!
- noteObjectTooLargeToPrint=Note object {0} too large to print
- nothingToSquash=\ (nothing to squash)
- notOnAnyBranch=Not currently on any branch.
- onBranch=On branch {0}
- onBranchToBeBorn=You are on a branch yet to be born
- onlyOneMetaVarExpectedIn=Only one {0} expected in {1}.
- onlyOneOfIncludeOnlyAllInteractiveCanBeUsed=Only one of --include/--only/--all/--interactive can be used.
- password=Password:
- pathspecDidNotMatch=error: pathspec ''{0}'' did not match any file(s) known to git.
- pushTo=To {0}
- pathsRequired=at least one path has to be specified when using --only
- refDoesNotExistOrNoCommit={0} does not exist or is not referring to a commit
- remoteMessage=remote: {0}
- remoteRefObjectChangedIsNotExpectedOne=remote ref object changed - is not expected one {0}
- remoteSideDoesNotSupportDeletingRefs=remote side does not support deleting refs
- repaint=Repaint
- s3InvalidBucket=Invalid S3 bucket ''{0}''
- serviceNotSupported=Service ''{0}'' not supported
- skippingObject=skipping {0} {1}
- statusFileListFormat=\t%1$s
- statusFileListFormatWithPrefix=\t%1$-11s %2$s
- statusFileListFormatUnmerged=\t%1$-20s%2$s
- statusModified=modified:
- statusNewFile=new file:
- statusRemoved=deleted:
- statusBothDeleted=both deleted:
- statusAddedByUs=added by us:
- statusDeletedByThem=deleted by them:
- statusAddedByThem=added by them:
- statusDeletedByUs=deleted by us:
- statusBothAdded=both added:
- statusBothModified=both modified:
- switchedToNewBranch=Switched to a new branch ''{0}''
- switchedToBranch=Switched to branch ''{0}''
- tagAlreadyExists=tag ''{0}'' already exists
- tagLabel=tag
- taggerInfo=Tagger: {0} <{1}>
- timeInMilliSeconds={0} ms
- treeIsRequired=argument tree is required
- tooManyRefsGiven=Too many refs given
- unknownIoErrorStdout=An unknown I/O error occurred on standard output
- unknownMergeStrategy=unknown merge strategy {0} specified
- unknownSubcommand=Unknown subcommand: {0}
- unmergedPaths=Unmerged paths:
- unsupportedOperation=Unsupported operation: {0}
- untrackedFiles=Untracked files:
- updating=Updating {0}..{1}
- usage_Aggressive=This option will cause gc to more aggressively optimize the repository at the expense of taking much more time
- usage_bareClone=Make a bare Git repository. That is, instead of creating [DIRECTORY] and placing the administrative files in [DIRECTORY]/.git, make the [DIRECTORY] itself the $GIT_DIR.
- usage_Blame=Show what revision and author last modified each line
- usage_CommandLineClientForamazonsS3Service=Command line client for Amazon's S3 service
- usage_CommitAll=commit all modified and deleted files
- usage_CommitAuthor=Override the author name used in the commit. You can use the standard A U Thor <author@example.com> format.
- usage_CommitMessage=Use the given <msg> as the commit message
- usage_CommitOnly=commit specified paths only
- usage_CommitAmend=Amend the tip of the current branch
- usage_CommitPaths=see --only
- usage_CreateABareRepository=Create a bare repository
- usage_CreateATag=Create a tag
- usage_CreateAnEmptyGitRepository=Create an empty git repository
- usage_Describe=Show the most recent tag that is reachable from a commit
- usage_DiffAlgorithms=Test performance of jgit's diff algorithms
- usage_DisplayTheVersionOfJgit=Display the version of jgit
- usage_Gc=Cleanup unnecessary files and optimize the local repository
- usage_Glog=View commit history as a graph
- usage_IndexPack=Build pack index file for an existing packed archive
- usage_LFSDirectory=Directory to store large objects
- usage_LFSPort=Server http port
- usage_LFSRunStore=Store (fs | s3), store lfs objects in file system or Amazon S3
- usage_LFSStoreUrl=URL of the LFS store
- usage_LongFormat=Always output the long format
- usage_LsRemote=List references in a remote repository
- usage_lsRemoteHeads=Show only refs starting with refs/heads
- usage_lsRemoteTags=Show only refs starting with refs/tags
- usage_LsTree=List the contents of a tree object
- usage_MakeCacheTree=Show the current cache tree structure
- usage_MergeBase=Find as good common ancestors as possible for a merge
- usage_MergesTwoDevelopmentHistories=Merges two development histories
- usage_ReadDirCache= Read the DirCache 100 times
- usage_RebuildCommitGraph=Recreate a repository from another one's commit graph
- usage_RebuildRefTree=Copy references into a RefTree
- usage_RebuildRefTreeEnable=set extensions.refsStorage = reftree
- usage_Remote=Manage set of tracked repositories
- usage_RepositoryToReadFrom=Repository to read from
- usage_RepositoryToReceiveInto=Repository to receive into
- usage_RevList=List commit objects in reverse chronological order
- usage_RevParse=Pick out and massage parameters
- usage_RevParseAll=Show all refs found in refs/
- usage_S3Bucket=S3 bucket name
- usage_S3Expiration=Authorization validity in seconds, default 60 sec
- usage_S3Region=S3 region (us-east-1 | us-west-1 | us-west-2 | eu-west-1 |\
- eu-central-1 | ap-southeast-1 | ap- southeast-2 | ap-northeast-1 |\
- ap-northeast-2 | sa-east-1), see http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
- usage_S3StorageClass=S3 storage class (REDUCED_REDUNDANCY | STANDARD), default REDUCED_REDUNDANCY
- usage_ServerSideBackendForJgitFetch=Server side backend for 'jgit fetch'
- usage_ServerSideBackendForJgitPush=Server side backend for 'jgit push'
- usage_ShowCacheTree=Show cache tree
- usage_ShowDiffs=Show diffs
- usage_ShowDiffTree=Compare the content and mode of blobs found via two tree objects
- usage_ShowDirCache= Show the DirCache
- usage_ShowPackDelta=Show pack delta for given object
- usage_ShowRef=List references in a local repository
- usage_Status=Show the working tree status
- usage_StopTrackingAFile=Stop tracking a file
- usage_TextHashFunctions=Scan repository to compute maximum number of collisions for hash functions
- usage_UpdateRemoteRepositoryFromLocalRefs=Update remote repository from local refs
- usage_WriteDirCache=Write the DirCache
- usage_abbrevCommits=abbreviate commits to N + 1 digits
- usage_abortConnectionIfNoActivity=abort connection if no activity
- usage_actOnRemoteTrackingBranches=act on remote-tracking branches
- usage_addFileContentsToTheIndex=Add file contents to the index
- usage_alterTheDetailShown=alter the detail shown
- usage_approveDestructionOfRepository=approve destruction of repository
- usage_archive=zip up files from the named tree
- usage_archiveFormat=archive format. Currently supported formats: 'tar', 'zip', 'tgz', 'tbz2', 'txz'
- usage_archiveOutput=output file to write the archive to
- usage_archivePrefix=string to prepend to each pathname in the archive
- usage_baseUri=the base URI of the repo manifest file. e.g. https://android.googlesource.com/platform/
- usage_blameLongRevision=show long revision
- usage_blameRange=annotate only the given range
- usage_blameRawTimestamp=show raw timestamp
- usage_blameReverse=show origin of deletions instead of insertions
- usage_blameShowBlankBoundary=show blank SHA-1 for boundary commits
- usage_blameShowEmail=show author email instead of name
- usage_blameShowRoot=do not treat root commits as boundaries
- usage_blameShowSourceLine=show source line number
- usage_blameShowSourcePath=show source filename
- usage_blameSuppressAuthor=do not show author name and timestamp
- usage_beMoreVerbose=be more verbose
- usage_beVerbose=be verbose
- usage_cached=compare against index
- usage_checkout=Checkout a branch to the working tree
- usage_cloneRepositoryIntoNewDir=Clone a repository into a new directory
- usage_configFile=configuration file
- usage_configGlobal=use global configuration in ~/.gitconfig
- usage_configList=List all variables set in config file
- usage_configLocal=use local configuration in .git/config
- usage_configSystem=use system-wide configuration in $(prefix)/etc/gitconfig
- usage_configureTheServiceInDaemonServicename=configure the service in daemon.servicename
- usage_createBranchAndCheckout=create branch and checkout
- usage_deleteBranchEvenIfNotMerged=delete branch (even if not merged)
- usage_deleteFullyMergedBranch=delete fully merged branch
- usage_date=date format, one of default, rfc, local, iso, short, raw (as defined by git-log(1) ), locale or localelocal (jgit extensions)
- usage_detectRenames=detect renamed files
- usage_diffAlgorithm=the diff algorithm to use. Currently supported are: 'myers', 'histogram'
- usage_directoriesToExport=directories to export
- usage_disableTheServiceInAllRepositories=disable the service in all repositories
- usage_displayAListOfAllRegisteredJgitCommands=Display a list of all registered jgit commands
- usage_displayAllPossibleMergeBases=display all possible merge bases
- usage_displayThejavaStackTraceOnExceptions=display the Java stack trace on exceptions
- usage_displayThisHelpText=display this help text
- usage_displayVersion=display jgit version
- usage_dstPrefix=show the destination prefix instead of "b/"
- usage_enableTheServiceInAllRepositories=enable the service in all repositories
- usage_exportRepositoriesOverGit=Export repositories over git://
- usage_exportWithoutGitDaemonExportOk=export without git-daemon-export-ok
- usage_fetchThinPack=fetch thin pack
- usage_filesToAddContentFrom=Files to add content from
- usage_fixAThinPackToBeComplete=fix a thin pack to be complete
- usage_forEachRefOutput=for-each-ref output
- usage_forceCheckout=when switching branches, proceed even if the index or the working tree differs from HEAD
- usage_forceCreateBranchEvenExists=force create branch even exists
- usage_forceReplacingAnExistingTag=force replacing an existing tag
- usage_getAndSetOptions=Get and set repository or global options
- usage_groups=Restrict manifest projects to ones with specified group(s), use "-" for excluding [default|all|G1,G2,G3|G4,-G5,-G6]
- usage_hostnameOrIpToListenOn=hostname (or ip) to listen on
- usage_indexFileFormatToCreate=index file format to create
- usage_ignoreWhitespace=ignore all whitespace
- usage_inputOutputFile=Input/output file
- usage_listBothRemoteTrackingAndLocalBranches=list both remote-tracking and local branches
- usage_listCreateOrDeleteBranches=List, create, or delete branches
- usage_logAllPretty=format:%H %ct %P' output=log --all '--pretty=format:%H %ct %P' output
- usage_machineReadableOutput=machine-readable output
- usage_manageReflogInformation=Manage reflog information
- usage_mergeFf=When the merge resolves as a fast-forward, only update the branch pointer, without creating a merge commit.
- usage_mergeNoFf=Create a merge commit even when the merge resolves as a fast-forward.
- usage_mergeFfOnly=Refuse to merge and exit with a non-zero status unless the current HEAD is already up-to-date or the merge can be resolved as a fast-forward.
- usage_mergeRef=Ref to be merged
- usage_mergeStrategy=Use the given merge strategy. Can be supplied more than once to specify them in the order they should be tried. If there is no -s option, the recursive strategy is used. Currently the following strategies are supported: ours, theirs, simple-two-way-in-core, resolve, recursive
- usage_message=Set the commit message to be used for the merge commit (in case one is created).
- usage_moveRenameABranch=move/rename a branch
- usage_nameStatus=show only name and status of files
- usage_noCheckoutAfterClone=no checkout of HEAD is performed after the clone is complete
- usage_noCommit=Don't commit after a successful merge
- usage_noPrefix=do not show any source or destination prefix
- usage_noRenames=disable rename detection
- usage_noShowStandardNotes=Disable showing notes from the standard /refs/notes/commits branch
- usage_onlyMatchAgainstAlreadyTrackedFiles=Only match <filepattern> against already tracked files in the index rather than the working tree
- usage_outputFile=Output file
- usage_parseRepoManifest=Parse a repo manifest file and add submodules
- usage_path=path
- usage_pathToXml=path to the repo manifest XML file
- usage_performFsckStyleChecksOnReceive=perform fsck style checks on receive
- usage_portNumberToListenOn=port number to listen on
- usage_printOnlyBranchesThatContainTheCommit=print only branches that contain the commit
- usage_pruneStaleTrackingRefs=prune stale tracking refs
- usage_pushUrls=push URLs are manipulated
- usage_quiet=don't show progress messages
- usage_recordChangesToRepository=Record changes to the repository
- usage_recurseIntoSubtrees=recurse into subtrees
- usage_renameLimit=limit size of rename matrix
- usage_reset=Reset current HEAD to the specified state
- usage_resetReference=Reset to given reference name
- usage_resetHard=Resets the index and working tree
- usage_resetSoft=Resets without touching the index file nor the working tree
- usage_resetMixed=Resets the index but not the working tree
- usage_runLfsStore=Run LFS Store in a given directory
- usage_S3NoSslVerify=Skip verification of Amazon server certificate and hostname
- usage_setTheGitRepositoryToOperateOn=set the git repository to operate on
- usage_show=display one commit
- usage_showRefNamesMatchingCommits=Show ref names matching commits
- usage_showPatch=display patch
- usage_showNotes=Add this ref to the list of note branches from which notes are displayed
- usage_showTimeInMilliseconds=Show mtime in milliseconds
- usage_squash=Squash commits as if a real merge happened, but do not make a commit or move the HEAD.
- usage_srcPrefix=show the source prefix instead of "a/"
- usage_symbolicVersionForTheProject=Symbolic version for the project
- usage_tags=fetch all tags
- usage_notags=do not fetch tags
- usage_tagMessage=tag message
- usage_untrackedFilesMode=show untracked files
- usage_updateRef=reference to update
- usage_updateRemoteRefsFromAnotherRepository=Update remote refs from another repository
- usage_useNameInsteadOfOriginToTrackUpstream=use <name> instead of 'origin' to track upstream
- usage_checkoutBranchAfterClone=checkout named branch instead of remotes's HEAD
- usage_viewCommitHistory=View commit history
- usage_orphan=Create a new orphan branch. The first commit made on this new branch will have no parents amd it will be the root of a new history totally disconnected from other branches and commits.
- usernameFor=Username for {0}:
|